Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是相似Sikuli的一个工具,主要用来作游戏自动化的,经过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库来作自动化,看样子还不错,因此,这里推荐给各位同窗。python

官方网站
http://airtest.netease.com/android


Airtest IDE

这是Airtest测试工具标配的IDE,目的是方便咱们用于录制/编写自动化测试。git

你可使用帐号登陆或直接点击左下角“skip”按钮跳过。shell

启动Android模拟器或者用PC链接一台手机。经过adb命令检查移动设备。设计模式

> adb devices
List of devices attached
emulator-5554   device

当我在Android模拟器中操做时,Airtest IDE右侧的界面是同步的,这一点比不少移动测试工具作的优秀,例如,appium desktop必须手动刷新才能获取最新的界面。app


Airtest

Airtest IDE支持Airtest脚本的录制,用法很是简单,你甚至能够先不用看它的API,经过录制来熟悉它的API。框架

右侧Airtest窗口以及API,点击右上角录制按钮,而后,就能够在映射的Android模拟器界面上点点点了。编辑器

如下是我点点点,生成的脚本。ide

过程很是简单,点击桌面上的计算器图标,打开编辑器输入1+1= ,而后,点击工具栏上的 “运行”按钮,就能够回放了。工具

这种脚本更适合游戏,由于游戏界面很难定位,图片识别(截图)的方式确实是不错的选择。


Poco

Poco是另一种形式的脚本,它与通常的自动化工具同样,经过元素自己的属性来定位元素,而且它一样支持录制。

点击右上角第一个的录制按钮。而后,继续在android映射的界面上点点点。

由于脚本里面没截图,我就单独拿出来了。

__author__ = "fnngj"

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

poco("计算器").click()
poco("com.android.calculator2:id/digit_1").click()
poco("com.android.calculator2:id/op_add").click()
poco("com.android.calculator2:id/digit_1").click()
poco("com.android.calculator2:id/eq").click()

从poco的API来看比appium更为简洁。

若是你要作的是非游戏的APP的话,poco应该是咱们后面学习的重点。这样的代码无论是和单元测试框架结合仍是使用PO设计模式都是没有问题的。

并且,一样提供元素的属性展现,又有录制功能加持,在开发效率上应该会提升很多。

若是,你恰好又会Python,那么这将是一个不错的选择。

相关文章
相关标签/搜索