前言:

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


以上

Macaca初体验-Android端(Python)的更多相关文章

  1. Macaca初体验-PC端(Python)

    前言: Macaca 是一套面向用户端软件的测试解决方案,提供了自动化驱动,周边工具,集成方案.由阿里巴巴公司开源:http://macacajs.github.io/macaca/ 特点: 同时支持 ...

  2. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

  3. 深入Asyncio(三)Asyncio初体验

    Asyncio初体验 Asyncio在Python中提供的API很复杂,其旨在替不同群体的人解决不同的问题,也正是由于这个原因,所以很难区分重点. 可以根据asyncio在Python中的特性,将其划 ...

  4. Python+Flask+Gunicorn 项目实战(一) 从零开始,写一个Markdown解析器 —— 初体验

    (一)前言 在开始学习之前,你需要确保你对Python, JavaScript, HTML, Markdown语法有非常基础的了解.项目的源码你可以在 https://github.com/zhu-y ...

  5. python窗体——pyqt初体验

    连续两周留作业要写ftp的作业,从第一周就想实现一个窗体版本的,但是时间实在太短,qt零基础选手表示压力很大,幸好又延长了一周时间,所以也就有了今天这篇文章...只是为了介绍一些速成的方法,还有初学者 ...

  6. ipython及Python初体验

    阅读目录: Python环境体验 Python编辑器 ipython安装 Python提示符 Python初体验 print和变量 变量操作 内建函数:方法 数学运算:简单算术.随机数 关于模块 一. ...

  7. Python基础学习参考(一):python初体验

    一.前期准备 对于python的学习,首先的有一个硬件电脑,软件python的运行环境.说了一句废话,对于很多初学者而言,安装运行环境配置环境变量的什么的各种头疼,常常在第一步就被卡死了,对于pyth ...

  8. [转]Python爬虫框架--pyspider初体验

    标签: python爬虫pyspider 2015-09-05 10:57 9752人阅读 评论(0) 收藏 举报  分类: Python(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  9. Android开发学习之路--百度地图之初体验

    手机都有gps和网络,通过gps或者网络可以定位到自己,然后通过百度,腾讯啊之类的地图可以显示我们的地理位置.这里学习下百度地图的使用.首先就是要申请开发者了,这个详细就不多讲了.http://dev ...

随机推荐

  1. Spark之UDAF

    import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.expressions.{MutableAggr ...

  2. Oracle EBS json

    JSON:  JavaScript 对象表示法 JavaScript Object Notation JSON 是存储和交换文本信息的语法.类似XML. JSON 比 XML更小.更快,更易解析. 使 ...

  3. sqlserver 删除表中 指定字符串

    源表T "单据编号"               "航班计划日期"        "航班号"          "起飞航站代码&q ...

  4. strlen strcat strcpy strcmp 自己实现

    strlen strcat strcpy strcmp 自己实现 strlen include <stdio.h> #include <string.h> #include & ...

  5. Cisco 日常巡检命令

    https://www.cnblogs.com/qzqdy/p/8116903.html 日常排错命令6 交换机的前面板有几个指示灯,用于监控系统的活动和性能.这些指示灯称之为发二极管(LED) 1. ...

  6. May 26. 2018 Week 21st Saturday

    Do what you say, say what you do. 做你说过的,说你能做的. Be honest to yourself, and be honest to those people ...

  7. orcFile split和读数据原理总结(hive0.13)

    http://blog.csdn.net/zhaorongsheng/article/details/72903431 官网关于orcfile的介绍 背景 Hive的rcfile格式已经使用多年,但是 ...

  8. Caused by: java.io.FileNotFoundException: velocity.log (No such file or directory)

    Caused by: org.apache.velocity.exception.VelocityException: Error initializing log: Failed to initia ...

  9. UEditor学习笔记1

    首先对于前段时间遇到的一些总结做下记录: 0 == ''  => true transition,渐变属性,其值可以是某属性,也可以是all,如transition: all 0.3s:鼠标放到 ...

  10. Android Call requires API level 19 (current min is 15)

    在 Android 应用开发时候,配置文件中声明了支持的Android系统范围: minSdkVersion 15targetSdkVersion 27 但是代码中需要使用的一个类 (android. ...