基本介紹:
Selenium工具專門為WEB應用程序編寫的一個驗收測試工具。
Selenium的核心:browser bot,是用JAVASCRIPT編寫的。
Selenium工具有4種:Selenium IDE, Selenium Control, Selenium Core
這兒我們主要總結了Selenium-IDE工具
Selenium-IDE只限于firefox瀏覽器中使用。
?
Selenium 命令分成三類:
操作(action) 、輔助(accessors) 和斷言(assertion) :
操作action :
模擬用戶與 Web 應用程序的交互。一般用于操作應用程序的狀態。
如點擊鏈接,選擇選項的方式進行工作。如果一個動作執行失敗,或是有錯誤,當前的測試將會停止執行。
操作中常見命令有 :open(打開頁面)
click(點擊)
clickAndWait(點擊并等待)
type(文本類型)
select(選擇下拉菜單)
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用于等待某些條件變為真??捎糜贏JAX應用程序的測試。
如果該條件為真,他們將立即成功執行。如果該條件不為真,則將失敗并暫停測試。直到超過當前所設定的超時時間。?一般跟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 (等待檢驗某元素的存在。為真時,則執行。)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
