airtest使用

airtest

Airtest是网易开发的手机UI界面自动化测试工具
通过截图功能操作手机虽然方便,但是截图涉及到分辨率的问题,代码不能在不同的手机上通用。
可以用来开发手机App爬虫
使用先抓大再抓小的技巧,先把每一组结果的父节点抓下来,再到每个结果里面分别获取子节点

使用流程

  • 打开手机(或模拟器)的USB调试功能,并选用网易IDE提供的输入APP后,使用adb 连接手机 参考http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html
  • 利用airtest辅助窗 截屏定位,滑动等
  • 利用poco辅组窗 高级定位 (在下拉菜单中选Android开发环境,选锁?后Airtest的屏幕被锁定) 在左下UI结构图中,点击对应的节点,代码中会自动添加定位信息
  • 在已连接的手机上方有一个phone assistant 可以实现手机应用的安装/卸载/列表查看;
    常用快捷操作:打开网址、输入文本、切换输入法、音量调节等;手机Shell调试窗口

基本操作

touch: 点击屏幕元素
swipe: 滑动屏幕
exists: 判断屏幕元素是否存在
text: 在输入框中输入文字
snashot: 截图

点自动录制,可以直接点之后完成代码的生成

poco(text="知乎").click()
poco(name="com.zhihu.android:id/input").set_text('古剑奇谭三')
poco(name='com.zhihu.android:id/magi_title', text='古剑奇谭(电视剧)').click()
poco(name='com.zhihu.android:id/magi_title')[1].click()
poco(name='com.zhihu.android:id/magi_title', textMatches='^古剑奇谭三.*$').click() #正则表达式
常见的基本上不会变化的属性包含但不限于:name type resourceId package

poco.swipe([0.5, 0.8], [0.5, 0.2])# poco.swipe(起点坐标,终点左边) 屏幕左上角为(0, 0),屏幕右下角为(1, 1)

使用child只会在子节点中搜索需要的内容,而使用offspring会像文件夹递归一样把里面的所有节点都遍历一次,直到找到符合条件的属性为止。

安装到python

  • pip install pocoui 安装环境即可直接在python中调用poco等函数
  • pip install airtest
  • 如果adb无效,可能需要给adb赋予运行权限

控制多台手机

adb devices -l

from airtest.core.api import auto_setup
from airtest.core.android import Android
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
auto_setup(__file__)
 
device_1 = Android('76efadf3a7ce4') #最左边的编号就是手机串号
device_2 = Android('adfasdfasf23')
device_3 = Android('adifu39ernla')
 
poco_1 = AndroidUiautomationPoco(device_1, use_airtest_input=True, screenshot_each_action=False)
poco_2 = AndroidUiautomationPoco(device_2, use_airtest_input=True, screenshot_each_action=False)
poco_3 = AndroidUiautomationPoco(device_3, use_airtest_input=True, screenshot_each_action=False)

airtest run untitled.air --device Android:///手机设备号 --log log/
python -m airtest run untitled.air --device Android:///手机设备号 --log log/

所有的选项都勾选上之后连接的设备,用&&来连接多个参数字符串

Android://127.0.0.1:5037/79d03fa?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=ADBTOUCH

a = connect_device("Android:///")

from poco.drivers.android.uiautomation import AndroidUiautomationPoco

poco = AndroidUiautomationPoco()
poco('android:id/title').click()

转载于:https://www.cnblogs.com/joeat1/p/10909824.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Airtest是一款用于自动化UI测试和游戏测试的开源工具。它支持多种平台和游戏引擎,并提供了丰富的功能和API。以下是一个简单的Airtest使用教程: 1. 安装Airtest:首先,你需要安装Airtest。你可以通过pip命令在命令行中执行以下指令来安装Airtest: ``` pip install -U airtest ``` 2. 运行Airtest脚本:创建一个Python脚本文件,并导入airtest模块。你可以使用Airtest提供的API来编写测试脚本。以下是一个示例脚本: ```python from airtest.core.api import * # 连接设备或模拟器 connect_device("Android://") # 启动应用 start_app("com.example.myapp") # 点击按钮 touch(Template("button.png")) # 断言检查 assert exists(Template("success.png")) # 关闭应用 stop_app("com.example.myapp") ``` 3. 运行测试脚本:在命令行中运行你的测试脚本。你可以使用以下命令来运行脚本: ``` airtest run your_script.py ``` 4. 查看测试结果:测试完成后,你可以查看测试结果报告。Airtest会生成一个HTML格式的报告文件,其中包含测试结果和截图。你可以使用以下命令来打开报告文件: ``` airtest report your_script.py --log_root logs ``` 5. 高级功能:Airtest还提供了许多高级功能,如图像识别、手势操作、录制回放等。你可以查阅官方文档以了解更多详细信息和示例代码。 这是一个简单的Airtest使用教程。希望对你有帮助!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值