MAC電腦下Appium 的真機測試環境搭建
本人的環境搭建的情況,MAC電腦一臺(macOS Mojave 10.14.4),Xcode 10.2.1 ,自己註冊的一個Apple ID 賬戶,必須你的電腦能連接互聯網,最好不要用公司的網絡,限制太多,容易掉坑裏。
1.安裝Homebrew
安裝
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
卸載
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
2.安裝 libimobiledevice (得先安裝Homebrew)
brew install libimobiledevice
其實,libimobiledevice又稱libiphone,是一個開源包,可以讓Linux支持連接iPhone/iPod Touch等iOS設備。
3.安裝 ideviceinstaller(真機安裝相關)
brew install ideviceinstaller
libimobiledevice中並不包含ipa的安裝命令,所以還需要安裝ideviceinstaller
4.安裝 carthage , WDA編譯時需要的依賴包。
brew install carthage
5.安裝 node
(目的是安裝 npm)官方下載地址https://nodejs.org/en/download/,下載.pkg 文件安裝(LTS版本)
6.安裝 iOS-deploy
npm install -g ios-deploy
7.安裝 xcpretty
gem install xcpretty
8. Appium 桌面端下載安裝(選擇 dmg 文件)
https://github.com/appium/appium-desktop/releases
9.安裝Appium doctor
npm install -g appium-doctor
主要時檢查環境的配置情況
10.安裝 webpack
npm i -g webpack
11.安裝 wd
npm install -g wd (-g表示全局安裝)
12.編譯 WebDriverAgent
a. 在安裝完Appium Destop ,從 https://github.com/appium/WebDriverAgent 下載的WebDriverAgent文件夾 ,替換路徑/Application/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 下的WebDriverAgent文件夾 。
b. terminer(終端工具) 在 WebDriverAgent 文件夾路徑下運行:
mkdir -p Resources/WebDriverAgent.bundle
sh ./Scripts/bootstrap.sh
等待幾分鐘下載依賴的包後進行編譯。
c. 雙擊WebDriverAgent.xcodeproj打開此項目,在這裏我們的目的就是更改一些配置,讓他能夠編譯成功,首先編譯之前你得有 ID賬號,並且登錄你的Xcode賬戶
配置開發證書等
接著編譯WebDriverAgentRunner
配置 runner 的證書信息
配置 setting 信息
d. 建立服務WebDriverAgent (手機和MAC都在同一個網段下,且都能連接外網)關閉Xcode,進入WebDriverAgent 文件夾
運行以下命令:
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination ‘id=真機的udid‘ test
如果終端出現以下信息,表示編譯 OK,
Testing failed:
Early unexpected exit, operation never finished bootstrapping - no restart will be attempted
** TEST FAILED **
這個是時候iphone多了一個WebDriverAgentRunner的app ,
我們在通用設置的描述文件裏面信任我們的開發證書之後再次運行上面的指令:
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination ‘id=真機的udid‘ test
如果出現以下信息,表示運行成功了:2018-04-26 16:25:33.445429+0800 WebDriverAgentRunner-Runner[314:21633] Continuing to run tests in the background with task ID 1
Test Suite ‘All tests‘ started at 2018-04-26 16:25:33.508
Test Suite ‘WebDriverAgentRunner.xctest‘ started at 2018-04-26 16:25:33.509
Test Suite ‘UITestingUITests‘ started at 2018-04-26 16:25:33.510
Test Case ‘-[UITestingUITests testRunner]‘ started.
t = 0.01s Start Test at 2018-04-26 16:25:33.518
t = 0.01s Set Up
2018-04-26 16:25:33.527655+0800 WebDriverAgentRunner-Runner[314:21633] Built at May 22 2018 07:53:09
2018-04-26 16:25:33.552834+0800 WebDriverAgentRunner-Runner[314:21633] ServerURLHere->http://172.20.10.7:8100<-ServerURLHere
appium-doctor --ios
MAC電腦下Appium 的真機測試環境搭建