標籤: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環境搭建