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