菜鳥學(xué)自動(dòng)化測(cè)試(四)----selenium 命令之驗(yàn)證頁面元素
根據(jù)上一節(jié)計(jì)劃,這里我們來學(xué)習(xí)一下如何驗(yàn)證頁面元素。
----//驗(yàn)證頁面元素
驗(yàn)證頁面上的UI元素,是你在自動(dòng)化測(cè)試案例過程中常用到的特性。Selenese通過各種方式驗(yàn)證UI元素。
舉例,你是否正在測(cè)試一下情況:
(1)一個(gè)UI元素存在于頁面上某個(gè)位置;
(2)特定文本存在于頁面上某個(gè)位置;
(3)特定文本存在于頁面上指定位置;
如果你要測(cè)試文本標(biāo)題,那么文本內(nèi)容和它所在的頁面頂部位置,測(cè)試案例都需要關(guān)心。如果你要測(cè)試主頁上的某個(gè)圖片,但是開發(fā)人員經(jīng)常改變圖片所在的位置,那么你只要測(cè)試特定圖片是否存在于頁面上某個(gè)位置行了。
1.assertion或者verification?
斷言(assertion)或者驗(yàn)證(verification)關(guān)系到如何管理“失敗”。斷言會(huì)使當(dāng)前案例運(yùn)行失敗,并終止案例執(zhí)行;驗(yàn)證也會(huì)使案例運(yùn)行失敗,但允許案例繼續(xù)執(zhí)行。
代碼說明:
我們打開selenium的下載頁面。驗(yàn)證代碼頁面中出現(xiàn)的“Downloads”文本標(biāo)記。
第二行(assertTitle)和第三行(verifyText)都是驗(yàn)證頁面時(shí)候有“Downloads”,但如果第二行出現(xiàn)錯(cuò)誤,則程序終止運(yùn)行。第三行出現(xiàn)錯(cuò)誤,給出錯(cuò)誤提示,但不影響第四行程序的運(yùn)行。
2.verifyTextPresent命令
代碼說明:
打開淘寶網(wǎng)首頁,搜索框輸入“手機(jī)”關(guān)鍵字,點(diǎn)擊搜索按鈕。我們?cè)谒阉骱蟮捻撁嬷袡z查時(shí)候有“手機(jī)”文字。
verifyTextPresent命令用來驗(yàn)證特定的文本是否存在頁面的某處。
Selenium在當(dāng)前測(cè)試頁面上搜尋和驗(yàn)證“手機(jī)”是否存在于某處。當(dāng)你只關(guān)心頁面上是否存在特定文本時(shí)使用。
3.verifyElementPresent命令
當(dāng)測(cè)試特定UI元素是否存在、且不關(guān)心其內(nèi)容時(shí),使用verifyElementPresent命令,這一命令不檢查文本,僅檢查HTML tag。
代碼說明:
打開百度首頁,驗(yàn)證百度是否存在圖片。//div/p/img 驗(yàn)證被<img>標(biāo)識(shí)的圖片在頁面上是否存在。
為什么是//div/p/img?我們點(diǎn)擊百度首頁上面的圖片查看元素。
查看圖片代碼:
看到圖片所在位置的層次了吧!丫的,我整了白天才明白是這樣子的。
還可以用verifyElementPresent命令檢查鏈接、圖片、分區(qū)等。
4.verifyText命令
當(dāng)文本和它的UI元素都要被測(cè)試時(shí),使用verifyText命令,verifyText必須使用定位器,如果你選擇XPath或者DOM定位器,可以檢查特定文本是否出現(xiàn)在頁面上的特定位置(相對(duì)于其他元素而言)