本文主要內容:Appium-Server、Appium-Desktop的具體搭建及使用步驟。以及IOS真機測試需要特別注意的方面。
Appium-Server
1、使用node.js編寫
2、命令行版本通過npm安裝
3、官網提供GUI版本appium-desktop使用,內含appium server,最新版本1.2.1。
4、網上許多教程使用的appium.dmg、appium for window.exe是舊版的
Appium-Desktop
1、內含Appium Server,省去安裝它所需要的依賴。
2、對於Android Emulator\Phone、IOS Simulator來說,安裝這個GUI就可以跑代碼了。
3、對於IOS Phone真機測試還需要安裝配置一些工具
Appium-Desktop使用步驟:
1、啓動Appium-Desktop,點擊Start Server v1.6.5,進入命令行界面
2、點擊右上角的Start Inspector Session進入Inspector界面
3、根據自己的手機編輯Desired Capabilities。
4、點擊Start Session連接手機,啓動App並獲取首個界面
5、這裏的Recorder方便錄製簡單的操作代碼,便於入門學習
6、最常用的是這裏可以獲取界面元素的id,accessibilityId等用於編寫測試代碼
IOS真機測試:
1、替換npm爲國內淘寶cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
2、安裝appium-doctor
cnpm install -g appium-doctor
3、命令行執行appium-doctor,根據錯誤項安裝相應工具並處理
4、安裝command line tools
xcode-select --install
5、安裝Carthage(IOS依賴管理工具,類似gradle,maven)
brew install carthage(好久)
6、其他IOS支持庫
brew install libimobiledevice --HEAD
cnpm install -g ios-deploy
7、如果WebDriverAgent編譯一直不通過,可嘗試到github替換爲最新的
https://github.com/facebook/WebDriverAgent.git
本地地址:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
備註:
WebDriverAgent在IOS設備上實現了一個WebDriver Server,藉助它可以遠程控制IOS設備。允許你啓動銷燬應用,點擊滾動視圖,或確定視圖是否正確展示在屏幕上。
編譯運行後,會在社別上安裝一個WebDriverAgentRunner的app,以後Appium每次建立Session都會先啓動這個app。這一步問題多多,可以尋求testerhome.com社區幫助。
執行appium-doctor:
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor Node version is 8.2.1
info AppiumDoctor Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor Xcode Command Line Tools are installed.
info AppiumDoctor DevToolsSecurity is enabled.
info AppiumDoctor The Authorization DB is set up properly.
info AppiumDoctor Carthage was found at: /usr/local/Cellar/carthage/0.24.0/bin/carthage
info AppiumDoctor HOME is set to: /Users/weijiancheng
info AppiumDoctor ANDROID_HOME is set to: /Users/weijiancheng/Library/Android/sdk
info AppiumDoctor JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
info AppiumDoctor adb exists at: /Users/weijiancheng/Library/Android/sdk/platform-tools/adb
info AppiumDoctor android exists at: /Users/weijiancheng/Library/Android/sdk/tools/android
info AppiumDoctor emulator exists at: /Users/weijiancheng/Library/Android/sdk/tools/emulator
info AppiumDoctor Bin directory of $JAVA_HOME is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor
環境變量.bash_profile文件實例:
添加了JAVA_HOME\ANDROID_HOME\CARTHAGE_HOME\MAVEN_HOME及其bin目錄:
------------------------------------------------------------------------------------
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
export ANDROID_HOME=/Users/weijiancheng/Library/Android/sdk
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export PATH=$PATH:/usr/local/bin
export CARTHAGE_HOME=/usr/local/Cellar/carthage/0.24.0
export PATH=$PATH:$CARTHAGE_HOME/bin
export MAVEN_HOME=/Users/weijiancheng/Library/Maven
export PATH=$PATH:$MAVEN_HOME/bin
------------------------------------------------------------------------------------
總結
剛開始學習appium的時候,Appium-Desktop剛剛推出。網上的教程及社區大都是Appium.exe\Appium.dmg等舊版客戶端的介紹。無一例外的配置麻煩,需要安裝的工具太多了。而我始終堅信的一點是一套成熟的開發工具不應該讓開發者把時間耗在搭建以及配置上。
官網上默認使用的是Appium-Desktop-x.x.x.dmg。僅僅安裝完這個GUI後,我發現在Android Phone\Emulator,IOS Simulator上都可以正常跑測試用例了。只有IOS Phone真機一直各種提示失敗,於是我認爲一定是自己配置的問題。不過,類似的問題在網上居然找不着。後來實在沒辦法,只能按照舊版的教程,把需要的工具統統安裝一遍才解決。
我是做Android開發的,對於IOS開發瞭解不深。不知道在IOS設備上安裝ipa遠比Android上安裝apk麻煩得多,以及在IOS模擬器上是不能安裝ipa的。是因爲IOS不能像Android同時兼容兩個CPU架構嗎?
綜上你需要安裝的是:Appium-Desktop GUI以及IOS真機部署的一系列工具。所以除開IOS真機部署的麻煩,Appium環境部署還是相當簡潔的。