1. 程式人生 > >Java + Selenium 3.x 實現Web自動化 - 1.自動化準備

Java + Selenium 3.x 實現Web自動化 - 1.自動化準備

使用 testcase 基本配置 項目 aid soft targe 路徑 testng依賴

(一)自動化準備

說明:本文主要記錄了基於公司現有項目(一個電子商務平臺),從0開始實現UI自動化的歷程。從準備階段,部分內容直接省略了基礎知識,一切以最終做成自動化項目為目標,難免會有晦澀之處。文章主要用於記錄過程,翻閱回顧。如有記錄出錯,描述晦澀之處,望讀者能及時指出,一起進行討論交流,以免誤導他人。

1 所使用工具的簡單介紹

1.java + selenium WebDriver:用於腳本的編寫;

2.TestNG:測試框架,用於結構化用例,生成測試報告;

3.log4j2:用於生成日誌;

4.arrow插件:用於失敗用例的重跑;

5.chrome瀏覽器;

2 提前安裝 jdk1.8以上版本、eclipse、chrome

3 在線安裝TestNG

1.打開eclipse,選擇菜單【help】->【Install New Software】;

2.填寫如下內容

Name:TestNG

Location:http://beust.com/eclipse

3.等待出現插件列表,選擇TestNG,一路NEXT到Finish,之後重啟eclipse完成安裝;

4 在線安裝PropertiesEditor插件

PropertiesEditor是eclipse的properties插件,用於將ACSII碼轉化為中文顯示。在.properties文件中不能輸入、顯示中文,用該插件可以輸入、顯示中文。

註意:安裝成功後,需要對eclipse編碼設置為utf-8,否則仍不能顯示中文.

1.打開eclipse,選擇菜單【help】->【Install New Software】;

2.填寫以下內容

Name:PropertiesEditor

Location:http://propedit.sourceforge.jp/eclipse/updates/

3.等待出現插件列表,選擇PropertiesEditor,一路NEXT到Finish,之後重啟eclipse完成安裝;

5 提前下載的內容

1.1 client-combined-3.11.0.jar

1.2 selenium-sever-standalone-3.11.0.jar

1.3 log4j-api-2.11.0.jar

1.4 log4j-core-2.11.0.jar

1.5 webdriver

註意:webdriver需要與瀏覽器版本對應,推薦使用chrome瀏覽器和chromeDriver

chrome與chromeDriver版本對應表:http://chromedriver.storage.googleapis.com/2.37/notes.txt

chromeDriver各版本下載鏈接:http://chromedriver.storage.googleapis.com/index.html

在寫本文時,當前使用chrome v65.0版本,chromeDriver 2.36_win64版本

jdk、eclipse、chrome請自行下載,其他下載內容(chromeDriver、jar包)可通過以下鏈接:

鏈接:https://pan.baidu.com/s/17VUiF9OAYf89hiaHco0HNw 密碼:a7a1

6 創建java Project

6.1 創建Java Project

1.打開eclipse,選擇菜單【file】->【new】->【Java Project】;

2.【Project Name】命名為SeleniumTest;

6.2 添加依賴jar包,構建路徑

1.右擊項目名稱,【new】->【Floder】,【Floder Name】填寫為lib;

2.lib文件夾主要存放依賴的jar包;

3.將上述jar包復制到lib文件夾;

4.全選jar包,右擊,Build Path -> Add to Build Path;

6.3 添加ChromeDriver(瀏覽器驅動)

項目中創建文件夾res,將chromeDriver復制到res文件夾

6.4 添加TestNG配置文件

右擊項目名稱,【TestNG】->【convert to TestNG】,出現彈窗如下圖,直接點擊【Finish】;

技術分享圖片

6.5 添加TestNG依賴

右擊項目名稱,Build Path -> Add Libraries,出現彈窗如下圖,選擇【TestNG】->【Next】->【Finish】;

技術分享圖片

6.6 配置測試結果輸出路徑

1.選擇菜單【window】->【preferences】(首選項,關於eclipse的基本配置都在這裏)

2.選擇【TestNG】,在【Output dictionary】處填寫”\result\test-output“(配置測試結果輸出路徑,每個項目的測試結果都輸出在該項目的result/test-output路徑下)

技術分享圖片

6.7 設置編碼格式為UTF-8(非必要)

選擇菜單【window】->【preferences】,選擇【General】->【Workspace】,選擇編碼格式為UTF-8

技術分享圖片

6.8 創建package & class

創建new Package,創建new Class,此時項目結構如下圖

建議:

1.測試類的名稱不要用Test(會與TestNG註解沖突),建議使用Test_1_OpenWindow、Test_2_Click等,類名中包含序號和功能;

2.包名建議用com.公司名/個人英文名.testcases;

技術分享圖片

6.9 修改TestNG配置文件

在test標簽內,添加classes標簽、class標簽,如下圖

class標簽的name屬性,是要執行的測試文件路徑

技術分享圖片

7.試運行

現在基本的環境和依賴文件已經配置完成,我們可以來試一下TestNG是怎樣執行測試方法的。

1.首先,在Test_1_OpenWindow類中創建方法,輸出Hello World;

2.之後,添加@Test註解,並導入相應的依賴類(org.testng.annotations.Test);

3.右擊xml文件,【Run As】->【TestNG Suite】;

4.此時,可以在控制臺看到,Hello World正常輸出,並顯示出執行了1條用例,失敗0條,跳過0條;

5.文件夾中打開SeleniumTest/result/test-output/index.html,同樣可以查看測試運行結果;

註意:在eclipse裏面F5刷新一下,就可以看到項目組的result文件夾了

技術分享圖片

8 關於UI自動化

1.UI自動化的本質就是模擬人工操作。從根本上來說,UI自動化僅包括2個動作:【獲取元素】、【操作元素】。

2.我們的測試過程基本是建立在對頁面元素的點擊、輸入、選擇等【操作】之上,對結果進行判斷。

3.包括我們找到、辨認出要操作的元素,對測試結果進行判斷,實質上都是【獲取元素】。

4.我們的點擊、輸入、選擇等操作,歸納起來就是【操作元素】。

5.綜上,UI自動化並不難,只要學會【獲取元素】,之後針對各種元素,學會其【操作】方法,接下來就可以設計用例了。

Java + Selenium 3.x 實現Web自動化 - 1.自動化準備