設計框架原則:
數據分離,業務層和邏輯層不要混雜在一起.
設計圖:
框架結構初始化:
com.wymall.test:這是存放這個框架源代碼的根目錄
base:里面有個基類(BaseParpaare.java),這個類的只要作用是啟動和關閉瀏覽器,啟動瀏覽器使用了TestNG
的@BfforeClass,在這個注釋下寫了driver的初始化以及打開瀏覽器等操作;關閉瀏覽器使用了TestNG的@AfterClass,在這個注釋下寫了driver退出的操作;測試用例以@Test注釋為主體。測試用例繼承這個基類,運行測試類的時候,會先去基類中找@BeforeClass下的代碼去執行,然后再去執行@Test的內容,最后再執行@AfterClass的內容。
pages:頁面元素類,每一個java類,都是一個頁面,存放的都是對應頁面的所有元素。
pageshelper:主要存放對應頁面的幫助類,在這個頁面上做了什么操作都要寫在這個pageshelper中,比如登陸方法。
plugins:主要存放的是arrow插件以及第三方插件。
testcases:存放測試用例的地方,在這個包下,還會有很多子包,一般一個模塊划分為一個子包,子包的命名以模塊名命名。
utils:主要是封裝了各種工具類,包括讀取excel,selenuim api封裝類,讀取數據庫類,讀取屬性文件類和選擇瀏覽器類等。
config目錄:存儲框架類所需的所有屬性文件,比如arrow的配置文件以及自定義的一些屬性文件。
doc目錄:可以存放一些項目文檔,比如框架的說明文檔,編碼規范等。
data目錄:各模塊需要用到的一些測試數據,以Excel文件形式存放在該目錄下。每個模塊對應一個Excel文件,每個sheet對應的是一個測試用例。
res目錄:主要存放的是driver,比如chromedriver和iedriver等。也會存放一些圖片,第三方腳本(比如autoit)。
result目錄:存放測試框架運行測試用例生成的報告(包含log,截圖等)。
把Java項目轉變為Maven項目
1.maven安裝,下載地址:http://maven.apache.org/
2.修改全局配置文件:D:\apache-maven\conf,編輯settings.xml,找到localRepository關鍵字,我們需要把這個localRepository 注釋去掉(<!-- -->),不然這個配置不會被加載。配置修改為<localRepository>D:\autotest\maven\repo\m2</localRepository>,路徑為本地路徑
3.配置鏡像在settings.xml中找到mirror標簽,在標簽對中加入:
<mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>repo2center</name> <url>http://repo2.maven.org/maven2/</url> </mirror> <mirror> <id>nexus-tmatesoft</id> <mirrorOf>central</mirrorOf> <name>Nexus tmatesoft</name> <url>http://maven.tmatesoft.com/content/groups/public/</url> </mirror>4.修改用戶配置文件:將編輯的settings.xml文件復制到本地D:\autotest\maven\repo目錄下
在eclipse中配置maven
5.項目轉換:項目右鍵-->configure-->Convert to Maven Project,轉換完成之后項目的根目錄會生成一個pom.xml文件,這個文件是maven的配置文件,項目名稱會有M的標識。
加入項目依賴(添加jar包)
添加selenium jar包,訪問maven倉庫:http://mvnrepository.com/,搜索selenium找到對應的版本,將版本的信息復制到pom.xml
保存之后就會自動下載selenium相關的jar包:
加入TestNG配置文件
項目右鍵-->TestNG-->Convert to TestNG-->Finish


![clipboard[1] clipboard[1]](/image/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvNTk5NDIwLzIwMTYwMS81OTk0MjAtMjAxNjAxMjcyMjE0MTIyNzAtNzIyODk2NTgwLnBuZw==.png)
![clipboard[2] clipboard[2]](/image/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvNTk5NDIwLzIwMTYwMS81OTk0MjAtMjAxNjAxMjcyMjE0MTM0ODgtNTEyNjU5NzA4LnBuZw==.png)
![clipboard[3] clipboard[3]](/image/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvNTk5NDIwLzIwMTYwMS81OTk0MjAtMjAxNjAxMjcyMjE0MTUxNDUtNTc4MzEyNzI1LnBuZw==.png)
![clipboard[4] clipboard[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvNTk5NDIwLzIwMTYwMS81OTk0MjAtMjAxNjAxMjcyMjE0MTYyMDctOTk5NDI2NjUwLnBuZw==.png)
![clipboard[5] clipboard[5]](/image/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvNTk5NDIwLzIwMTYwMS81OTk0MjAtMjAxNjAxMjcyMjE0MTY5NzMtMTM0Nzc0MzgxMy5wbmc=.png)
![clipboard[6] clipboard[6]](/image/aHR0cHM6Ly9pbWFnZXMyMDE1LmNuYmxvZ3MuY29tL2Jsb2cvNTk5NDIwLzIwMTYwMS81OTk0MjAtMjAxNjAxMjcyMjE0MTgyNTQtMjgxMTg1Mjg2LnBuZw==.png)