今天的文章講iOS的Appium環境搭建。node
對於iOS而言,只能在Mac筆記本上安裝Appium,以及所須要的各類組件。python
也許有人會問,可否在Windows系統上使用Appium測試iOS手機,這不就不用花錢買Mac了嗎?答案是不能夠,由於Appium的本質是把咱們編寫的自動化測試腳本,翻譯成Mac中UIAutomator的腳本,因此只能Mac來作,Windows系統搞不定。可是,你能夠裝黑蘋果來解決這個問題。ios
咱們這篇文章不提黑蘋果,而是介紹怎麼在mac筆記本上安裝能運行iOS自動化測試的appium。git
如下的6個步驟,在上一篇文章咱們已經介紹過,請參考上一篇文章。。github
1)安裝Node。npm
2)使用Node下載Appium Server。xcode
3)下載並安裝Appium Desktop.ruby
4)下載並安裝Python 3。app
5)使用pip下載Appium Client。curl
6)安裝Appium Doctor。
爲何說iOS支持Appium麻煩呢,由於還要執行下列的步驟:
1)安裝最新版的XCode,去App Store下載並安裝最新版便可
要確保XCode的版本和IPhone的版本是兼容的,不然就升級系統。
2)安裝Xcode Command Line Tools
到官網下載Command Line Tools,這哥們以前是和XCode捆在一塊兒安裝的,後來分家單過了,因此要去Developer Apple官網單獨下載並安裝,下載地址是:
https://developer.apple.com/download/more/
不要嘗試使用xcode-select ––install,會失敗的。
3)安裝homebrew,用於mac系統的軟件包下載。執行如下腳本:
/usr/bin/ruby -e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
4)安裝carthage,用於依賴管理,執行如下命令:
brew install carthage
5)安裝 libimobiledevice,用於Appium鏈接iOS的設備
brew install libimobiledevice –HEAD –g
6)安裝ideviceinstaller,用於管理安裝在手機上的App:
brew install ideviceinstaller –g
若是執行這個命令報錯,以下所示:
Could not connect to lockdownd. Exiting.
解決辦法就是,增長lockdown的權限,執行下面的命令便可:
sudo chmod –R 777 /var/db/lockdown
7)安裝ios-deploy,iOS10以上的系統才須要安裝
npm install -g ios-deploy
8)設置WebDriverAgent項目的Signing
Appium對iOS的支持,是經過WebDriverAgent來實現的,這是Facebook開源的一個項目,內置在Appium Desktop中,位於下面的路徑:
/Application/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj
可是咱們安裝了Appium後,並不能指定它內置的WebDriverAgent的開發者帳號,所以要進入這個目錄,手動進行設置。
用XCode打開WebDriverAgent.xcodeproj,而後配置兩個Targets,一個是WebDriverAgentLib,另外一個是WebDriverAgentRunner,配置Signing,設置Team爲開發者帳號便可。
9)此外,我還遇到過錯誤信息,說是Apple Developer開發者帳號須要有了新協議,須要我登錄上去點擊贊成,照它說的去作,登陸到Apple Developer點擊贊成就行了。
至此,在Appium上就能夠運行iOS的自動化測試了,上述步驟缺一不可。能夠說九九八十一難,一步一個坑,我爲此整整折騰了三四天,才配置好。
10)若是前面的功課都作完了,那appium基本就可使用了。在執行appium-doctor命令時,會看到一些警告:
咱們來逐一解決這些警告。
1.opencv4nodejs cannot be found
到官網下載CMake並安裝,地址以下所示:
https://cmake.org/download/
把CMake的路徑添加到全局變量PATH中,以下所示:
export CMAKE_ROOT=/Applications/CMake.app/Contents/bin/
export PATH=$CMAKE_ROOT:$PATH
最後執行命令:
npm install opencv4nodejs
2. ffmpeg cannot be found
解決方案:輸入brew install ffmpeg
3. mjpeg-comsumer cannot be found
解決方案:輸入npm i -g mjpeg-consumer
4. idb and idb_companion are not installed
執行如下命令
brew tap facebook/fb
brew install idb-companion
pip3.7 install fb-idb
注意pip3.7是個人python的版本號。能夠去全局變量中檢查一下是否設置了pip的路徑,有的是3.6或別的版本。
5. applesimutils cannot be found
執行如下命令:
brew tap wix/brew
brew install applesimutils
6. bundletool.jar cannot be found
到https://github.com/google/bundletool/releases下載bundletool.jar的最新版本,下載到的這個jar的文件名可能有帶版本號,不管是什麼,都更名爲bundletool.jar。
在前面建立的sdk目錄下,建立一個子目錄bundle-tool,把bundletool.jar放在這個子目錄下。
給這個子目錄和這個jar文件,增長權限。執行下面的腳本:
chmod +x
chmod +x bundletool.jar
在全局變量PATH中,增長bundletool.jar的路徑,以下所示:
expert PATH=${PATH}:$ANDROID_HOME/bundle-tool
在下一篇文章中,我將介紹電腦如何鏈接Android和iOS真機和模擬器,以及準備合適的DesiredCapabilities,從而在Appium中啓動App。