搭建測試環(huán)境最大的苦惱來源于,對未知的理解不夠深入榄攀,不知從何下手囊卜,從網(wǎng)上搜索的文檔不夠精細(xì)...塞赂。
小小魚搭建Appium+IOS+JAVA環(huán)境模擬器環(huán)境+Demo調(diào)試共用了3天時間,真機(jī)調(diào)試耗時2天跌前,主要時間都耗在軟硬件版本兼容匹配了棕兼,這是搭建環(huán)境中最復(fù)雜的一個環(huán)節(jié)也最耗時的;卸載安裝,卸載再安裝來回折騰了N次抵乓,真機(jī)調(diào)試軟件兼容也折騰了很久除了jdk伴挚,appium,eclipse這它都卸載了N次才調(diào)試好靶衍,嘖嘖嘖~~。
工欲善其事必先利其器
熟悉Mac的系統(tǒng)茎芋,本寶寶也是第一次用MAC系統(tǒng)颅眶,用起很是費(fèi)勁,但還好本寶寶以前用過liunx系統(tǒng)败徊,常用命令都是OK的帚呼,在搭建環(huán)境中也算是事半功倍。
環(huán)境搭建前在網(wǎng)上找了很多關(guān)于Appium+IOS+JAVA的文檔皱蹦,最終選定《TestHomer的Appium_JAVA基于IOS自動化》地址址:
https://testerhome.com/topics/5233 ) 煤杀,原因是:提供了demo與軟件下載連接,步驟也是寫得很贊的沪哺。
環(huán)境搭建與配置是當(dāng)看到終端時要知道打開終端并在終端執(zhí)行命令沈自,執(zhí)行命令可能也會遇到用戶沒有權(quán)限等問題,沒關(guān)系辜妓,搜索一下賦權(quán)限的命名枯途,執(zhí)行后再執(zhí)行終端命令。
注:Chmod u+x jdk-6u31-linux-x64.bin //給該文件添加權(quán)限籍滴,chmod755 foldername(文件名)-R給文件及文件夾賦權(quán)限酪夷。
搭建中如果遇到報錯,可以利用搜索門戶解決孽惰,百度晚岭,論壇,技術(shù)交流群勋功,如果依舊解決不了坦报,就用google吧。
軟件的最佳兼容版本
MacOS版本:10.12.1狂鞋,要大于10.7片择;
Xcode版本:7.3.1兼容Appium,Xcode版本8.2打包骚揍,打包版本可以與開發(fā)xcode版本號一樣字管,允許裝2個Xcode;
Xcode command line tools版本:7.3.1與xcode保持一至信不;
Homebrew版本: 終端使用命令下載最最新版本纤掸,
命令:usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"
ideviceinstaller版本:終端使用命令下載最新版本;? 命令:brew install ideviceinstaller
JDK版本:jdk_7u71_macosx-x64.dmg
Appium版本:appium-1.5.3.dmg浑塞;
Node.js版本:終端使用命令下載最最新版本借跪,命令:brew install node
Eclipse版本:eclipse-jee-mars-2-macosx-cocoa-x86_64.tar.gz;
真機(jī)IOS系統(tǒng)版本:9.3.2? ? 不能大于10.0;
Demo在模擬器上調(diào)試
把TesterHome自帶的Demo下載到本機(jī)酌壕,解壓指定目錄掏愁,導(dǎo)入Ecipse歇由;
服務(wù)端啟動參數(shù)配置,與Appium IOS參數(shù)配置一至果港;
檢查Demo是否有明顯得語法錯沦泌,并修改bug;
RunTest
Demo運(yùn)行通過后替換為自己的工程在模擬器上調(diào)試
新建工程 按 Demo的框架創(chuàng)建;
apps替換為要測試的XX.app辛掠,這種格式為編繹后的格式谢谦,問開發(fā)給一個即可;
修改Demo服務(wù)端啟動參數(shù)配置萝衩,主要修改:文件名稱? File app = new File(appDir, "XXX.app");
修改appium>ios回挽,app路徑 App Path:, 修改為當(dāng)前App路徑;
RunTest
注:若啟動App,App一直閃退,說明不支持模擬器猩谊,換成真機(jī)吧千劈。
測試App在真機(jī)上調(diào)試
滿足以下幾點:
1.設(shè)置>開發(fā)者>Enable UI Automation 打開;
2.源碼導(dǎo)入XCode;
3.需要developer證書并且將測試機(jī)的udid? 加入到pp(Provisioning Profile)文件,configruation為debug牌捷;
4. 編譯打包到終端墙牌;
注:2?4不會要可以找IOS開發(fā)人員幫助,本寶寶也是找開發(fā)解決的暗甥。
5.工程中終端配置啟動項
//app bundelid 真機(jī)調(diào)試,可以問開發(fā)要 ;
capabilities.setCapability("app","com.XXX.xxxx.Mxxxchant");
//真機(jī)udid 真機(jī)調(diào)試喜滨,連接ITunes可以查到,詳細(xì)請百度
capabilities.setCapability("udid", "3XXXXXXXXXXXXXXX經(jīng)1");
6.修改Appium>ios>Basci配置:
將App Path前面的勾去掉否則會重新從apps文件裝包撤防; 將bundelid虽风,udid寫入對應(yīng)位置;
? 7.修改Appium>ios>Advanced配置:
? 將XCode Path:地址指向appium兼容的那個Xcode安裝位置即碗;
? 真機(jī)測試當(dāng)前Table要切換為Advanced;
? 8.RunTest