關(guān)于Appium 的配置使用戈毒,在此不多敘述默责,可以參考以下鏈接
http://www.reibang.com/p/3c04e029c3ea
http://www.reibang.com/p/cbbf0134ddfa
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
http://www.reibang.com/p/ae8846736dba
下面我要說(shuō)的是配置完之后容客,在使用Appium 啟動(dòng)時(shí)艾恼,出現(xiàn)了模擬器上的app反復(fù)重啟的問(wèn)題特笋,定位了一下問(wèn)題有如下錯(cuò)誤
[WD Proxy] Got an unexpected response: {"value":"+[XCAXClient_iOS sharedClient]: unrecognized selector sent to class 0x100f58130\n\n(\n\t0 CoreFoundation 0x0000000212788edc + 252\n\t1 libobjc.A.dylib 0x0000000211959a40 objc_exception_throw + 56\n\t2 CoreFoundation ...
查了好多資料剃浇,都提示下載最新的WebDriverAgent
下載完之后,重新執(zhí)行
sh ./Scripts/bootstrap.sh -d
配置證書(shū)猎物,重新build之后 虎囚,替換appium 路徑下面的WebDriverAgent,以上操作都嘗試之后依然報(bào)錯(cuò)如舊....
反思蔫磨,再三反思
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
原來(lái)Appium其實(shí)自帶WebDriverAgent的淘讥,應(yīng)該這樣子說(shuō),不知道從Appium 的某一個(gè)版本更新之后堤如,就不再支持facebook 出的這個(gè)WebDriverAgent了蒲列,因此你替換100次也無(wú)濟(jì)于事,索性直接使用Appium 的WebDriverAgent
cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh -d
執(zhí)行上面這個(gè)命令時(shí)搀罢,要騷微等一下下蝗岖,去上個(gè)廁所,倒杯水榔至,和前臺(tái)妹子聊聊天等等抵赢,過(guò)了一會(huì)可能就成功了,如果沒(méi)成功唧取,就是你網(wǎng)絡(luò)問(wèn)題了铅鲤,多點(diǎn)耐心
1.進(jìn)入WebDriverAgent 打開(kāi)xcode,菜單欄product --> Destination --> 選擇device下的xxx的iPhone
2.product --> Scheme --> WebDriverAgentRunner
3.最后運(yùn)行:product --> Test || command + U
結(jié)果:沒(méi)問(wèn)題的話枫弟,手機(jī)/模擬器上會(huì)出現(xiàn)一個(gè)無(wú)圖標(biāo)的 WebDriverAgent 應(yīng)用邢享,啟動(dòng)之后,馬上又返回到桌面淡诗。這是正常的骇塘。然后xcode界面可以看到服務(wù)地址,表示運(yùn)行成功:
2019-07-12 14:18:19.083193+0800 WebDriverAgentRunner-Runner[33741:1469798] ServerURLHere->http://192.168.1.148:8100<-ServerURLHere
在瀏覽器輸入
出現(xiàn)以下結(jié)果表示成功了
{
"value" : {
"state" : "success",
"os" : {
"name" : "iOS",
"version" : "12.2",
"sdkVersion" : "12.2"
},
"ios" : {
"simulatorVersion" : "12.2",
"ip" : "192.168.1.148"
},
"build" : {
"time" : "Jul 12 2019 14:15:55",
"productBundleIdentifier" : "com.facebook.WebDriverAgentRunner"
}
},
"sessionId" : "E9FD8A75-0E96-4FD2-B145-08EAF8B1F667",
"status" : 0
}
打開(kāi)Appium 韩容,設(shè)置調(diào)試參數(shù)
{
"platformName": "iOS",
"platformVersion": "12.2",
"deviceName": "iPhone XR",
"automationName": "XCUITest",
"app": "可寫(xiě)可不寫(xiě)款违,Appium 可以根據(jù)bundledid 自動(dòng)查找對(duì)應(yīng)手機(jī)上的app",
"bundleId": "這個(gè)你懂的com.xxx.xxx",
"udid": "手機(jī)或者模擬器的uuid"
}
以上這個(gè)調(diào)試參數(shù),切記大括號(hào)里面的參數(shù)宙攻,首起一定要有空格奠货,不然會(huì)保存失敗,點(diǎn)擊start session 座掘,幸運(yùn)之神降臨在你的身上递惋,成功的話柔滔,你就可以看到以下界面了