selenium:斷言


在編寫自動化測試腳本時,為了使“機器”去自動辨識test case的執行結果是True還是False,一般都需要在用例執行過程中獲取一些信息,來判斷用例的執行時成功還是失敗。

判斷成功失敗與否,就涉及到斷言。webdriver的斷言使用有三種模式:操作(action)、輔助(accessors)、斷言(assertion)。

 

1、操作(action)

模擬用戶與Web應用程序的交互,一般用於操作應用程序的狀態;

如點擊鏈接,選擇選項的方式進行工作;如果一個動作執行失敗,或是有錯誤,當前的測試將會停止執行。

常見命令如下:

open(打開頁面)

click(點擊)

clickAndWait(點擊並等待)

type(文本類型)

select(選擇下拉菜單)

selectWindow(選擇彈出窗口)

pause(等待指定時間,以毫秒為單位,即要睡眠的時間)

setSpeed(設定執行速度。以毫秒延遲間隔長度。默認沒有延遲,即為0)

setTimeout(指定等待動作完成的等待時間。默認為30秒,需要等待的動作包括了OPEN 和WAITFOR)

goBack(模擬用戶點擊其瀏覽器上的“back”按鈕)

close(模擬用戶點擊彈出窗體或表單標題欄上的”關閉”按鈕)

 

2、輔助(accessors)

輔助工具,用於檢查應用程序的狀態並將結果存儲到變量中;

如:storeElementPresent(locator,variableName)

其中參數locator表示元素定位器,variableName用於存儲結果的變量名;

即將locator定位到的狀態存儲到variableName變量中,如果該元素出現返回true,否則返回false,可同斷言一同使用。

 

3、斷言(assertion)

驗證應用程序的狀態是否同所期望的一致。

常見的斷言包括:驗證頁面內容,如標題是否為X或當前位置是否正確,或是驗證該復選框是否被勾選。

常用斷言如下:

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 (等待檢驗某元素的存在,為真時,則執行)

使用斷言的注意點:

①不要使用斷言作為公共方法的參數檢查,公共方法的參數永遠都要執行;

②斷言語句不可以有任何邊界效應,不要使用斷言語句去修改變量和改變方法的返回值;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM