天天看點

Appium -iOS真機運作自動化實踐

前提:ios真機環境已安裝ok

運作ios自動化的步驟如下:

步驟1、手機端安裝WebDriverAgent

1、下載下傳webdriverAgent,從github上下載下傳代碼

git clone 

https://github.com/facebook/WebDriverAgent

運作初始化腳本

./Scripts/bootstrap.sh

該腳本會使用

Carthage

下載下傳所有的依賴,使用npm打包響應的js檔案

執行完成後,直接輕按兩下打開WebDriverAgent.xcodeproj這個檔案。

2、配置WebDriverAgent環境

在以下三個檔案中都需要進行配置:

 (1). 編譯WebDriverAgentLib

注:Bundle identifier:com.xxx.yyyyy   (xxx每個人都要不一樣才行)

 (2).編譯WebDriverAgentRunner

    

(3)配置 IntegrationApp

(4)

(5).在終終端輸入:xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=udid' test,待執行完成後手機端會安裝WebDriverAgent。

一切正常的話,手機上會出現一個無圖示的WebDriverAgent應用,啟動之後,馬上又傳回到桌面。這是很正常的不要奇怪

此時控制台界面可以看到裝置的IP。如果看不到的話,使用這種方法打開

通過上面給出的IP和端口,加上/status合成一個url位址。例如

http://10.0.0.1:8100/status

,然後浏覽器打開。如果出現一串JSON輸出,說明WDA安裝成功了。

若運作後出現:TEST Fail,如下報錯:

解決:解除安裝手機上的 WebDriverAgentRunner程式,重新執行xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=udid' test,

在進行端口轉發:

有些國産的iPhone機器通過手機的IP和端口還不能通路,此時需要将手機的端口轉發到Mac上。

$ brew install imobiledevice  這裡若出現以下報錯,沒關系,直接往下走:

$ iproxy 8100 8100

接着使用

iproxy --help

 可以查到更具體的用法。 這時通過通路

http://localhost:8100/status

确認WDA是否運作成功。

步驟二、打開appium-desktop,啟動appium server+啟動inspector,擷取頁面元素

1、StartServer

2、建立Inspector session

3、建立好session後,session的參數資訊必須和目前連結的裝置資訊一緻,否則會報錯誤資訊,最後start session,就可以看到下圖的dom樹結構,如果出現圖3,則說明需要重新編譯運作WebdriverAgent了

步驟三、在原來架構的基礎上,寫Appdriver驅動

步驟四、寫自動化case

ios的元素擷取可以通過xpath,name,label,assessbilityid擷取,上述通過name獲得

步驟五、運作testng

可以看到case運作正常

參考文檔:

  1. https://www.jianshu.com/p/2b4236086165
  2. https://blog.csdn.net/weixin_39142498/article/details/78950804
  3. https://testerhome.com/topics/7775
  4. https://testerhome.com/topics/4904
  5. https://testerhome.com/topics/7220
  6. https://www.cnblogs.com/yuhanle/articles/8213675.html

繼續閱讀