軟件測(cè)試 | Selenium基礎(chǔ)
Selenium命令——Selenese
Selenium提供一系列命令,可以用你能想到的所有方式全面測(cè)試你的Web應(yīng)用系列。這些命令通常被稱為Selenese。這些測(cè)試命令事實(shí)上構(gòu)成了一種測(cè)試語(yǔ)言。
使用Selenese,用戶可以通過HTML tags測(cè)試UI元素是否存在,測(cè)試特殊文本,測(cè)試死鏈接、輸入框、下拉列表、提交表單和數(shù)據(jù)表等。通過擴(kuò)展Selenium命令支持測(cè)試窗口尺寸、鼠標(biāo)位置、警告、Ajax控件、彈出窗口、事件控制和其他Web應(yīng)用特性??梢酝ㄟ^如下鏈接在線查看所在Selenium命令:http://release.seleniumhq.org/selenium-core/1.0.1/reference.html,命令會(huì)告訴Selenium工具要做什么,它有三種子類型:Actions、Accessors和Assertions。
(1)Actions決定Selenium工具會(huì)怎樣操作Web應(yīng)用系統(tǒng)。例如“點(diǎn)擊某個(gè)鏈接”和“選擇某個(gè)下拉選項(xiàng)”。如果一個(gè)Action失敗,或者發(fā)生了錯(cuò)誤,當(dāng)前測(cè)試的執(zhí)行會(huì)被終止。
(2)Accessors檢查系統(tǒng)的當(dāng)前狀態(tài),并將結(jié)果存放在變量中。例如“storeTitle”命令。它們也被用來自動(dòng)生產(chǎn)斷言。
(3)Assertions類似于Accessors,不過它們驗(yàn)證系統(tǒng)是否遵從于期望的表現(xiàn)。例如“確保頁(yè)面標(biāo)題是X”,“驗(yàn)證多選項(xiàng)框X被選中”。所有的Selenium Assertions可以歸結(jié)為三種模式:“assert”、“verify”和“waitFor”。當(dāng)一個(gè)“assert”失敗,測(cè)試將被終止。當(dāng)一個(gè)"verify"失敗,測(cè)試將繼續(xù)執(zhí)行,并在日志中記錄失敗。通常使用“assert”確保測(cè)試在正確的頁(yè)面上運(yùn)行,接下來使用“verify”來驗(yàn)證表單數(shù)據(jù)、頁(yè)簽等?!皐aitFor”命令等待某些條件變?yōu)檎妫ㄔ贏jax應(yīng)用中特別有用)。當(dāng)條件變?yōu)檎婧?,它將立刻成功。在預(yù)設(shè)時(shí)間內(nèi)條件沒有變?yōu)檎妫鼘⑹〔⑼V箿y(cè)試執(zhí)行。
Selenium腳本語(yǔ)法
Selenium的verifyText命令有兩個(gè)參數(shù),如表2-2所示。

Selenium命令的參數(shù)并不總是必需的,它依賴于命令。命令可能要求兩個(gè)參數(shù),或者一個(gè)參數(shù),甚至一個(gè)參數(shù)也不要。

在Selenium API速查手冊(cè)中詳細(xì)描述了每一個(gè)命令所需要的參數(shù)。參數(shù)有很多種,但典型參數(shù)如下:
Locator用于定位頁(yè)面上的元素;
text pattern用于驗(yàn)證或者斷言期望的頁(yè)面內(nèi)容;
text pattern和selenium variable用于在輸入框中輸入文本,或者在下拉選項(xiàng)列表選擇一個(gè)選項(xiàng)。
Selenium-IDE執(zhí)行的Selenium腳本,通常使用HTML文本格式存儲(chǔ)。在HTML文本文件中使用HTML表格存儲(chǔ)命令,命令由三列組成。第一列標(biāo)識(shí)Selenium命令,第二列標(biāo)識(shí)目標(biāo),最后一列保存值。根據(jù)選擇Selenium命令不同,第二、三列可能并不需要有值。表中的每一行代表一條Selenium命令。下面舉例,測(cè)試打開一個(gè)頁(yè)面,驗(yàn)證頁(yè)面標(biāo)題,接著驗(yàn)證某些頁(yè)面內(nèi)容:
用瀏覽器打開Selenium腳本對(duì)應(yīng)的HTML文檔,如表2-4所示。
命令標(biāo)識(shí)目標(biāo)保存值open/doenload/assertTitleDownloadsverifyText//h2Downloads