Python + Airtest + poco + pytest + pytest-html 实现Android App自动化测试框架
一、背景
为了尝试除Appium外的测试框架,本文将介绍基于网易的airtest框架为基础,配合poco及pytest实现对Android App的自动化测试。
二、框架介绍
框架集成使用airtest + poco + pytest + pytest-html
,airtest+poco负责对应用元素定位,pytest负责对测试用例管理及执行,然后用pytest-html生成测试报告(也可以用allure)
三、项目目录
- base:封装基础的方法
- config:手机设备信息,app包信息,页面元素信息等
- logs:记录每次运行的日志
- page:app的每个页面
- reports:测试报告数据
- testcase:测试用例文件
- testcase/case_image:测试截图
- utils:工具类,如:读取配置文件等
- luanch.py:设备连接,app启动文件
- run.py:项目启动入口
四、核心代码
1、连接手机及启动App
手机的deviceName
和appPackage
保存在conf.yaml文件中,对yaml文件的读取也单独写了一个工具类(./utils/readYAML.py
)
在launch.py
文件中对App进行启动和关闭()
2、BasePage文件封装基础方法
3、login_page执行登录动作
4、业务流程,测试用例,这里示例登录后检查主界面显示的时间是否与当前实际时间一致
5、在测试用例所在目录执行pytest --html=./reports/report.html
,运行测试用例并生成测试报告