要不要做頁面測試自動化的爭議由來已久,不做或少做的主要原因是其成本太高,其中一個成本是自動化腳本的編寫和維護(hù),那么有沒有辦法降低這種成本呢?童戰(zhàn)同學(xué)在其博文《界面自動化測試猜想》提到“將TC自動轉(zhuǎn)化為自動測試腳本”的構(gòu)想,大家都覺得這個還是很有難度的,那么我們退一步,“將功能測試執(zhí)行的過程錄制下來轉(zhuǎn)化為自動化測試腳本”,這個難嗎?或許不難,借用Selenium這個工具可以實現(xiàn)。
Selenium簡介
Selenium是ThoughtWorks公司開發(fā)的強大的web自動化測試工具。說它強大是因為:
測試直接在瀏覽器中運行,像真實用戶所做的一樣,從終端用戶的角度測試應(yīng)用程序。
使瀏覽器兼容性測試自動化成為可能。
使用簡單,可生成多種語言的用例腳本。
Selenium主要包含以下三個組件:
Selenium IDE:一個Firefox插件,可以錄制用戶的基本操作,生成測試用例。隨后可以運行這些測試用例在瀏覽器里回放,可將測試用例轉(zhuǎn)換為其他語言的自動化腳本。
Selenium Remote Control (RC) :支持多種平臺(Windows,Linux,Solaris)和多種瀏覽器(IE,F(xiàn)irefox,Opera,Safari),可以用多種語言(Java,Ruby,Python,Perl,PHP,C#)編寫測試用例。下面是其架構(gòu)圖
:
Selenium Grid :Selenium RC的擴(kuò)展,將測試用例部署到多臺Server,并行運行以加快速度節(jié)省時間。
Selenium試用
1. 安裝Selenium IDE這個Firefox插件。安裝后打開Firefox,從“工具”菜單選擇“Selenium IDE”-打開Selenium IDE。如下圖所示,紅色的圓點控制腳本錄制的開始和停止。
2. 執(zhí)行功能測試用例并錄制腳本。
我選擇了一個比較簡單的測試用例做為演示,該測試用例用于驗證未通過實名認(rèn)證的用戶發(fā)布寶貝頁面會出現(xiàn)實名認(rèn)證提醒信息。主要步驟是:
1) 打開淘寶首頁
2) 點擊“我要賣”
3) 點擊“一口價”
4) 出現(xiàn)登錄頁面,輸入用戶名和密碼登錄
5) 驗證出現(xiàn)的頁面包含以下信息“您需要先通過實名認(rèn)證”。
在Firefox里執(zhí)行上述步驟,前面4步的操作會被Selenium IDE忠實的記錄下來,第5步驗證怎么辦?選中相應(yīng)文字,點擊鼠標(biāo)右鍵,選擇相應(yīng)的命令,如下圖所示(在Show All Available Commands里有更多的可用命令供選擇):
錄制完畢后的腳步如下圖示,如果需要的話可以在這里進(jìn)行一些編輯,一個非常有用的功能是在Target里輸入頁面元素的xpath,點擊Find按鈕,Selenium IED會在真實頁面上用綠色框標(biāo)注該元素。