ios自動化測試之Java + testng +maven + appium 框架及腳本編寫和運行

1、背景介紹
爲了在自動化測試中節省時間節省真機的成本,並且更高效的覆蓋全部的IOS版本,避免兼容性問題和實現全面自動化測試,我採用saucelabs(https://saucelabs.com)平臺提供的虛擬設備。使用簡單易書寫的Java語言和appium開源框架以及單元測試testng,建立maven工程(爲了避免在工程中引入jar包),將須要的jar寫入pom .xml 文件中,最後使用jenkins 構建自動運行實現IOS全自動化測試。這樣一來就徹底不用人爲干預,只須要關注測試結果就行了。java

2、環境搭建
2.1 Mac OS X
要進行IOS自動化測試的前提是須要一臺mac設備,mac os <=9.3, 不然你要修改appium 的system.js,具體請查考(https://stackoverflow.com/questions/40129794/how-to-fix-error-could-not-detect-mac-os-x-version-from-sw-vers-output-10-12/40168992#40168992,由於appium 截止1.5.3都默認不支持Mac os >10。apache

2.2 安裝Xcode
在Apple 官網註冊Apple Id,用Apple Id 登陸開發者網站(https://developer.apple.com/download/)下載xcode並安裝便可(以下圖):vim

 

 


###2.3 安裝 Xcode command line toolsxcode

Xcode安裝完成後啓動終端,在終端輸入xcode-select - - install,在彈出的界面選擇安裝,等待安裝成功:bash

 

 


###2.4 安裝Homebrewapp

在終端輸入以下命令,等執行完成便可:
框架

安裝完成後執行檢查命令安裝是否成功:
eclipse

###2.5 安裝ideviceinstallermaven

執行以下命令安裝便可:
ide

執行以下命令檢查是否安裝成功:

2.6 安裝 JDK & 配置環境變量
在官網下載jdk 版本,並配置系統環境變量(以jdk 1.8.0_111爲例)。

打開jdk的dmg文件,雙擊安裝,安裝完成後打開終端輸入以下命令查看當前使用的java:

 

 

 

終端輸入vi ~/.bash_profile 進入編輯模式:

保存並退出(實際就是vim的命令)
按下鍵盤鍵Esc
按下 shift + :
輸入 wq
使得環境變量生效執行以下命令:

查看當前設置的JDK信息,確保環境變量設置成功:

 

 

 

2.7 安裝 Appium
下載(https://bitbucket.org/appium/appium.app/downloads/)appium dmg 文件(以下圖),打開Appium的dmg包,複製Appium.app到Applications文件夾中,即完成安裝。

 

 

 


2.8 安裝 Eclipse & 給Eclipse 安裝testng插件
在官網下載Eclipse 安裝便可。
安裝 testng:
打開eclipse進入界面後,點擊菜單中的"Help",彈出下拉菜單中進行選擇爲install new software的選項。進入到了install的選項界面中,點擊菜單中的add的選項, 在location 一欄裏輸入插件地址(http://beust.com/eclipse/)點擊下一步下一步便可完成安裝。
2.9 安裝 maven
官網下載(https://maven.apache.org/download.cgi)maven 包。
打開終端(Terminal),輸入如下命令,設置Maven classpath:

添加下列兩行代碼,以後保存並退出Vi:

輸入命令以使bash_profile生效:

輸入mvn -v查看Maven是否安裝成功。
若有異常,從新編輯bash_profile文件,加入export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home後,並從新運行$ source ~/.bash_profile便可。
2.10 檢查以上環境是否設置成功
打開appium的doctor 查看以下圖:

 

 

 

獲得以下結果說明環境搭建成功:

 

 

 


3、使用 appium 的inspector 獲取界面元素書寫testCase
啓動Appium並打開iOS的設置頁面,使用模擬器不要勾選UDID。注意App Path路徑的正確性以及設備的系統版本號的設置,以及在General Setting裏把 Server Address 從0.0.0.0 改到127.0.0.1。

 

 

 


設置完成後,點擊Launch按鈕,以啓動Appium Server。

 

 

 

 


啓動Inspector:
啓動AppiumServer後,(若是真機要鏈接好真機,並確保Appium的參數設置正確(與設備保持一致)),本文采用的爲模擬器,點擊Inspector按鈕啓動Inspector。此時Appium Server會自動安裝app並啓動被測App並經過instruments抓取頁面元素展現到Inspector頁面,就能夠開始得到頁面元素信息開始自動化腳本的編寫工做了 。

 

 

 

 

 

 

4、寫好testCase 如何在模擬器上運行
選擇在本地運行:
點擊Launch按鈕,以啓動Appium Server;
選中testcase文件右擊–》 Run As --》 TestNG test (以下圖1),因爲本文建立的是maven 工程也能夠執行選中pom.xml ->Run As–>Maven test (以下圖2);
圖片1:

 

 

圖片2:

 

 


選擇在saucelabs 平臺運行,它能夠提供各個版本的模擬器,多設備並行運行:
只須要把註冊的帳號寫入testCase中以下:

 

 


選中pom.xml ->Run As–>Maven test 運行,或者在jenkins 中創建maven 項目,配置pom.xml路徑、觸發時間、testng 做爲測試結果報告,出錯發郵件等。這時就能夠實現IOS全自動化測試。你只須要關注測試結果就行了,固然你能夠去saucelabs 查看 測試過程當中錄製的視頻,結合測試結果報告,很快找到testCase fail的緣由,用於修改testCase或提bug。

PS:

 

 


//查看devices id命令:
instruments -s devices

//命令行安裝*.app
//啓動模擬器:
xcrun instruments -w 'iPhone 6 Plus'
//在已經啓動的模擬器中安裝.app:
xcrun simctl install booted /User/liangwang/DownLoad/Spotlight.app(要提供.app的安裝路徑)

//卸載*.app的命令:
xcrun simctl uninstall booted com.quest.Spotlight (應用的包名)

//查看應用程序的包名:
用itools,終端命令行或者其餘工具打開,而後在相應的程序包中找info.plist,打開後ctrl+f搜索:CFBundleIdentifier,在CFBundleIdentifier下面就是包名。

//mac截圖:
command+shift+4 鼠標拖動就能夠選擇要的圖
command+shift+3 截取全屏

//把.app打包成.ipa文件:
打開iTunes,而後把.app拖進去,選擇在Finder中查看,該文件就變成了.ipa文件啦
5、總結經過上面的實踐會發現,IOS 使用 Java + testng +maven + appium 進行自動化測試和 Android 十分類似,惟一區別就是 IOS 必須使用 mac 進行操做,須要具有必定的 mac 使用基礎

相關文章
相關標籤/搜索