appium中的操作方法
滑动操作
- swipe(start_x,start_y,end_x,end_y,duration=持续时间)
- 持续时间越大,没有惯性
- 持续时间越小,惯性越大
- 持续时间太小的话,会变成点击
- scroll(起始的元素,结束的元素,持续时间)
- 持续时间越大,没有惯性
- 持续时间越小,惯性越大
- drag_and_drop(起始的元素,结束的元素)
- 没有惯性,精准的滑动
高级手势
- 被封装在appium里的TouchAction类中
- tap()
- 轻敲屏幕
- perform()
- 执行
- press()
- 按下
- release()
- 抬起
- wait()
- 等待
- long_press()
- 长按
- move_to()
- 移动
pytest框架
下载pytest
- pip install pytest==5.4.3
pytest基本使用
- 创建一个以test_开头的文件
- 创建一个以Test开头的类
- 创建一个以test_开头的方法
- 在终端中使用pytest去运行
pytest的配置文件
- 在根目录下创建一个pytest.ini的文件
python
[pytest]
# 添加运行时候的参数
addopts = -s
# 指定运行的路径
testpaths = ./scripts
# 指定运行的文件
python_files = test*.py
# 指定运行的类
python_classes = Test*
# 指定运行的方法
python_functions = test*
生成HTML测试报告
- pip install pytest-html
- 在运行参数行后面添加 --html=报告的路径以及文件名称
- eg:--html=./report/report.html
失败重跑
- pip install pytest-rerunfailures
- 在运行参数行后面添加 --reruns 次数
跳过测试函数
- 导入pytest
- 在测试方法上面使用装饰器
- @pytest.mark.skipif(condition=条件,reason='注释')
预期失败
- 在测试方法上面使用装饰器
- @pytest.mark.xfail(condition=条件,reason='注释')
控制函数执行顺序
- pip install pytest-ordering
- 在测试方法上面使用装饰器
- @pytest.mark.run(order=数字)
- 排序顺序:0>正数(从小到大)>不加装饰器>负数(从小到大)
参数化
- 单个参数的参数化
- 在测试方法上面使用装饰器
- @pytest.mark.paramtrize(变量名,数据)
- 方法名后面需要写形参进行接收,形参名和变量名一致
- 在测试方法上面使用装饰器
- 多个参数的参数化
- 在测试方法上面使用装饰器
- @pytest.mark.paramtrize(变量名,数据)
- 变量名需要写在元组中
- 数据使用列表嵌套列表的形式
- @pytest.mark.paramtrize(变量名,数据)
- 方法名后面需要写形参进行接收,形参名和变量名一致
- 在测试方法上面使用装饰器