寫在正文前的一段話
寫這篇文章,還是挺激動的。因為我解決了困擾了我兩天的問題(還有一個問題困擾了我更久:在Android真機上啟動應用。直到現在還未解決,如果有同道中人已經解決了這個問題,還希望不吝賜教),就是利用Appium在iOS真機上啟動應用。
這篇文章會是真正的小白文章,旨在讓真正不懂代碼的人也能看懂,會操作。我會盡量詳細,如果還有不懂如何操作的,請留言,希望可以幫到你。
問題一
可能有些人感覺自己已經配置好了環境,也在手機上安裝好了WebDriverAgent(WDA),但是還是總是不能啟動應用,此時遇到的問題如下圖:
解決這個問題的方法就是此時一定不能退出Xcode,一旦退出Xcode,在啟動應用的時候WDA又在真機上消失了,所以就有會報錯。
問題二
更多的人是不知道該怎么把WDA安裝到手機上,在這里詳細講解。
當我們安裝好appium-Desktop后,并且配置好了iOS開發環境的時候,就會有一個WDA文件出現,該文件的默認地址是:
/Applications/Appium/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
進到該文件所在的位置,找到如下圖所示的一個文件:
雙擊該文件,用(默認)Xcode打開,找到如下圖所在的三處:
這里很多專業的人喜歡把這步操作稱為簽名。
解釋如下:
1、這里默認的是com.facebook.WebDriverAgentLib.具體什么是BundleID可以咨詢開發人員,這是唯一標識符,一定不能和其他人的相同。所以一定要修改,只要把facebook修改成你們公司的名字(此處我用的就是我們公司的名稱)就可以,當然也可以改成任意其他字符;
2、把這個勾勾上
3、選擇一個AppleID就行(個人的也行)
除了上圖1處的bundleid需要修改外,還有4處的bundleid需要和這里保持一致,如下圖:
別急,還沒完,繼續
修改好bundleid以后還需要添加依賴庫,至于添加哪一個,就看你缺少哪一個,在TARGETS里選擇WebDriverAgentRunner,在build Phases里進行添加,操作步驟如下圖:
好了,這樣就把所謂的簽名解決了,接下來開始驗證了
我們知道我們的目標是把WebDriverAgentRunner這個應用安裝到手機上,其實Appium也就是通過它來啟動咱們的目標App。需要把手機連接到電腦上,操作步驟如下圖:
1、首先選中WebDriverAgentRunner文佳下的UITestingUITests.m文件;
2、選中自己連接到電腦上的手機。
然后在手機上運行安裝WebDriverAgentRunner,步驟如下圖:
哇塞,安裝成功!記住,安裝成功也不能把Xcode退出,否則依然不能通過Appium啟動應用。
這里可能會報錯,原因就在那個依賴庫那里,可以試著把第二個依賴庫去掉,然后再試試。如果報錯看不明白,可以找萬能的開發工程師幫忙看看,他們久經沙場,對于很多問題要比你我更擅長解決。
你學會了嗎?如果你還沒解決你的問題,歡迎留言,共同進步!
獲取已連接 Mac 的 iPhone 的 udid:
idevice_id -l