1、Macaca簡介
macaca是由阿里巴巴公司開發的一套自動化解決方案,適用於PC端和移動端。Macaca基於Node.js開發,測試案例編寫語言暫時也只支持Node.js。
2、Macaca與Appium區別
坦白說,這種外部驅動instruments的server-client自動化測試框架,在iOS上實現方式非常受限的,所以其底層的實現方式是一致的。
而在應用級上的封裝,二者均采用了Node.js作為開發語言,接口也基於web-driver實現,所以Macaca和Appium相似程度非常高。
如何看待Macaca和Appium區別?
以下是Macaca作者的設計思想:appium 是個優秀的工具。但無法滿足更輕、更快、更穩、更易集成、更貼合業務的高要求。可以認為Macaca是一個輕量級的Appium。當然,這就意味着很多Appium的功能會沒有了。
3、Macaca特點
- 支持移動端和PC端
- 支持Native, Hybrid, H5 等多種應用類型
- 提供客戶端工具和持續集成服務
4、安裝
1)安裝Xcode,Xcode 是運行在操作系統Mac OS X上的集成開發工具(IDE),由蘋果公司開發(Windows操作系統略)
IOS使用brew命令,使用brew命令需要安裝Homebrew(一款常用的 MacOS 的包管理器)
2)Node.js 由官網下載安裝(node的版本必須大於7.x)
輸入命令:node -v 確認安裝是否成功,npm是Node.js包管理,之后裝Macaca就是用它,所以下一步就是安裝npm
3)安裝npm(cnpm),輸入npm install -g cnpm --registry=https:
//registry.npm.taobao.org
輸入cnpm -v 確認是否安裝成功
了解更多淘寶NPM鏡像,詳見地址:http://npm.taobao.org/
4)安裝Macaca 輸入cnpm i macaca-cli -g 看到可愛的小猴子說明安裝成功了
5)安裝webdriver-client 輸入cnpm install webdriver-client
6)安卓的需要安裝JDK和安卓SDK(JDK要求 1.8 或更高版本)
7)安裝macaca-electron 輸入cnpm install macaca-electron -g
macaca-electron是基於Electron開發的Macaca驅動,是Macaca驅動之一
8)安裝mocha,輸入命令 npm install mocha -g
mocha是一款功能豐富的js單元測試框架,詳見http://www.cnblogs.com/tzyy/p/5729602.html#_h1_2 (非常好的博客)
mocha是node.js下常用的測試框架,安裝前必須先安裝node,配置好相應的環境變量,mocha也需要配置,安裝后輸入mocha -h有顯示說明安裝成功。
9)根據自身需要安裝其他驅動,如:
安裝環境檢查,輸入命令:macaca doctor
有紅色標識,說明還有配置沒有完成。圖中的Gradle是一個基於JVM的構建工具,各版本下載地址:http://services.gradle.org/distributions/
Macaca升級后是用Gradle來構建和部署,所以需要配置
下載壓縮包解壓即可,安裝好后配置環境變量
GRADLE_HOME指向gradle的安裝路徑,path環境變量添加 %GRADLE_HOME%\bin
查詢版本:gradle -v 如果沒有結果嘗試一下重啟cmd
10)安裝定位工具 cnpm install app-inspector -g
檢查是否安裝成功:app-inspector -u 設備id
【如果需要重裝則先卸載,管理員權限執行。 npm uninstall macaca-android -g; npm cache clean】
示例測試
1、下載樣例腳本:https://github.com/macaca-sample/sample-java
2、打開一個終端,進入工程目錄,啟動Macaca服務
命令:cd +demo目錄,注:一定要進入到腳本存放目錄
macaca server --verbose
追加--verbose參數,為了查看啟動中的詳細信息
3、在打開一個cmd窗口,執行mvn -s settings.xml clean install -Dmaven.test.skip=true (前提需要安裝maven)
注:mvn -s的作用在於使maven以工程目錄下的settings.xml文件為依據下載依賴,但是實踐中發現部分同學會出現mvn -s無法生效的作用,這樣會導致依賴下載失敗,這種情況下,需要大家將工程目錄下的settings.xml中的配置相應的添加到本地settings中。
4、輸入mvn test 或 mvn test -Dtest=macaca.client.DesktopSampleTest