點擊這裡下載所有範例
錄製時自動產生的指令
在網頁上按右鍵產生的指令
可手動鍵入的指令
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
clickAt | A locator | 作用於目標元素上的x,y座標。例如:10,10 。若無填入座標則代表一個單純的點擊 |
滑鼠點擊目標元素 |
doubleClickAt | A locator | 作用於目標元素上的x,y座標。例如:10,10 。若無填入座標則代表一個單純的雙點擊 |
雙點擊目標元素 |
mouseDownAt | A locator | 作用於目標元素上的x,y座標。例如:10,10 |
向目標元素送出一個mouseDown事件 |
mouseMoveAt | A locator | 包含一連串滑鼠移動的JSON字串 | 向目標元素送出一連串的mouseMove事件。Value欄位值例如:{\"Movements\":[{\"TD\":8,\"OX\":-2,\"OY\":0},{\"TD\":16,\"OX\":-4,\"OY\":1},{\"TD\":16,\"OX\":-5,\"OY\":1}]} ,TD為與前一個Movement的時間間隔,OX與OY為與前一個Movement座標的位移。0,0 座標 |
mouseOut | A locator | N/A | 向Target元素送出一個mouseOut事件 |
mouseOver | A locator | 作用於目標元素上的x,y座標。例如:10,10 |
向Target元素送出一個mouseOver事件 |
mouseUpAt | A locator | 作用於目標元素上的x,y座標。例如:10,10 |
向Target元素送出一個mouseUp事件 |
dragAndDrop | A locator (被拖曳的元素) | 包含滑鼠起始位置與一連串移動的JSON字串 | 拖曳元素並放置於特定座標。例如:{"StartPoint":{"X":92,"Y":31},"Movements":[{"TD":8,"OX":-2,"OY":0},{"TD":16,"OX":-4,"OY":1},{"TD":16,"OX":-5,"OY":1}]} ,TD為與前一個Movement的時間間隔,OX與OY為與前一個Movement座標的位移 |
dragAndDropToObject | A locator (被拖曳的元素) | A locator (放置的目標元素) | 拖曳元素並放置於某特定目標元素 |
changeCaretPosition | A locator (Content-Editable目標元素) | {"N":節點順序,"O":文字位移} |
於一個Rich Text Editor內移動游標位置,例如:{"N":0,"O":5} ,代表移動游標至第0個節點(Node)的第5個字後 |
scrollWheel | A locator | 一個JSON字串,包含滑鼠滾輪作用起始位置與一連串的滾輪事件 | 在目標元素上滾動滑鼠滾輪。例如 {\"StartPoint\":{\"X\":92,\"Y\":31},\"Delta\":[{\"TD\":0,\"X\":0,\"Y\":-100,\"Z\":0,\"M\":0},{\"TD\":8,\"X\":0,\"Y\":-100,\"Z\":0,\"M\":0},{\"TD\":6,\"X\":0,\"Y\":100,\"Z\":0,\"M\":0} ,TD為與前一個Movement的時間間隔,X、Y、Z與M分別為DeltaX、DeltaY、DeltaZ以及滾輪事件的deltaMode |
rightClickAt | A locator | 目標元素上的x,y座標(例如10,10 ) |
於目標元素上按右鍵 |
blur | A locator | N/A | 讓目標元素失去焦點 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
sendKeys | A locator | 一個字串或一個特殊鍵擊(例如${KEY_DOWN} ) |
鍵入一個字串或一個特殊鍵擊至目標元素,目標元素須為下列型態之一:text 、password 、email 、url 、search 、tel 與number 。特殊鍵擊可為下列型態之一:${KEY_BACKSPACE}, ${KEY_ENTER} 、${KEY_ENTER_NOPRESS} 、${KEY_LEFT} 、${KEY_UP} 、${KEY_RIGHT} 與${KEY_DOWN} |
submit | A locator (表單元素) | N/A | 送出表單。建議使用錄製功能來自動產生此指令 |
type | A locator | 字串 | 更改目標元素的值。目標元素須為下列型態之一:color 、date 、datetime-local 、month 、range 、time 與week . |
editContent | A locator (Content-Editable目標元素) | 字串 | 將字串填入一個Content-Editable目標元素(其屬性contenteditable="true" ) |
addSelection | A locator (多選選單) | label=選項值 |
於多選選單中新增一個選項選擇 |
removeSelection | A locator (多選選單) | label=選項值 |
於多選選單中移除一個選項選擇 |
select | A locator (單選下拉式選單) | label=選項值 |
於單選下拉式選單上選擇一個選項 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
assertAlert | Alert視窗上預期的文字 | N/A | 驗證Alert視窗上的文字是否符合預期 |
assertConfirmation | Confirmation視窗上預期的文字 | N/A | 驗證Confirmation視窗上的文字是否符合預期 |
chooseOkOnNextConfirmation | N/A | N/A | 在Confirmation視窗上選擇Ok 。建議使用錄製功能來自動產生此指令 |
chooseCancelOnNextConfirmation | N/A | N/A | 在Confirmation視窗上選擇Cancel 。建議使用錄製功能來自動產生此指令 |
assertPrompt | Prompt視窗上預期的文字 | N/A | 驗證Prompt視窗上的文字是否符合預期 |
answerOnNextPrompt | 下個Prompt視窗上欲設定的文字 | N/A | 於下個Prompt視窗上設定文字。建議使用錄製功能來自動產生此指令 |
chooseCancelOnNextPrompt | N/A | N/A | 在下個Prompt視窗上選擇Cancel 。 建議使用錄製功能來自動產生此指令 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
open | A URL | N/A | 開啟一個網頁 |
setViewportSize | N/A | 瀏覽器Viewport寬度與高度。例如:1080,720 . |
設定瀏覽器Viewport大小。注意:執行此指令時將嘗試改變瀏覽器視窗大小來調整出所指定的Viewport大小,由於不同瀏覽器的實作限制,有時無法調整出符合指定的大小,並將此指令標示為黃色警告狀態。 |
selectWindow | 自動產生 | N/A | 選擇目標視窗。建議使用錄製功能來自動產生此指令 |
selectFrame | index=i (選擇第i個Frame,i由0開始)relative=parent (選擇父層Frame)relative=top (選擇最上層Frame) |
N/A | 選擇目標Frame。建議使用錄製功能來自動產生此指令 |
close | 自動產生 | N/A | 關閉目標Window。建議使用錄製功能來自動產生此指令 |
onsubmit | A locator (表單元素) | N/A | 向表單元素送出onsubmit事件。建議使用錄製功能來自動產生此指令 |
setCSS | A locator | CSS style字串 | 設定目標元素的CSS。例如:background-color: rgb(237, 238, 238); text-decoration: none solid rgb(102, 0, 51); |
scrollTo | A locator | 作用於目標元素滾動條上的x,y座標。例如:50,100 |
滾動目標元素到指定位置。當手動指定目標元素時,點擊目標元素上的滾動條即可得到目標元素與其正確位置 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
assertText | A locator | 預期的字串(Exact matching) | 驗證目標元素的文字是否為預期的字串,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Value欄位可使用變數 |
assertTextRegex | A locator | 正規表示式(例如:ab+c ) |
驗證目標元素的文字是否符合預期的正規表示式字串,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Value欄位可使用變數 |
assertTitle | 預期的網頁標頭字串(Exact matching) | N/A | 驗證網頁標頭文字是否符合預期的字串,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Target欄位可使用變數 |
assertValue | A locator | 預期的字串(Exact matching) | 驗證Input型態之目標元素的value 屬性值是否為預期的字串,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Value欄位可使用變數 |
assertVisibility | A locator | N/A | 驗證目標元素是否可見,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。若目標元素為全透明、隱藏或部分被遮蔽,驗證結果將被視為失敗。 |
assertTooltip | A locator | 預期的字串(Exact matching) | 驗證目標元素的tooltip(即為title 屬性值)是否為預期的字串,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Value欄位可使用變數 |
assertIsPassword | A locator | N/A | 驗證目標元素是否為一個<input> 元素,並且包含type="password" 屬性,當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例 |
A locator | N/A | 驗證目標元素是否於網頁上呈現(註:若目標元素出現在網頁DOM,即便在視覺上不可見,亦被判定為呈現)。當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。 | |
assertPresence | A locator | N/A | 驗證目標元素是否於網頁上呈現(註:若目標元素出現在網頁DOM,即便在視覺上不可見,亦被判定為呈現)。當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
verifyText | A locator | 預期的字串(Exact matching) | 驗證目標元素的文字是否為預期的字串,即使驗證失敗,下個指令將仍接續被執行。此外,Value欄位可使用變數 |
verifyTextRegex | A locator | 正規表示式(例如:ab+c ) |
驗證目標元素的文字是否符合預期的正規表示式字串,即使驗證失敗,下個指令將仍接續被執行。此外,Value欄位可使用變數 |
verifyTitle | 預期的網頁標頭字串(Exact matching) | N/A | 驗證網頁標頭文字是否符合預期的字串,即使驗證失敗,下個指令將仍接續被執行。此外,Target欄位可使用變數 |
verifyValue | A locator | 預期的字串(Exact matching) | 驗證Input型態之目標元素的value 屬性值是否為預期的字串,即使驗證失敗,下個指令將仍接續被執行。此外,Value欄位可使用變數 |
verifyVisibility | A locator | N/A | 驗證目標元素是否可見,即使驗證失敗,下個指令將仍接續被執行。若目標元素為全透明、隱藏或部分被遮蔽,驗證結果將被視為失敗 |
verifyTooltip | A locator | 預期的字串(Exact matching) | 驗證目標元素的tooltip(即為title 屬性值)是否為預期的字串,即使驗證失敗,下個指令將仍接續被執行。此外,Value欄位可使用變數 |
verifyIsPassword | A locator | N/A | 驗證目標元素是否為一個<input> 元素,並且包含type="password" 屬性,即使驗證失敗,下個指令將仍接續被執行 |
A locator | N/A | 驗證目標元素是否於網頁上呈現(註:若目標元素出現在網頁DOM,即便在視覺上不可見,亦被判定為呈現)。即使驗證失敗,下個指令將仍接續被執行。 | |
verifyPresence | A locator | N/A | 驗證目標元素是否於網頁上呈現(註:若目標元素出現在網頁DOM,即便在視覺上不可見,亦被判定為呈現)。即使驗證失敗,下個指令將仍接續被執行。 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
store | 字串 | 區域變數名稱(例如:var_usr ) |
將目標字串儲存於一個區域變數,此區域變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_usr} 。注意:區域變數的使用範圍為同一個測試案例 |
storeGlobalVar | 字串 | 全域變數名稱(例如:var_usr ) |
將目標字串儲存於一個全域變數,此區域變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_usr} 。注意:全域變數的使用範圍可跨不同的測試案例,並必須事先被宣告於Global Var 頁籤畫面 |
storeEval | Javascript程式碼(例如:x=2; y=3; return z = Math.max(x,y); ,其執行結果為3 ) |
區域變數名稱(例如:var_result ) |
執行一段Javascript程式碼並將其執行結果儲存於一個區域變數中,此區域變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_result} |
storeText | A locator | 區域變數名稱(例如:var_ele_txt ) |
將目標元素的文字儲存於一個區域變數,此區域變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_ele_txt} |
storeTitle | N/A | 區域變數名稱(例如:var_title ) |
將網頁的標頭文字儲存於一個區域變數,此區域變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_title} |
storeValue | A locator | 區域變數名稱(例如:var_ele_value ) |
將一個Input型態之目標元素的value 屬性值儲存至一個區域變數,此變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_ele_value} |
storeTooltip | A locator | 區域變數名稱(例如:var_tooltip ) |
將一個目標元素的tooltip(即為title 屬性值)儲存至一個區域變數,此變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_tooltip} |
storeIsVisible | A locator | 區域變數名稱(例如:var_result ) |
將目標元素的可見狀態(true 或false )儲存至一個區域變數,此變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_result} |
storeElement | A locator | 區域變數名稱(例如:var_elem ) |
將目標元素儲存至一個區域變數。此變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_elem} 。目標元素的屬性亦可被引用,例如${var_elem.innerHTML} 。引用時須注意下列兩點:runScript 與storeEval 指令的Target 中引用時,並非字串取代,而是指向DOM中的目標元素,例如執行以下指令`runScript |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
waitForElementPresent | A locator | 至多等待時間(單位:毫秒;例如:5000 代表最多等待5秒驗證目標元素是否出現,此欄位若無值代表使用內定自動等待時間(10秒)) |
在等待時間內驗證目標元素是否於網頁上呈現(註:若目標元素出現在網頁DOM,即便在視覺上不可見,亦被判定為呈現)。例如:瀏覽到某網頁後,驗證5秒內訂閱按鈕是否出現。 |
waitForElementNotPresent | A locator | 至多等待時間(單位:毫秒;例如:5000 代表最多等待5秒驗證目標元素是否已從網頁上移除,此欄位若無值代表使用內定自動等待時間(10秒)) |
在等待時間內驗證目標元素是否於網頁上移除(註:若目標元素不在網頁DOM,才被判定為移除)。例如:點擊離開按鈕後,驗證5秒內廣告是否被移除。 |
waitForElementVisible | A locator | 至多等待時間(單位:毫秒;例如:5000 代表最多等待5秒驗證目標元素是否可見,此欄位若無值代表使用內定自動等待時間(10秒)) |
在等待時間內驗證目標元素是否於網頁上可見(註:目標元素為全透明、隱藏或部分被遮蔽,則被判定為不可見)。例如:點擊某按鈕後,驗證5秒內某元素的CSS屬性是否從視覺上隱藏變為視覺上可見。 |
waitForElementNotVisible | A locator | 至多等待時間(單位:毫秒;例如:5000 代表最多等待5秒驗證目標元素是否不可見,此欄位若無值代表使用內定自動等待時間(10秒)) |
在等待時間內驗證目標元素是否於網頁上不可見(註:目標元素為全透明、隱藏或部分被遮蔽,則被判定為不可見)。例如:點擊某按鈕後,驗證5秒內某元素的CSS屬性是否從視覺上可見變為視覺上隱藏。 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
captureScreen | N/A or a locator | N/A | 擷取網頁畫面。若Target欄位有給定一個目標元素,此元素將會於畫面中被標示出 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
IF | JavaScript程式碼,其執行結果須為Boolean型態 | N/A | 若Target欄位執行結果為true ,則執行其後續指令至ELSE/END指令為止。此外,Target欄位可使用變數,範例如下:\${var_num} == 100 "${var_name}" == "Guest" |
ELSE | N/A | N/A | 一個ELSE指令須與一個IF指令與一個END指令成對出現。目前尚未支援ELSE-IF指令 |
WHILE | JavaScript程式碼,其執行結果須為Boolean型態 | 最多迴圈數(無填值則表示無限制) | 執行WHILE與END間的指令,直到Target欄位執行結果為false 。此外,Target欄位可使用變數,範例如下:\${var_num} == 100 "${var_name}" == "Guest" |
TRY | N/A | N/A | 若TRY與CATCH間的任意指令執行錯誤時則執行CATCH與END間的指令。一個TRY指令須與一個CATCH指令與一個END指令成對出現 |
CATCH | N/A | N/A | 若TRY與CATCH間的任意指令執行錯誤時則執行CATCH與END間的指令。一個CATCH指令須與一個IF指令與一個END指令成對出現。 |
END | N/A | N/A | 與IF-ELSE/WHILE/TRY-CATCH成對出現 |
INCLUDE | 被引入的測試案例名稱(名稱格式:TestSuiteName.TestCaseName ;例如:Test Suite 1.Test Case 1 |
N/A | 引入並執行其他測試案例 |
COMMENT | 字串 | 字串 | 此指令可用於註解後續指令的語意,註解文字可填入Target或Value欄位,當測試案例執行時此指令將自動被忽略 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
assertCSS | A locator | 預期的CSS Rule-Set字串(例如:{"color":"rgb(255, 255, 255)"} ) |
驗證目標元素的CSS是否為預期的字串(基於getComputedStyle函式回傳字串進行比對)。當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Value欄位可使用變數 |
assertURL | A URL | N/A or 使用Fetch Request驗證URL所需之JSON字串(例如:{ "body": "{ \\"answer\\": 42 }", "cache": "no-cache", "credentials": "same-origin", "headers": { "user-agent": "Mozilla/4.0 MDN Example", "content-type": "application/json" }, "method": "POST", "mode": "cors", "redirect": "follow", "referrer": "no-referrer" } |
驗證此URL是否能正確回應,亦即其HTTP回傳狀態碼為200至299間。當驗證失敗時,測試案例將會停止執行並接續執行下個測試案例。此外,Value欄位可使用變數 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
verifyCSS | A locator | 預期的CSS Rule-Set字串(例如:{"color":"rgb(255, 255, 255)"} |
驗證目標元素的CSS是否為預期的字串(基於getComputedStyle函式回傳字串進行比對),即使驗證失敗,下個指令將仍接續被執行。此外,Value欄位可使用變數 |
verifyURL | A URL | N/A or 使用Fetch Request驗證URL所需之JSON字串(例如:{ "body": "{ \\"answer\\": 42 }", "cache": "no-cache", "credentials": "same-origin", "headers": { "user-agent": "Mozilla/4.0 MDN Example", "content-type": "application/json" }, "method": "POST", "mode": "cors", "redirect": "follow", "referrer": "no-referrer" } |
驗證此URL是否能正確回應,亦即其HTTP回傳狀態碼為200至299間。即使驗證失敗,下個指令將仍接續被執行。此外,Value欄位可使用變數 |
指令(Command) | 目標(Target) | 值(Value) | 說明 |
---|---|---|---|
setWindowSize | N/A | Window的寬度與高度。例如:1080,720 |
設定目標Window的大小 |
clearCookie | 網域名稱(包含http:// or https:// ) |
A cookie name or N/A | 清除目標網域名稱下特定的Cookie。如果Value欄位值為空,所有該目標網域名稱下所有的Cookie將會被清除 |
setCookie | 網域名稱(包含http:// or https:// ) |
Cookie names 和 values。例如: {"cookieName1":"cookieValue1", "xookieName2":"cookieValue2"} |
建立目標網域下的Cookies |
echo | Log上欲印出的字串(在字串間可使用storeXXX 系列指令的變數,例如:Hello ${var_usr} |
N/A | 於Log頁籤畫面上印出字串 |
pause | N/A | 一段暫停時間(單位:毫秒;例如:5000 代表暫停5秒) |
暫停一段時間 |
setSpeed | N/A | 1 , 2 , 3 , 4 , or 5 . 1 是最慢速,5 是最快速 |
變更播放的速度 |
runScript | Javascript程式碼(例如:var a=10; var b=10; console.log(a+b); ) |
至多等待時間(單位:毫秒;設置-1 代表等待至Javascript程式碼執行完畢,此欄位若無值代表使用內定自動等待時間) |
執行一段Javascript程式碼。注意:程式碼中避免使用alert() 、prompt() 、與confirm() ,這些函式將不會有效果,但可使用console.log() 來Log訊息 |
uploadFileFromURL | A locator | 檔案的URL | 用指定的URL附加一個檔案至一個元素(注意:此指令非支援上傳本地端檔案,請將檔案放置於網路可存取之處,並將其檔案URL填入Value欄位)。 播放時,若此目標元素為input元素且有type=file屬性,則onchange事件會被呼叫,否則ondrop事件會被呼叫。若檔案上傳的動作沒有在這些事件中處理,則其後記得使用submit指令來submit包含此元素的表單以完成檔案上傳。此指令僅於Chrome、Firefox與Edge上支援 |
storeElements | 目標 element 的 XPath 例如: //h1. | 區域變數名稱(例如:var_elem ) |
將多個目標元素儲存至一個區域變數。此變數可以在其他指令的Target與Value欄位透過${} 語法被使用,例如:${var_elem[i]} 。目標元素的屬性亦可被引用,例如 ${var_elem.length} 與${var_elem[i].innerHTML} |