Macaca 是一套面向用戶端軟件的測試解決方案,提供了自動化驅動,周邊工具,集成方案。由阿里巴巴公司開源:http://macacajs.github.io/macaca/html
特色:python
同時支持PC端和移動端(Android、iOS)自動化測試。android
支持JavaScript(Node.js)、Java、Python。git
周邊工具:支持用例錄製的UI Recorder。github
本次教程將介紹如何使用Macaca進行Android端自動化測試。使用編程語言爲Python3.5(Macaca只支持Python3.4以上版本)編程
一、Macaca環境+Android SDK環境+Java環境+Node環境見:Android環境配置api
二、經過macaca doctor能夠檢查環境是否配置成功,以下圖所示則表示環境均配置正常,若是有標紅提示,則須要對應處理。app
>>macaca doctor編程語言
三、安裝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
代碼以下:
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
一、啓動macaca服務:
>>macaca server --verbose //加--verbose能夠看到詳細的執行過程
二、執行用例:
>>python3 macaca_test\macaca-android-sample.test.py
以上