前言
现在基本上项目没有一个完整而且自动化的测试流程,所以总会出现一些低级的,重复的错误。所以需要一个完整完善的自动化测试流程。
Uiautomator2+Pytest+Allure
uiautomator2 是一个Android UI自动化框架,支持Python编写测试脚本对设备进行自动化。底层基于Google uiautomator。
特点:
限制:
- 需要python语言基础
pytest
一个测试的框架
环境搭建
官方Git
请自行安装python
新建一个测试目录,cd进去,在执行下面的命令
准备Python虚拟环境 Virtualenv
1 | pip install virtualenv |
安装相关的python库
1 | pip install pytest==3.7 |
新建一个文件,进行简单测试main.py
1
2
3
4
5
6
7
8
9
10def inc(x):
return x + 1
def test_answer():
assert inc(3) == 5
def test_answer2():
assert inc(4) == 5
命令行执行:pytest main.py --alluredir=testreport/
之后会在同目录生成一个testreport文件夹allure serve testreport/
如图所示:
fixture
fixture作为pytest的精华所在,需要单独的说一下。如果有java的aop基础,那么就很好了解了。其实fixture就是AOP,AOP可以在一个方法执行前后增加一下代码逻辑达到无痛植入。例如日常统计,debug等,而fixture同理。
我能用它做什么?
每次测试之前,需要清理测试环境,需要检查app的情况。例如解锁手机、清除app数据缓存、打开app、每次测试之后需要关闭app等等操作,都可以通过fixture来实现。