开启iOS自动化测试之门
開啟iOS appium自動化測試之門
Appium介紹
Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應用。Appium支持iOS、Android及FirefoxOS平臺。Appium使用WebDriver的json wire協議,來驅動Apple系統的UIAutomation庫、Android系統的UIAutomator框架。Appium對iOS系統的支持得益于Dan Cuellar’s對于iOS自動化的研究。Appium也集成了Selendroid,來支持老android版本。
Appium進行自動化測試的兩個好處
(1) Appium在不同平臺中使用了標準的自動化APIs,所以在跨平臺時,不需要重新編譯或者修改自己的應用。這里,跨平臺的意思是指可以在不同的系統上用相同的方式編寫測試腳本,而不是指用于Android系統的測試腳本可以完全不用修改的應用于iOS系統上。事實上,Android和IOS應用幾乎需要獨立的進行編寫。
(2)Appium支持Selenium WebDriver支持的所有語言,如java、Object-C、JavaScript、PHP、Python、Ruby、C#、Clojure,或者Perl語言,更可以使用Selenium WebDriver的Api。Appium支持任何一種測試框架。如果只使用Apple的UIAutomation,我們只能用javascript來編寫測試用例,而且只能用Instruction來運行測試用例。同樣,如果只使用Google的UIAutomation,我們就只能用java來編寫測試用例。
Appium的系統需求
Android自動化測試可以在Windows、Mac、Linux上進行,需要安裝Android SDK、Node等工具。而iOS的自動化由于需要Xcode的支持,只能在Mac上運行,需要安裝Xcode、Node等工具。此外,由于appium ios自動化的底層使用的是UI Automation,因此在使用appium之前必須搭建iOS開發環境。
一、搭建appium環境
目前Appium測試iOS設備,要求Mac操作系統的最低版本是mac OS?版本10.7,本機使用的開發環境是Xcode 9.4.1,?Mac x 10.13.3。由于時間有限下文截圖可能不太清晰,請諒解。
1.?安裝brew在終端輸入命令?/usr/bin/ruby?-e?"$(curl -fsSL?https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.?安裝libimobiledevicebrew install libimobiledevice --HEAD
3.?安裝carthagebrew install carthage
4.?安裝node.js?,https://nodejs.org/en/download/,?下載.pkg文件安裝 5.?安裝cnpm?https://npm.taobao.org/npm?install?-g?cnpm?--registry=https://registry.npm.taobao.org
6.?安裝ios-deploysudo?cnpm?install?-g?ios?–deploy
7.?安裝xcpretty?gem install?xcpretty
安裝的版本為xcpretty-0.3.0
8.?安裝appium1.10.0sudo?cnpm?install?-g?appium@1.6.3
9.?安裝appium-xcuitest-driver依賴?9.1?安裝WebDriverAgent
首先要搭建WebDriverAgent編譯環境,首先需要安裝如下的軟件:
??Homebrew ??carthage ??python ??node.js ??Xcode8.0+(IOS9.3,Xcode8.0+才能正常編譯)安裝Homebrew
/usr/bin/ruby?-e?"$(curl -fsSL?https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝WebDriverAgent
使用git clone命令將WebDriverAgent項目克隆到本地
git?clonehttps://github.com/facebook/WebDriverAgent
9.2?安裝appium-xcuitest-driver依賴,進入WebDriverAgent安裝目錄,運行bootstrap
cd/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
mkdir?-p?Resources/WebDriverAgent.bundle//執行腳本
sh?./Scripts/bootstrap.sh
如果出現報錯,則關閉終端再打開,執行
10.?下載WebDriverAgent-master 10.1?Xcode打開WebDriverAgent.xcodeproj,修改配置:選擇菜單files->open,路徑/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
10.2?雙擊WebDriverAgentLib,設置后進行編譯
按如下進行修改
Bundle ID改為com.ming.wda.WebDriverAgentLib
修改配置WebDriverAgentRunner后編譯
11.?真機的udid通過iTunes——摘要,點擊序列號,出現UDID,右鍵拷貝即可。安裝appium-python-client
二、運行與測試
12.?Xcode菜單欄選擇目標設備,Scheme選擇WebDriverAgentRunner,最后運行 Product -> Test。一切正常的話,手機上會出現一個無圖標的WebDriverAgent應用,啟動之后,馬上又返回到桌面。這是正常的。
此時控制臺界面可以看到設備的IP。如果看不到的話,使用這種方法打開view-debug area-activate console
出現上圖,表示成功了
13.?安裝appium-doctor確定所有依賴是否安裝成功,可通過appium-doctor驗證,首先安裝appium-doctor(sudo?npm install -g appium-doctor),然后在終端運行appium-doctor,如下圖,都是打勾狀態就證明環境正常
14.?brew install?–HEAD libimobiledevice
15.?運行appium
終端執行 appium?–p 4723
三、啟動APP
第一步,Xcode打開WebDriverAgentRunner,scheme選擇它,菜單Project->Test,build成功后在手機里裝上WebDriverAgent;第二步,手機連接Mac電腦;第三步,啟動Appium?desk,start desired session;
就可以自動測試App了。
轉載于:https://www.cnblogs.com/fengye151/p/11518415.html
總結
以上是生活随笔為你收集整理的开启iOS自动化测试之门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019秋第三周学习总结
- 下一篇: python查找数组中出现次数最多的元素