由于iOS及Xcode的不斷更新骡湖,自動化框架也是層出不窮,本文只討論Appium框架實現(xiàn)iOS的UI自動化,并一步一步演示如何搭建一套環(huán)境
先看看原理圖闻葵,然后從中可以了解到需要安裝哪些東東情龄?
一迄汛、安裝nodejs(node及npm)(基礎工具)
官網(wǎng)下載pkg https://nodejs.org/en/download/,點擊一步步安裝
檢查是否安裝成功:
zhang:~$ node -v
v6.11.3
zhang:~$ npm -v
3.10.10
二、安裝iOS相關工具
1骤视、安裝Homebrew
命令行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
檢查是否安裝成功:brew -v
2鞍爱、brew install carthage #類似CocoaPods的包管理工具
3、brew install libimobiledevice --HEAD #和iOS手機通訊使用
4专酗、brew install ideviceinstaller # 用于給iOS設備安裝卸載應用或者備份應用
5睹逃、npm install -g ios-deploy # 用命令行安裝ios app到連接的設備
6、sudo gem install -n /usr/local/bin xcpretty #用于對xcodebuild的輸出進行格式化
三祷肯、安裝appium(我選擇下面的第2種方式)
1沉填、命令行版安裝:npm install -g appium@1.6.5
2、GUI版本安裝:到官網(wǎng)https://github.com/appium/appium-desktop/releases/tag/v1.2.0-beta.3下載dmg進行安裝(里面帶有1.6.5的Appium)
四佑笋、安裝appium-doctor(用來檢查環(huán)境是否OK)
1翼闹、先安裝
npm install -g appium-doctor
2、檢查
(1)appium-doctor 檢查android及iOS
(2)appium-doctor --ios 檢查iOS
全部OK:info AppiumDoctor Everything looks good, bye!
五蒋纬、配置WebDriverAgent(裝Appium Desktop的時候猎荠,它里面帶了一個WebDriverAgent),先進入WebDriverAgent目錄
(1)安裝appium-xcuitest-driver依賴 颠锉,
命令一:cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/
命令二:mkdir -p Resources/WebDriverAgent.bundle
命令三:sh ./Scripts/bootstrap.sh
(2)修改WebDriverAgent的team ID及bundleID
方法:用Xcode打開目錄下的WebDriverAgent.xcodeproj法牲,對于WebDriverAgentLib 和 WebDriverAgentRunner,勾選“Automatically manage signing”琼掠,把Team改成自己的或公司的拒垃,Bundle Identifier將facebook字樣換掉
(3)編譯WebDriverAgentRunner,記得不要選*lib那個(第一次運行會失敗,需要到手機設置-通用-證書信任)
方法一:Xcode-product-test
方法二:命令 xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真機的udid' test
六瓷蛙、配置Appium server capabilities
打開桌面的Appium-desktop悼瓮,左上角Appium->new session window->desired capabilities,填寫如下
七艰猬、啟動Appium
1横堡、start server
2、start session
八冠桃、啟動后命贴,會自動打開Inspector,來進行元素抓取,開始編寫腳本
(或者通過http://localhost:8100/inspector打開)
九胸蛛、下載appium_python_client
十污茵、打開pycharm,用python編寫腳本葬项,并運行testcase
注意:需要下載appium_python_client并導入到測試工程(可在pycharm import出錯的地方右鍵根據(jù)自動安裝的方式)