基於Java+Selenium+Appium集成Web、安卓和IOS自動化測試框架的設計

1、開發環境
開發語言和使用框架:Java、Selenium2、testNG
集成開發環境: Eclipse http://www.eclipse.org/
移動端自動化工具: Appium http://appium.io/ ;
分佈式監控平臺: Jenkins

 2、框架原理
主框架分爲三層:InitialFramework、UIFramework、Web\Android\IOS
第一層初始化框架目錄結構、測試類目錄結構、資源文件目錄結構
第二層封裝基於WebDriver架包的通用方法,比如點擊,檢查元素等,繼承第一層
第三層封裝特定項目類型的方法,Web、Android、IOS,繼承第二層 

項目級別框架
以項目爲單位,封裝適用於該項目的業務邏輯方法,以便腳本重複調用 

3、測試類
測試類是基於testNG的測試框架,把測試腳本放在獨立的包下面,作爲大的測試包,腳本以testNG註解的格式進行開發,測試用例放在測試腳本中,方便從用例的業務邏輯來開發腳本。 

4、資源文件
執行腳本是以DD原理進行,即數據驅動,將測試的元素定位,測試數據單獨放再資源文件中,其中元素定位是所有方法最終操作的對象,接受任何形式的文件格式,解析過程在框架第二層中開發。 

5、搭建分佈式測試平臺
通過testNG的XML功能,將測試類進行分類
以便分佈式中調用指定的測試類,很多團隊使用的是Junit測試框架,分佈式中的功能並沒有testNG強大,這也是當時研究後選擇的。分佈式平臺選擇Jenkins,具體部署後文待續。 

框架優點彙總:
1、集Web、Android、IOS自動化測試於一體的框架,可以讓不同的自動化團隊同時維護一個框架(第一層和第二層),按各自的項目類型開發方法(第三層),做到了既可以使用同一套框架,又互補影響,從而節約了後期的維護成本。 
2、框架的移植能力強,這裏的移植能力是指測試框架可以用到不同的項目中,只需要建立一個自己的項目級別框架,繼承相應的第三層,便可以直接開發測試腳本,用關鍵字AppName來指定項目級別的框架和測試類的目錄結構,當然也包括資源文件目錄。
3、支持分佈式測試。
4、支持腳本按任意要求進行分類。 
缺點:

開發週期長,投入成本高,適用於項目週期長、公司有多個項目。而只有一個項目或者項目週期短的,不推薦。直接拿起selenium2和testNG的架包就可以開展。

除此之外,框架可以把接口測試集成進來,加入HttpClient第三方jar包即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章