前言:
Macaca 是一套面向用戶端軟件的測試解決方案,提供了自動化驅動,周邊工具,集成方案。由阿里巴巴公司開源:http://macacajs.github.io/macaca/
特點:
同時支持PC端和移動端(Android、iOS)自動化測試。
支持JavaScript(Node.js)、Java、Python。
周邊工具:支持用例錄制的UI Recorder。
本次教程將介紹如何使用Macaca進行Android端自動化測試。使用編程語言為Python3.5(Macaca只支持Python3.4以上版本)
環境安裝:
1、Macaca環境+Android SDK環境+Java環境+Node環境見:Android環境配置
2、通過macaca doctor可以檢查環境是否配置成功,如下圖所示則表示環境均配置正常,如果有標紅提示,則需要對應處理。
>>macaca doctor

3、安裝Macaca Python Client,支持pip安裝。
>>python3 -m pip install wd

用例編寫:
項目目錄F:\workspace\macaca-android\macaca-test下創建測試用例:macaca-android-sample.test.py,其中macaca-test為測試目錄集。
https://github.com/macaca-sample/sample-python/blob/master/tests/macaca-android-sample.test.py
代碼如下:





API詳解:
driver.init() 初始化
driver.quit() 退出
driver.back() 返回上一步
driver.element_by_id 根據id來查找元素
driver.element_by_name 跟據name來查找元素
driver.elements_by_class_name 跟據class_name來查找元素
driver.accept_alert() alert彈框確認
driver.touch('tap', {'x':100,'y':100}) 在設備上應用觸摸操作,例如:tap/doubleTap/press/pinch/rotate/drag ,操作后面填寫對應坐標x,y值
driver.save_screenshot 保存截圖
備注:與appium的API極為相似,熟悉appium的同學可以快速上手,定位元素的方法一致。
詳細API見官網:https://macacajs.github.io/wd.py/api.html
執行用例:
1、啟動macaca服務:
>>macaca server --verbose //加--verbose可以看到詳細的執行過程

2、執行用例:
>>python3 macaca_test\macaca-android-sample.test.py


以上