airtest轻松录制自动化脚本

Airtest脚本辅助录制

Airtest是一个 基于图像识别 的无侵入式测试框架。
Airtest测试框架提供了大量的测试API,我们可以在测试脚本中灵活使用这些方法实现测试功能。
Airtest中的常用API包括设备连接/管理、设备操作、AirtestIDE中提供了Airtest录制辅助窗,可以快速生成Airtest常用语句。本章节主要讲述如何使用AirtestIDE快速生成Airtest脚本。

Airtest脚本录制辅助窗

在AirtestIDE的Airtest录制辅助窗内,包含有三种类型的录制按钮:

touch点击/常按操作

wait等待某个元素出现

swipe滑动屏幕

exists找到图片坐标

test 输入文本

keyevent 按键操作(如:输入HOME就是返回桌面)

snapshot 截图

sleep睡眠

assert_exists断言图片出现的位置

assert_not_exists断言与assert_exists相反

assert_equal断言两个条件是否相等

assert_not_equal断言两个条件是否不相等

airtest轻松录制自动化脚本_第1张图片

利用 Airtest脚本录制辅助窗录制脚本

这里以小米商城为例 演示

测试流程为:

1 打开APP

2在首页输入耳机搜索

3 点击一个商品查看详情

4 点击收藏

连接上自己的手机打开USB调试后 手机就能投射到IDE上进行脚本录制了

使用touch将APP图标框起来 就能获取坐标点点击启动APP了

airtest轻松录制自动化脚本_第2张图片

点击启动APP后 会有几秒中加载的时间才能到达首页 所以用wait 来判断等待某个元素出现后再执行下来的代码

airtest轻松录制自动化脚本_第3张图片
我以首页的商城早报为参考元素 点击wait把商城早报框起来 这样app后 代码会一直等待 直到商城早报出现后再执行

airtest轻松录制自动化脚本_第4张图片

touch点击首页搜索框

如果这个搜索功能是跳到另一个页面搜索的 所以 必须要再第二页再点一下确认光标 这个APP就不需要这么做了

到达搜索页面后使用text输入耳机

airtest轻松录制自动化脚本_第5张图片

然后用touch点击搜索

在列表中点击商品查看详情

airtest轻松录制自动化脚本_第6张图片

点击收藏

airtest轻松录制自动化脚本_第7张图片

使用airtest录制的基本流程就算录制完毕了

如果想单独调试一行代码是否可行 可以单机右击只允许选中的代码

airtest轻松录制自动化脚本_第8张图片

使用Poco辅助窗进行录制

poco定位相比airtest的图像定位要更加准确一些

在辅助窗上选择andriod

airtest轻松录制自动化脚本_第9张图片

POCO辅助窗使用的层级定位 找到poco窗对应的APP定位位置 就能对应用做出响应的操作

airtest轻松录制自动化脚本_第10张图片

比如我要打开APP 。双击对应的定位元素 这个元素就会自动的出现在脚本编辑窗内 我只需要在后面加上操作的动作 比如click点击

airtest轻松录制自动化脚本_第11张图片

打开后在首页进行滑动操作 依然用swipe方法

仔细阅读一下swipe的参数 用法

v1:滑动的起始位置

v2 :滑动的终点位置

vector: 滑动的方向

steps:滑动的点

duration:滑动的时长

airtest轻松录制自动化脚本_第12张图片

获取手机的屏幕坐标可以手机开发者模式中打开指针位置 这样就可以现在坐标了

使用swipe在首页进行向下滑动操作 到小米秒杀的位置

使用touch点击秒杀列表 touch也可以使用坐标点击
airtest轻松录制自动化脚本_第13张图片

在列表中使用poco层级定位 去找到这个路由器对应层级位置

双击视图树对应的商品元素位置 ,这个表达式就会写到脚本编辑窗中 然后在后面加上对应的操作 如点击操作就是click()
airtest轻松录制自动化脚本_第14张图片

来到商品详情页面 点击立即抢购 利用视图树定位立即抢购的按钮位置 后 双击对应的定位元素

airtest轻松录制自动化脚本_第15张图片

双击后 脚本编辑窗 出现对应的代码 在末尾追加click() 点击操作

poco("android:id/content").child("android:id/primary").child("android:id/primary").offspring("com.xiaomi.shop.plugin.instantpurchase:id/flash_viewpager").offspring("com.xiaomi.shop.plugin.instantpurchase:id/flash_list").child("android.widget.LinearLayout")[2].child("android.widget.LinearLayout").offspring("com.xiaomi.shop.plugin.instantpurchase:id/flash_product_image").click()

相同的操作选择规格 进行位置坐标的定位后 进行点击操作

点击立即抢购 后页面来到购物车 对购物车这个title进行断言操作
这个流程就算完成了
airtest轻松录制自动化脚本_第16张图片

你可能感兴趣的:(自动化测试,编程语言,功能测试)