引言
要不要做頁面測試自動化的爭議由來已久,不做或少做的主要原因是其成本太高,其中一個成本就是自動化腳本的編寫和維護,那么有沒有辦法降低這種成本呢?童戰(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)圖:
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里有更多的可用命令供選擇):
錄制完畢后的腳步如下圖示,如果需要的話可以在這里進行一些編輯,一個非常有用的功能是在Target里輸入頁面元素的xpath,點擊Find按鈕,Selenium IED會在真實頁面上用綠色框標(biāo)注該元素。
運行可一次運行所有測試套件或單個用例,對用例的每個步驟也可單步執(zhí)行,執(zhí)行過程有詳細(xì)的log記錄,如下圖所示:
4. 測試用例轉(zhuǎn)換為自動化腳本
只在Selenium IDE里運行是遠(yuǎn)遠(yuǎn)不能滿足需求的,我們需要為測試用例增加一些特性以使其能自動運行持續(xù)回歸運行于不同的瀏覽器上,而Selenium IDE可以方便實現(xiàn)用例轉(zhuǎn)換為自動化腳本,而且支持多種語言,如下圖所示: