Airtest框架基于python的测试框架,核心原理是基于python的内置unittest进行延申开发的测试框架, 核心主要包含两个模块:airtest, poco
airtest: (1)图像识别 (2)封装了adb shell命令提供了用户层的api:touch(),swipes().... 提供接口的一般是没有返回值,找不到会ERORR, exits()会返回False
poco: 获取控件,提供了元素操作的方法, 提供接口的返回值一般是Bool类型
本文是使用本地python环境搭建的一套适用于App, 微信小程序等 移动端自动化测试框架。
<1>用例设计
UI+接口搭配运行,用例设计更灵活,直接引用用例所需的自定义封装方法
<2> 测试数据
造数据方便,对于不同类型数据便于处理,如:json, form-data, 标签类数据等
1. 环境搭建避坑:
<1> python版本:3.6x, 3.7x, 3.8x, 3.9x(问题不大) 3.11x+(不支持) ------版本兼容情况会随Airtest框架版本更新不同
<2> airtest,poco一般都是版本对应的,要升级同时升级
2. 手机检查
<1> 打开调试
<2> 安装Yosemite:airtest的输入法
<3> 安装pocoservice: poco获取控件服务
**并不是所有机型都可以很好用作自动化设备,目前机型兼容情况:https://airtest.doc.io.netease.com/IDEdocs/device_connection/6_android_support/
3. 测试框架主流程如下
4. 与Jenkins集成时优化步骤:
<1> 解决脚本测试结果与Jenkins构建结果一致性问题:因为若脚本中自身的异常处理机制(try...except...finally),会使脚本总会完整执行完,
对Jenkins来说执行完成均为Sucess,不能很好的体现实际测试结果。
<2> 搭配下拉选项参数化插件时,更直观的看到每次构建记录运行的脚本名称
学习参考:
airtest官方文档:https://airtest.readthedocs.io/zh_CN/latest/
教程汇总文档:https://airtest.doc.io.netease.com/
air脚本批量运行的模块:from airtest.cli.runner import AirtestCase,run_script
标签:框架,python,poco,测试,airtest,Jenkins From: https://www.cnblogs.com/wang-technology/p/17168161.html