Selenium IDE 事件
Selenium IDE 會在其使用過程中發送事件,以通知外掛程式播放狀態或記錄狀態。
事件 要求 與動作要求非常類似。
事件要求
{
action: "event",
event: "recordingStarted",
options: {
event specific keys...
}
}
動作-事件,表示要執行的動作是事件。事件- 該事件的唯一識別碼。選項- 包含有關該事件資訊的 JavaScript 物件。
回應事件
有些事件僅供通知,表示 Selenium IDE 不會讓您有機會停止它來進行運算,而有些 Selenium IDE 可以等待,請參閱事件清單以供參考。
回應事件就像任何請求一樣,請參閱接收請求。
在回應事件時,有幾個需要留意的陷阱。有關詳細資訊,請參閱回應事件時的邊界案例。
事件清單
Selenium IDE 發出的事件清單。
系統事件
projectLoaded
每次使用者載入新的專案檔案時都會觸發的事件。
注意: Selenium IDE 不會等待此事件。
選項
projectName- 已載入專案的名稱projectId- 已載入專案的 ID
記錄事件
recordingStarted, recordingStopped
每次使用者開始或結束記錄其動作時都會彈出的事件。
注意: Selenium IDE 不會等待此事件。
選項
testName- 錄製命令的測試。
commandRecorded
當指令被記錄時會彈出的事件。
注意: Selenium IDE 將會等待此事件。
選項
tabId- 記錄指令的標籤的標籤 ID。command- 記錄的指令。target- 記錄的目標。targets- 所有記錄目標及其策略的選用清單。value- 記錄的值。
播放事件
playbackStarted, playbackStopped
當測試案例開始或結束執行時會彈出的事件。
注意:Selenium IDE 將等待這些事件。
選項
runId- 此測試執行階段的唯一識別碼。testId- 此測試案例的唯一識別碼(在不同執行階段之間持續存在)。testName- 正在執行的測試名稱。suiteName- 選擇性,正在執行的套件名稱(僅在作為套件一部分執行時定義)。projectName- 目前專案的名稱。
suitePlaybackStarted
在測試套件開始執行時彈出的事件。
注意: Selenium IDE 將會等待此事件。
選項
runId- 此測試執行階段的唯一識別碼。suiteName- 正在執行的套件名稱。projectName- 目前專案的名稱。
suitePlaybackStopped
測試套件執行完畢時會觸發的事件。
注意: Selenium IDE 不會等待此事件。
選項
runId- 此測試執行階段的唯一識別碼。suiteName- 正在執行的套件名稱。projectName- 目前專案的名稱。
Selenium IDE 不會在停止事件上等待(與開始事件不同),這是為了防止使用者感覺 IDE 已凍結,您仍可以執行您的終止程式碼,因為後續的測試執行會有不同的 runId。
注意:套件事件會在一般測試案例事件之外觸發。
回應事件時的臨界狀況
回應事件時沒有任何動作
如果您的外掛程式回應事件,且您的程式碼中沒有任何動作,請務必在這種情況下sendResponse(undefined)。
回應事件時使用非同步程式碼
如果您的外掛程式回應事件並執行非同步程式碼,請務必在非同步封閉之外return true。
有關詳細資訊,請參閱非同步請求。
