為了在自動(dòng)化測(cè)試中節(jié)省時(shí)間節(jié)省真機(jī)的成本,而且更高效的覆蓋所有的IOS版本,避免兼容性問(wèn)題和實(shí)現(xiàn)全面自動(dòng)化測(cè)試,我采用saucelabs(https://saucelabs.com)平臺(tái)提供的虛擬設(shè)備。使用簡(jiǎn)單易書(shū)寫(xiě)的java語(yǔ)言和appium開(kāi)源框架以及單元測(cè)試testng,創(chuàng)建maven工程(為了不在工程中引入jar包),將需要的jar寫(xiě)入pom .xml 文件中,最后使用jenkins 構(gòu)建自動(dòng)運(yùn)行實(shí)現(xiàn)IOS全自動(dòng)化測(cè)試。這樣一來(lái)就完全不用人為干預(yù),只需要關(guān)注測(cè)試結(jié)果就好了。
要進(jìn)行IOS自動(dòng)化測(cè)試的前提是需要一臺(tái)mac設(shè)備或者一臺(tái)黑蘋(píng)果。
在Apple 官網(wǎng)注冊(cè)Apple Id,用Apple Id 登錄開(kāi)發(fā)者網(wǎng)站(https://developer.apple.com/download/)下載xcode并安裝即可(如下圖): 
Xcode安裝完成后啟動(dòng)終端,在終端輸入xcode-select –install,在彈出的界面選擇安裝,等待安裝成功: 
在官網(wǎng)下載jdk 版本,并配置系統(tǒng)環(huán)境變量(以jdk 1.8.0_111為例)。
打開(kāi)jdk的dmg文件,雙擊安裝,安裝完成后打開(kāi)終端輸入如下命令查看當(dāng)前使用的java:/usr/libexec/java_home
保存并退出(實(shí)際就是vim的命令)
按下鍵盤鍵Esc按下 shift + :輸入 wq使得環(huán)境變量生效執(zhí)行如下命令:
source ~/.bash_profile查看當(dāng)前設(shè)置的JDK信息,確保環(huán)境變量設(shè)置成功:java -version
下載(https://bitbucket.org/appium/appium.app/downloads/)appium  dmg 文件(如下圖),打開(kāi)Appium的dmg包,復(fù)制Appium.app到applications文件夾中,即完成安裝。 
打開(kāi)appium的doctor 查看如下圖: 
得到如下結(jié)果說(shuō)明環(huán)境搭建成功: 
啟動(dòng)Appium并打開(kāi)iOS的設(shè)置頁(yè)面,使用模擬器不要勾選UDID。注意App Path路徑的正確性以及設(shè)備的系統(tǒng)版本號(hào)的設(shè)置。 
設(shè)置完成后,點(diǎn)擊Launch按鈕,以啟動(dòng)Appium Server。 
啟動(dòng)Inspector: 啟動(dòng)AppiumServer后,(如果真機(jī)要連接好真機(jī),并確保Appium的參數(shù)設(shè)置正確(與設(shè)備保持一致)),本文采用的為模擬器,點(diǎn)擊Inspector按鈕啟動(dòng)Inspector。此時(shí)Appium Server會(huì)自動(dòng)安裝app并啟動(dòng)被測(cè)App并通過(guò)instruments抓取頁(yè)面元素展示到Inspector頁(yè)面,就可以開(kāi)始獲得頁(yè)面元素信息開(kāi)始自動(dòng)化腳本的編寫(xiě)工作了 。  
 
選擇在本地運(yùn)行: 點(diǎn)擊Launch按鈕,以啟動(dòng)Appium Server; 選中testcase文件右擊–》 Run As –》 TestNG test (如下圖1),由于本文創(chuàng)建的是maven 工程也可以執(zhí)行選中pom.xml ->Run As–>Maven test (如下圖2); 圖片1:  圖片2:
 圖片2: 
選擇在saucelabs 平臺(tái)運(yùn)行,它可以提供各個(gè)版本的模擬器,多設(shè)備并行運(yùn)行: 只需要把注冊(cè)的賬號(hào)寫(xiě)入testCase中如下:
desiredCapabilites.SetCapability("accessKey", "e04e33ef-8e226-4b36-8865-e89ad2229721"); desiredCapabilites.SetCapability("username", "linda123456");選中pom.xml ->Run As–>Maven test 運(yùn)行,或者在jenkins 中建立maven 項(xiàng)目,配置pom.xml路徑、觸發(fā)時(shí)間、testng 作為測(cè)試結(jié)果報(bào)告,出錯(cuò)發(fā)郵件等。這時(shí)就可以實(shí)現(xiàn)IOS全自動(dòng)化測(cè)試。你只需要關(guān)注測(cè)試結(jié)果就好了,當(dāng)然你可以去saucelabs 查看 測(cè)試過(guò)程中錄制的視頻,結(jié)合測(cè)試結(jié)果報(bào)告,很快找到testCase fail的原因,用于修改testCase或提bug。
PS:
//查看devices id命令:instruments -s devices//命令行安裝*.app//啟動(dòng)模擬器:xcrun instruments -w 'iPhone 6 Plus'//在已經(jīng)啟動(dòng)的模擬器中安裝.app:xcrun simctl install booted /User/liangwang/DownLoad/Spotlight.app(要提供.app的安裝路徑)//卸載*.app的命令:xcrun simctl uninstall booted com.quest.Spotlight (應(yīng)用的包名)//查看應(yīng)用程序的包名:用itools,終端命令行或者其他工具打開(kāi),然后在相應(yīng)的程序包中找info.plist,打開(kāi)后ctrl+f搜索:CFBundleIdentifier,在CFBundleIdentifier下面就是包名。//mac截圖:command+shift+4 鼠標(biāo)拖動(dòng)就可以選擇要的圖command+shift+3 截取全屏//把.app打包成.ipa文件:打開(kāi)iTunes,然后把.app拖進(jìn)去,選擇在Finder中查看,該文件就變成了.ipa文件啦通過(guò)上面的實(shí)踐會(huì)發(fā)現(xiàn),IOS 使用 Java + testng +maven + appium 進(jìn)行自動(dòng)化測(cè)試和 Android 十分相似,唯一區(qū)別就是 IOS 必須使用 mac 進(jìn)行操作,需要具備一定的 mac 使用基礎(chǔ);其他在自動(dòng)化測(cè)試腳本編寫(xiě)方面和 Android 是完全一樣的,具體可以參見(jiàn)我以前寫(xiě)的《Saucelabs+Java+TestNG+Appium+Maven+Git+Jenkins+ReportNG for Android 自動(dòng)化測(cè)試》。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注