一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库来做自动化,看样子还不错,所以,这里推荐给各位同学。
官方网站
Airtest Project
### Airtest IDE
这是Airtest测试工具标配的IDE,目的是方便我们用于录制/编写自动化测试。
你可以使用账号登录或直接点击左下角“skip”按钮跳过。
启动Android模拟器或者用PC连接一台手机。通过adb命令检查移动设备。
-
> adb devices
-
List of devices attached
-
emulator-5554 device
当我在Android模拟器中操作时,Airtest IDE右侧的界面是同步的,这一点比很多移动测试工具做的优秀,例如,appium desktop必须手动刷新才能获取最新的界面。
#### Airtest
Airtest IDE支持Airtest脚本的录制,用法非常简单,你甚至可以先不用看它的API,通过录制来熟悉它的API。
右侧Airtest窗口以及API,点击右上角录制按钮,然后,就可以在映射的Android模拟器界面上点点点了。
以下是我点点点,生成的脚本。
过程非常简单,点击桌面上的计算器图标,打开编辑器输入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,那么这将是一个不错的选择。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。