使用Selenium IDE自動化測試可以模擬人在網頁上進行操作,所以我們可以使用Selenium代替我們做一些重復的人工測試。本文將介紹如何安裝和使用selenium IDE,包括:“在chrome瀏覽器安裝selenium ide插件”、“Selenium IDE工具的使用”、“Selenium腳本文件轉Java代碼”。
一、在chrome瀏覽器安裝selenium ide插件。
官網下載地址:
http://seleniumhq.org/download
由於是國外的服務器,如果在官網下載不了,可以在下面的地址下載:
https://www.crx4chrome.com/crx/107238/
找到並點擊下載:
點擊在chrome瀏覽器的右上角圖表,選擇更多工具->擴展程序:
將我們下載好的文件拖進去即可安裝。
安裝好之后,打開擴展程序找到我們安裝好的selenium ide,打開:
選擇Open an existing project,可以打開我們錄制到的腳本:
二、Selenium IDE工具的使用。
為了方便簡潔,我們就按照上圖的數字標記介紹:
1、菜單欄,文件:創建、打開和保存測試案例和測試案例集。編輯:復制、粘貼、刪除、撤銷和選擇測試案例中的所有命令。
2、用來填寫被測網站的地址
3、速度控制:控制案例的執行速度
4、運行所有:運行一個測試案例集中的所有案例。
5、運行:運行當前選定的測試案例。
6、暫停/恢復:暫停和恢復測試案例執行。(時髦版的6測試時才會出現)
7、單步:可以運行一個案例中的一行命令。
8、錄制:點擊之后,開始記錄你對瀏覽器的操作。
9、案例集列表。
10、測試腳本;table標簽:用表格形式展現命令及參數。source標簽:用原始方式展現,默認是HTML語言格式,也可以用其他語言展示。
11、查看腳本運行通過/失敗的個數。
12、當選中前命令對應參數。
13、日志/參考/UI元素/Rollup。
常用命令
Selenium IDE的command、target、value、comment可手動輸入。
1、run:可調用一個已錄制好的腳本,在target中寫入所調用腳本的單名稱。比如先錄制好一個login的腳本,然后在其他頁面操作用例開始前調用這個login腳本,再右鍵insert new command,選中新增加的command行,右鍵選擇record from here,就不用在每個用例都去錄制登錄的操作。這樣一來,測試不同場的博銷寶時,就只要修改login腳本里的登錄網址就行了。
2、execute script:執行自己寫的腳本,一般用於做結果驗證的時候。比如測試全部類別展開時,人工測試是可以肉眼觀察所有類別是否都已展開的,單selenium沒提供相關的內置命令去讓你驗證所有類別是否都已展開。此時可以先使用該命令,自己編寫腳本(如原生js),先獲取類別個數,然后展開后再獲取展開的類別個數(一般展開的會有另一個css類名),將兩者進行對比即可以做結果驗證。
3、store text & store value:存儲文本,一般用於做結果驗證的時候與assert text & assert value搭配使用。比如查看一個商品詳情時,先用store text保存該商品在表格中顯示的商品名稱,再用assert text驗證詳情區域的商品名稱是否與所保存的商品名稱一致。使用store text時,target是寫所保存內容的單所在位置,value是所保存內容的變量名,驗證時在assert text的value寫法是${變量名}。store value和assert value一般用於操作對象是input的時候。
4、assert text & assert value:驗證文本。一般用於驗證接口調用后返回的提示信息(錯誤碼)對不對,如果不對,當前的用例腳本會停止並報錯,但不影響下一個用例的繼續運行。
5、pause:用於暫停腳本,target中寫需要暫停的時間,單位為毫秒。因為頁面響應速度與腳本執行速度並不一致,有時腳本執行完了但是頁面還沒響應,就會由於下一個命令找不到需要的內容而報錯。一般在請求數據多的時候暫停一下腳本,等頁面加載完。
6、wait for element visible & wait for element not visible:一般用於顯示標簽或隱藏標簽的結果驗證,target里寫操作的標簽,value中需填寫等待的時間。
注意事項:
1、錄制時需考慮該腳本運行完一次后,再下一次是否可以繼續正常運行,比如創建商品,如果商品名稱寫了固定值,就會導致下次運行腳本時由於商品名稱重復導致運行失敗,所以創建商品時需要添加隨機數到商品名稱中。
2、在錄制selenium過程中可以右鍵查看可以快捷使用的命令。
3、錄制腳本較多時,養成做一部分就保存的習慣,以免IDE卡死導致錄制的腳本無法保存;
4、對於錄制好的腳本,可以根據需求進行增刪或者修改;
5、目前暫時未找到使用IDE錄制上傳圖片的方法,所以上傳圖片的功能一般需要人工測試;
6、對於需要人工測試的用例可以在對應用例的selenium腳本的command命令中加入文字描述,使其運行時出錯,到時測試人員就能通過中文知道需要人工測試;
其他命令參考:https://www.cnblogs.com/x3d/p/selenium-ide-command.html。
三、Selenium腳本文件轉Java代碼。
選中測試用例,右鍵點擊Export,然后選擇Java,即可導出為Java單元測試:
默認使用的junit單元測試,可以改成我們產品用的testng:
Java運行測試需要下載chrome的驅動chromedriver.exe,驅動的版本要與瀏覽器的版本相對應:
@BeforeClass
public void setUp() {
System.setProperty("webdriver.chrome.driver", "D:\\BXERP\\trunk\\doc\\自動化測試\\Selenium\\chromedriver.exe");
driver = new ChromeDriver();
js = (JavascriptExecutor) driver;
vars = new HashMap<String, Object>();
}
查看chrome瀏覽器的版本號。
點擊右上角3個點圖表->幫助->關於Google Chrome:
下載chomedriver.exe地址:
http://chromedriver.storage.googleapis.com/index.html
找到對應的版本並下載,存放到對應目錄: