關(guān)鍵字:測試
介紹
Selenium 是 ThoughtWorks 專門為 Web 應(yīng)用而開發(fā)的自動化測試工具,適合進(jìn)行功能測試、驗(yàn)收測試,其大的優(yōu)勢有幾點(diǎn):
可直接運(yùn)行在瀏覽器之上,所見即所得,像真實(shí)用戶所做的一樣。Selenium 的核心,也稱 browser bot,是用 JavaScript 編寫的。這使得測試腳本可以在受支持的瀏覽器中運(yùn)行。browser bot 負(fù)責(zé)執(zhí)行從測試腳本接收到的命令支持多操作系統(tǒng)(Windows, Mac OS和Linux)和各種瀏覽器Internet Explorer、Mozilla 和 Firefox,更容易發(fā)現(xiàn)瀏覽器的不兼容性支持兩種開發(fā)腳本的模式test runner (HTML文件)和 driven(腳本語言編寫),其語言包括Java, .NET, Perl, Python 和 Ruby. 使用 driven 腳本,測試有一部分在瀏覽器之外運(yùn)行,而如果使用 test runner 腳本的話,測試是完全在瀏覽器中運(yùn)行的。
但是Selenium是輕量的測試框架, 腳本所處理的測試用例構(gòu)成簡單,其實(shí)質(zhì)是通過HTTP協(xié)議,發(fā)送請求(request)來完成測試用例,所以很困難處理業(yè)務(wù)邏輯關(guān)系強(qiáng)的測試用例。
Selenium 命令
Selenium 命令分成兩類 —— 操作(action) 和斷言(assertion):
操作模擬用戶與 Web 應(yīng)用程序的交互。例如,單擊一個(gè)按鈕和填寫一個(gè)表單,這些都是常見的用戶操作,可以用 Selenium 命令來自動化這些操作。
斷言驗(yàn)證一個(gè)命令的預(yù)期結(jié)果。常見的斷言包括驗(yàn)證頁面內(nèi)容或當(dāng)前位置是否正確。
在 Selenium 網(wǎng)站上可以找到可用命令的完整列表。通過 Selenium 命令,腳本編寫者可以描述 browser bot 在瀏覽器中所執(zhí)行的操作
組成
Selenium IDE:一個(gè)firefox的plug-in,可以錄制和回放并保存一些test cases, 可以生成一些簡單的基于rc 模式的簡單code. (相當(dāng)于 Jmeter的gui模式和jmeter腳本的生成-badboy)
Selenium Core. 整個(gè)測試機(jī)制的核心部分,即有assertion(斷言) 機(jī)制的test suite runner。它由一些純js代碼組成, 可以運(yùn)行在 windows/linux的不同browser上 (相當(dāng)于Jmeter 的runner 跟 Assertion)
Selenium Remote Control:一個(gè)代理與控制端, 可代替Selenium core/ Selenium IDE的client端(相當(dāng)于通過編程來實(shí)現(xiàn)一切),是支持 多語言的. (相當(dāng)于Jmeter的client/server模式,但Selenium Remote Control更強(qiáng)一些)