ios環(huán)境的搭建比android稍微復雜马胧,一不小心就會掉入大坑(o′?□?`o)
ios環(huán)境必須在mac系統(tǒng)里運行,建議用真機衔峰,不要用虛擬機佩脊。
Xcode
直接在App Store下載安裝就好了。Xcode最好是用最新版的垫卤,不然版本高的iphone可能會不支持威彰。
Appium desktop
直接在官方的GitHub下載安裝就行了,這個沒什么難度穴肘。https://github.com/appium/appium-desktop/releases
有一點要注意的是必須先安裝Xcode再安裝Appium desktop歇盼,不然后續(xù)跑起來會報錯。
(在寫這篇文章的時候评抚,最新版為1.6.1豹缀。但是我用起來有問題伯复,會報
appium Cannot read property 'async' of undefined
的錯,后來換了1.6.0就沒問題了邢笙。不知道是版本的問題還是我哪一步出了問題啸如,這里先記錄一下)
python
下載安裝python和相應的IDE,這里就詳細敘述了鸣剪。(這里使用的是python3)
使用pip安裝python-client:pip install Appium-Python-Client
Homebrew
Homebrew相當于Linux下的apt-get、yum丈积,要用它來安裝node,在終端運行以下口令就可以安裝
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
終端運行brew -v
看有沒安裝成功铛纬,如果成功的會顯示版本如
yauloladeMacBook-Air:WebDriverAgent yaulola$ brew -v
Homebrew 1.6.4
Homebrew/homebrew-core (git revision ecf4; last commit 2018-05-23)
node
安裝好Homebrew后在終端運行brew install node
就可以安裝唬滑,同樣用node -v
去驗證有沒安裝成功
yauloladeMacBook-Air:WebDriverAgent yaulola$ node -v
v10.0.0
appium-doctor
appium-doctor這個工具可以用來檢測Appium相關環(huán)境有沒有安裝好
在終端輸入npm install -g appium-doctor
來安裝
如果報錯了晶密,可以試試在命令前加sudo:sudo npm install -g appium-doctor
這里會要求輸入電腦密碼
安裝好之后我們可以檢測一下ios的環(huán)境有沒有配置好
終端輸入appium-doctor --ios
我用的時候它提示我WARN AppiumDoctor ? Carthage was NOT found!
那我就安裝Carthage吧:brew install carthage
一些相關的庫
brew install libimobiledevice --HEAD
npm install -g ios-deploy
WebDriverAgent
WebDriverAgent是最麻煩最容易踩坑的地方稻艰,在這里一定要小心翼翼的!d(?`ω′?d*)
我們先在終端cd到WebDriverAgent目錄下新建Resources/WebDriverAgent.bundle文件僧凤,WebDriverAgent一般是在/Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver
這個目錄元扔,如果不是的話請自行百度
終端運行:
cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/WebDriverAgent
mkdir -p Resources/WebDriverAgent.bundle
然后再運行:
./Scripts/bootstrap.sh
這里可能會有2條報錯澎语,我都忽略了,后面也沒什么問題盯孙。
接下來打開/Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj
默認是用xcode打開
對于WebDriverAgentLib 和 WebDriverAgentRunner振惰,勾選“Automatically manage signing”垄懂,把Team改成公司的痛垛。這里會需要開發(fā)者賬號匙头,可以讓開發(fā)的同學把自己的appleID加入開發(fā)團隊仔雷。(這里我踩了一個坑,在選擇團隊的時候會一直報賬號密碼錯誤电抚,百度了好久后來終于找到解決方法蝙叛,就是在鑰匙串訪問中把左上角的鎖??鎖上公给,然后再解鎖即可。具體怎么在哪里打開鑰匙串訪問請自行百度)
然后點擊如下步驟把WebDriverAgentLib和WebDriverAgentRunner都編譯到真機
這里因為我手機沒有連電腦所以顯示的是No devices,但是做這一步必須連接手機并把WebDriverAgentLib和WebDriverAgentRunner編譯到手機里
只要這一步?jīng)]有報錯狰挡,我們就基本完成環(huán)境的搭建释涛。
驗證
現(xiàn)在我們需要驗證我們的環(huán)境有沒有搭建好唇撬,我們編寫以下代碼并開啟appium服務
from time import sleep
from appium import webdriver
desired_caps = {}
desired_caps['automationName'] = 'XCUITest'
desired_caps['platformName'] = 'iOS'
desired_caps['platformVersion'] = '11.3.1'
desired_caps['deviceName'] = 'iPhone 6 Plus'
desired_caps['bundleId'] = ' '
desired_caps['udid'] = '3d0a0a1f35072378bbdb7d6011c0fd36df6c0939'
desired_caps['newCommandTimeout'] = 3600
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
sleep(30)
driver.quit()
XCUITest是ios的自動化框架
bundleId類似安卓的appPackage,這個需要跟開發(fā)同學要豫柬。(這個是必填的烧给,因為保密原因所以我這里不顯示出來)
udid是每臺iphone獨特的一種id喝噪,可以連接電腦在iTunes里獲取
newCommandTimeout指在終止嘗試和產(chǎn)生錯誤之前執(zhí)行命令期間需等待的時間。
運行代碼榴鼎,當沒有報錯并手機自動開打了要測的app即為搭建環(huán)境成功。如果還有報錯就請自行百度了( ̄▽ ̄)~*