从零开始学习软件测试-第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(变量名,数据)
        • 变量名需要写在元组中
        • 数据使用列表嵌套列表的形式
    • 方法名后面需要写形参进行接收,形参名和变量名一致
相关推荐
笑鸿的学习笔记23 分钟前
工具笔记之生成图表和可视化的标记语言Mermaid
笔记
大霞上仙43 分钟前
jmeter学习(7)beanshell
学习·jmeter
大霞上仙44 分钟前
jmeter学习(1)线程组与发送请求
java·学习·jmeter
望森FPGA1 小时前
HDLBits中文版,标准参考答案 |2.5 More Verilog Features | 更多Verilog 要点
学习·fpga开发
kissSimple1 小时前
UE行为树编辑器图文笔记
笔记·ue5·编辑器·unreal engine·unreal engine 5
l1x1n01 小时前
DOS 命令学习笔记
笔记·学习·web安全
winds~2 小时前
自动驾驶-问题笔记-待解决
人工智能·笔记·自动驾驶
道爷我悟了2 小时前
Vue入门-指令学习-v-on
javascript·vue.js·学习
人工智能技术咨询.2 小时前
张雪峰谈人工智能技术应用专业的就业前景!
人工智能·学习·计算机视觉·语言模型
s_little_monster2 小时前
【QT】QT入门
数据库·c++·经验分享·笔记·qt·学习·mfc