基本介紹:
Selenium工具專門為WEB應(yīng)用程序編寫的一個驗收測試工具。
Selenium的核心:browser bot,是用JAVASCRIPT編寫的。
Selenium工具有4種:Selenium IDE, Selenium Control, Selenium Core
這兒我們主要總結(jié)了Selenium-IDE工具
Selenium-IDE只限于firefox瀏覽器中使用。
?
Selenium 命令分成三類:
操作(action) 、輔助(accessors) 和斷言(assertion) :
操作action :
模擬用戶與 Web 應(yīng)用程序的交互。一般用于操作應(yīng)用程序的狀態(tài)。
如點(diǎn)擊鏈接,選擇選項的方式進(jìn)行工作。如果一個動作執(zhí)行失敗,或是有錯誤,當(dāng)前的測試將會停止執(zhí)行。
操作中常見命令有 :open(打開頁面)
click(點(diǎn)擊)
clickAndWait(點(diǎn)擊并等待)
type(文本類型)
select(選擇下拉菜單)
selectWindow(選擇彈出窗口)
pause(等待指定時間,以毫秒為單位,即要睡眠的時間)
setSpeed(設(shè)定執(zhí)行速度。以毫秒延遲間隔長度。默認(rèn)沒有延遲,即為0)
setTimeout(指定等待動作完成的等待時間。默認(rèn)為30秒。
需要等待的動作包括了OPEN 和WAITFOR)
goBack(模擬用戶點(diǎn)擊其瀏覽器上的“back”按鈕)
close(模擬用戶點(diǎn)擊彈出窗體或表單標(biāo)題欄上的”關(guān)閉”按鈕)
click與clickAndWait的區(qū)別:
例如對比錄制腳本:
Comand?????? Target
click???????? ????? css=input[type=submit]??????????? //句一
clickAndWait?? css=input[type=submiit]?????????? //句二
轉(zhuǎn)成PHPUNIT后代碼為:
$this->click(“css=input[type=submit]“);???????? //此句對應(yīng)上面的 句一
$this->click(“css=input[type=submit]“);?????? ??//此句和下一句,對應(yīng)上面的 句二
$this->waitForPageToLoad(“30000″);
區(qū)別在于:clickAndWait后會有一個默認(rèn)的頁面等待時間為30秒;而click沒有等待時間;
Andwait這個后綴,告訴我們,該命令將使瀏覽器向服務(wù)器產(chǎn)生一個請求,使Selenium等待加載一個新的頁面。
?
輔助accessors :
這是輔助工具。用于檢查應(yīng)用程序的狀態(tài)并將結(jié)果存儲到變量中。
如:storeElementPresent(locator,variableName)
其中參數(shù):locator 表示元素定位器;variableName 用于存儲結(jié)果的變量名。
即將locator定位到的狀態(tài)存儲到variableName變量中。
如果該元素出現(xiàn)返回true,否則返回false
可同斷言一同使用。
?
斷言assertion :
驗證應(yīng)用程序的狀態(tài)是否同所期望的一致。
常見的斷言包括:驗證頁面內(nèi)容,如標(biāo)題是否為X或當(dāng)前位置是否正確,或是驗證該復(fù)選框是否被勾選。
?
斷言被用于三種模式: assert 、verify 、waitfor
Assert 失敗時,該測試將終止。
Verify 失敗時,該測試將繼續(xù)執(zhí)行,并將錯誤記入日顯示屏。也就是說允許此單個?驗證通過。確保應(yīng)用程序在正確的頁面上。
Waitfor用于等待某些條件變?yōu)檎妗?捎糜贏JAX應(yīng)用程序的測試。
如果該條件為真,他們將立即成功執(zhí)行。如果該條件不為真,則將失敗并暫停測試。直到超過當(dāng)前所設(shè)定的超時時間。?一般跟setTimeout時間一起用
?
斷言常用的有 :
assertLocation(判斷當(dāng)前是在正確的頁面)、
assertTitle(檢查當(dāng)前頁面的title是否正確)、
assertValue(檢查input的值, checkbox或radio,有值為”on”無為”off”)、
assertSelected(檢查select的下拉菜單中選中是否正確)、
assertSelectedOptions(檢查下拉菜單中的選項的是否正確)、
assertText(檢查指定元素的文本)、
assertTextPresent(檢查在當(dāng)前給用戶顯示的頁面上是否有出現(xiàn)指定的文本)、
assertTextNotPresent(檢查在當(dāng)前給用戶顯示的頁面上是否沒有出現(xiàn)指定的文本)、
assertAttribute(檢查當(dāng)前指定元素的屬性的值)、
assertTable(檢查table里的某個cell中的值)、
assertEditable(檢查指定的input是否可以編輯)、
assertNotEditable(檢查指定的input是否不可以編輯)、
assertAlert(檢查是否有產(chǎn)生帶指定message的alert對話框)、
waitForElementPresent (等待檢驗?zāi)吃氐拇嬖凇檎鏁r,則執(zhí)行。)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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