Appium的iOS環境搭建

來源:互聯網
上載者:User

標籤:jdk   服務   outline   配置   ons   目錄   完成後   變數   輸入   

 

作業系統的名稱:Mac OS X
作業系統的版本:10.13.3

xcode 版本:9.2

java 版本:java8_161

appium destop版本:1.7.3

 

接下來我們開始踏上搭建Appium+java+ios之路,本文只說個大概,畢竟本機已經裝過了,我就不在折騰了,耗費好幾天時間才搞定。

一:安裝JAVA。配置環境變數

      可以在/etc/profile裡配置

      export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
      export PATH=$JAVA_HOME/bin:$PATH

      再輸入命名 source /etc/profile 使生效

二:安裝Appium

  1.作者系統安裝的Appium destop版本為:1.7.2,個人覺得destop 版本比較方便。

三:安裝Homebrew

  先來看下Homebrew是個什麼東東,Homebrew就相當於linux的yum. 官網https://brew.sh/index_zh-cn.html,Homebrew 能幹什麼?使用 Homebrew 安裝 Apple 沒有預裝但 你需要的東西。Homebrew 會將軟體包安裝到獨立目錄,並將其檔案軟連結至 /usr/local 。Homebrew 不會將檔案安裝到它本身目錄之外,所以您可將 Homebrew 安裝到任意位置。輕鬆建立你自己的 Homebrew 包。完全基於 git 和 ruby,所以自由修改的同時你仍可以輕鬆撤銷你的變更或與上遊更新合并。Homebrew 的配方都是簡單的 Ruby 指令碼,Homebrew 使 macOS 更完整。使用 gem 來安裝 gems、用 brew 來安裝那些依賴包。更多介紹請上官網。

  1.安裝:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2.檢查是否安裝成功:brew -v,作者系統安裝的版本號碼為:1.3.2

四:安裝Node (Appium 需要使用Node 服務端)

  1.安裝:終端執行:brew install node。

  2.檢查是否安裝成功:終端輸入node -v,如果顯示版本號碼說明安裝成功,作者安裝版本為:v6.11.3

五:安裝ideviceinstaller

  1.說明:與iOS裝置通訊的跨平台庫和工具,用於給iOS裝置安裝卸載應用或者備份應用。該工具是基於libmobiledevice的,因此首先要完成 libmobiledevice的編譯安裝。

  2.終端執行:brew install ideviceinstaller

  3.如果步驟2執行報錯,有可能是沒有安裝carthage,終端執行brew install carthage

  4.檢查是否安裝成功,如出現則表示安裝成功。

 

 

 

ideviceinstaller 的用處

1. 命令 idevice_id -l 可以擷取UDID

2. 命名 ideviceinstaller -l 可以擷取bundle id

 

Carthage 的用處

發現在webdriver agent 裡的framework裡需要用到Carthage 裡的一個包

 

六:安裝 appium-doctor

npm install -g appium-doctor

appium-doctor檢查如下,打勾就是檢查正常,打叉就是不正常。我這裡有打叉的,是因為我沒有配置android 環境,對我Ios 的沒有影響

 

 

七:安裝xcode

  1.安裝:可以AppStore中開啟並下載

  2.檢查是否安裝成功:終端執行xcodebuild -version,作者安裝版本為:Xcode 9.2

八:安裝Xcode Command Line Tools

  1.Xcode安裝完成後啟動終端,在終端輸入xcode-select --install

九:手機端安裝WebDriverAgent

      新版本的xcode 做ios 測試需要使用 webDriverAgent, 簡單解釋,測試前需要使用xcode往真機上安裝簽署憑證,測試時可以看到會先往測試裝置上安裝一個webDriverAgent 的APP 然後通過這個app 來測試被測app。具體大家可以搜尋一下webdriveragent 來瞭解。

  1.安裝ios(webdriver)步驟

  安裝appium-xcuitest-driver
  npm install -g ios-deploy (ios-deploy 在真機測試時需要用到
  cd /usr/local/lib/node_modules/appium
  npm uninstall appium-xcuitest-driver
  npm install [email protected]
  注:appium內建的appium-xcuitest-driver版本過低,需重新安裝

  2、配置WebDriverAgent環境
  cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
  mkdir -p Resources/WebDriverAgent.bundle
  sh ./Scripts/bootstrap.sh -d (此步驟是為了重新編譯webDriverAgent 檔案,並下載相應的依賴包,查看問題一

 

  3.編譯WebDriverAgent,雙擊 WebDriverAgent.xcodeproj或者執行如下命令, 系統自動會用Xcode開啟

  Open /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj

網上關於WebDriverAgent 編譯過程一般寫的比較複雜,我這裡寫個簡單點的,兩個步驟供大家參考,先看下面這兩個圖

1. 左邊列出來工程裡的TARGETS檔案每個都要做右邊的操作,操作是在Genaral tab裡配置你的apple id,在Build settings 頁裡把Bundle id 改成唯一的。

2.在WebDriverAgentRunner -> Build Phases 裡加上下面兩個framework

 

 

下面的圖來源自網路,大家可以參考著配上面兩個步驟的內容,多的部分不用看

 

    (1). 編譯WebDriverAgentLib

    

    (2).編譯WebDriverAgentRunner

    

    

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

 

問題一:WebDriverAgent 編譯報錯,無法找到RoutingHttpServer.h 標頭檔

原因:在XCODE 的WebDriverAgent工程的 WebDriverAgentRunner 頁面的 Build Phase tab上的copy frameworks選項上,需要配置兩個framework, 其中一個是carthage 的,這個沒有配置好

解決辦法:1. 先裝carthage

               2. 再編譯一次 sh ./Scripts/bootstrap.sh -d

 

問題二:Could not determine Xcode version:Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.

原因:Xcode 的一個什麼路徑配置要改,修改命令如下

解決辦法:sudo xcode-select --switch /Applications/Xcode.app

 

 

 

  

Appium的iOS環境搭建

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.