資源推薦:
視頻資源: 軟件測試相關係列視頻
社區資源: 自動化測試交流羣
Selenium介紹
Selenium是一款支持web-based 應用,隨着敏捷開發逐步風靡於互聯網各大企業,對軟件研發過程要求高度交互,及時響應的特點,測試自動化無疑成爲了測試最佳的答案。
自動化測試優勢
自動化測試在提升軟件測試團隊效率方面有很多優勢,
1. 快速的進行迴歸測試
2. 快速反饋測試結果
3. 可以支持幾乎無限制的測試用例迭代執行
4. 可以有效的支持敏捷、極限編程思想
5. 自定義的缺陷報告
Selenium歷史
2004年,ThoughtWorks公司職員 Jason Huggins,開發了一套javascript 庫用於在不同瀏覽器上驅動交互,這套js庫就是 Selenium Core, Selenium Core作爲Selenium IDE 和 Selenium RC最基礎的功能完成js驅動的自動化測試。
2006年,Google測試工程師Simon Stewart,爲了解決在長期以來使用Selenium遇到的問題,主要是瀏覽器對js資源產生的同源問題,以及瀏覽器對安全性方面的提高,導致對selenium core有很大限制,在這種情況下,Simon tewart開始研發WebDriver,通過使用瀏覽器和操作系統native方法與瀏覽器進行交互,以解決Selenium的痛點。
2008年,WebDriver與Selenium合併,也就是Selenium WebDriver(Selenium2.0),結合兩者各自的優勢以彌補兩者的劣勢。
Selenium工具套件
我們通常所說的Selenium是指一系列工具集合,每個工具有其特定的角色。
Selenium2
通過前面對Selenium的歷史來看,Selenium WebDriver(Selenium2) 是Selenium的發展方向,Selenium2提供給用戶更加面向對象的api,另外它完全兼容了WebDriver的接口。
Selenium1
Selenium1(Selenium RC or Remote Control),Selenium1的核心是Selenium Core,也是一個javascript library, 基於瀏覽器js注入的方式,完成客戶端發送的selenese指令,後文會對Selenium RC進行架構分析,由於其已被官方廢棄,及其各種弊端,不再過多講解。
Selenium IDE
Selenium IDE (Integrated Development Environment), 是一個firefox瀏覽器的插件,用於錄製測試腳本使用,通過它錄製的腳本可以導出生成各種兼容性的編程語言腳本,比如java, python, ruby, php等,對於新手來說可以作爲一個很好的入門選擇,但對於有一定開發經驗的同學,建議直接學習Selenium2的api,可以完成更加複雜的測試場景。
Selenium Grid
當我們測試腳本比較多的時候,或者我們需要在不同平臺之間進行測試時,可以使用Selenium Grid,它提供給Selenium分佈式執行測試的功能,可以極大的提高測試執行效率。
總結,面對這些工具,對於剛剛接觸的朋友該如何選擇呢?建議對於使用編程語言薄弱的同學從Selenium IDE開始,它提供了簡單的selenese指令,可以快速上手完成測試,當然缺點也很明顯,面對複雜的測試場景就有些捉襟見肘了,還好工作中大部分場景Selenium IDE是有能力應付的;對於有一定的自動化測試經驗的同學,可以直接選擇Selenium WebDriver,選擇自己擅長的編程語言完成測試工作,隨着測試工作日益增多,或者多平臺話要求等,我們可能有必要結束Selenium Grid,以增加我們測試的執行效率及覆蓋面。
點擊鏈接加入羣【悅分享測試聯盟】:https://jq.qq.com/?_wv=1027&k=5DiePik