从零开始学习软件测试-第46天笔记

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(变量名,数据)
        • 变量名需要写在元组中
        • 数据使用列表嵌套列表的形式
    • 方法名后面需要写形参进行接收,形参名和变量名一致
相关推荐
程序员大雄学编程26 分钟前
「深度学习笔记4」深度学习优化算法完全指南:从梯度下降到Adam的实战详解
笔记·深度学习·算法·机器学习
新子y35 分钟前
【小白笔记】PyTorch 和 Python 基础的这些问题
pytorch·笔记·python
Lynnxiaowen1 小时前
今天我们开始学习python语句和模块
linux·运维·开发语言·python·学习
rechol1 小时前
类与对象(中)笔记整理
java·javascript·笔记
新子y2 小时前
【小白笔记】KNN 核心预测函数 _predict_one 的过程
笔记
橘子是码猴子2 小时前
LangExtract:基于LLM的信息抽取框架 学习笔记
笔记·学习
柳安忆2 小时前
idea生成数据集调研
人工智能·笔记
AnySpaceOne2 小时前
笔记本电脑如何连接打印机?完整连接教程送上
学习·电脑
aramae3 小时前
详细分析平衡树--红黑树(万字长文/图文详解)
开发语言·数据结构·c++·笔记·算法
dxnb223 小时前
Datawhale25年10月组队学习:math for AI+Task2线性代数
人工智能·学习·线性代数