webdriver的斷言使用 css
操做(action)、輔助(accessors)和斷言(assertion): web
操做action: 瀏覽器
模擬用戶與 Web 應用程序的交互。通常用於操做應用程序的狀態。 服務器
如點擊連接,選擇選項的方式進行工做。若是一個動做執行失敗,或是有錯誤,當前的測試將會中止執行。 工具
操做中常見命令有:open(打開頁面) 測試
click(點擊) this
clickAndWait(點擊並等待) get
type(文本類型) input
select(選擇下拉菜單) it
selectWindow(選擇彈出窗口)
pause(等待指定時間,以毫秒爲單位,即要睡眠的時間)
setSpeed(設定執行速度。以毫秒延遲間隔長度。默認沒有延遲,即爲0)
setTimeout(指定等待動做完成的等待時間。默認爲30秒。
須要等待的動做包括了OPEN 和WAITFOR)
goBack(模擬用戶點擊其瀏覽器上的「back」按鈕)
close(模擬用戶點擊彈出窗體或表單標題欄上的」關閉」按鈕)
click與clickAndWait的區別:
例如對比錄製腳本:
Comand Target
click css=input[type=submit] //句一
clickAndWait css=input[type=submiit] //句二
轉成PHPUNIT後代碼爲:
$this->click(「css=input[type=submit]「); //此句對應上面的 句一
$this->click(「css=input[type=submit]「); //此句和下一句,對應上面的 句二
$this->waitForPageToLoad(「30000″);
區別在於:clickAndWait後會有一個默認的頁面等待時間爲30秒;而click沒有等待時間;
Andwait這個後綴,告訴咱們,該命令將使瀏覽器向服務器產生一個請求,使Selenium等待加載一個新的頁面。
輔助accessors:
這是輔助工具。用於檢查應用程序的狀態並將結果存儲到變量中。
如:storeElementPresent(locator,variableName)
其中參數:locator 表示元素定位器;variableName 用於存儲結果的變量名。
即將locator定位到的狀態存儲到variableName變量中。
若是該元素出現返回true,不然返回false
可同斷言一同使用。
斷言assertion:
驗證應用程序的狀態是否同所指望的一致。
常見的斷言包括:驗證頁面內容,如標題是否爲X或當前位置是否正確,或是驗證該複選框是否被勾選。
斷言被用於三種模式: assert 、verify、waitfor
Assert 失敗時,該測試將終止。
Verify 失敗時,該測試將繼續執行,並將錯誤記入日顯示屏 。也就是說容許此單個 驗證經過。確保應用程序在正確的頁面上。
Waitfor用於等待某些條件變爲真。可用於AJAX應用程序的測試。
若是該條件爲真,他們將當即成功執行。若是該條件不爲真,則將失敗並暫停測試。直到超過當前所設定的超時時間。 通常跟setTimeout時間一塊兒用
斷言經常使用的有:
assertLocation(判斷當前是在正確的頁面)、
assertTitle(檢查當前頁面的title是否正確)、
assertValue(檢查input的值, checkbox或radio,有值爲」on」無爲」off」)、
assertSelected(檢查select的下拉菜單中選中是否正確)、
assertSelectedOptions(檢查下拉菜單中的選項的是否正確)、
assertText(檢查指定元素的文本)、
assertTextPresent(檢查在當前給用戶顯示的頁面上是否有出現指定的文本)、
assertTextNotPresent(檢查在當前給用戶顯示的頁面上是否沒有出現指定的文本)、
assertAttribute(檢查當前指定元素的屬性的值)、
assertTable(檢查table裏的某個cell中的值)、
assertEditable(檢查指定的input是否能夠編輯)、
assertNotEditable(檢查指定的input是否不能夠編輯)、
assertAlert(檢查是否有產生帶指定message的alert對話框)、
waitForElementPresent (等待檢驗某元素的存在。爲真時,則執行。)