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
以上