Pytest

Pytest是一个流行的Python单元测试框架,可用于Web自动化、接口自动化和App自动化。它支持与selenium、requests和appium等工具集成,并具备测试用例跳过、重试失败用例等功能。通过pytest.ini配置文件,可以定制测试行为。此外,pytest还提供了标记执行顺序、分组执行、批量参数化等高级特性,并能与allure生成详细测试报告,以及与jenkins进行持续集成。
摘要由CSDN通过智能技术生成

Pytest

简介

  1. python单元框架

  2. 可以和selenium、requests、appium结合实现Web自动化,接口自动化,app自动化

  3. pytest可以实现测试用例的跳过及returns失败用例重试

  4. 和allure生成美观二点测试报告

  5. 和jeckins持续集成

  6. 常用插件

    • pytest-html: 生成html格式的自动化测试报告
    • pytest-xdist:测试用例分布式执行,多cpu分发
    • pytest-ordering: 用于改变测试用例的执行顺序
    • pytest-rerunfailures: 用例失败后重跑
    • allure-pytest 用于生成测试报告
  7. 默认规则:

    以test_*.py *_test.py

    不输出任何打印信息,-s 指令打印

参数详解

-s : 表示输出调试信息,包括print打印信息

-v: 显示跟详细的参数,, -vs 这两个可以连用

-n: 支持多线程或者分布式运行测试用例(-n 2)两个线程

–returns NUM: 失败用例重跑次数

-x: 只要一个用力报错,那么测试停止。

–maxfail=2: 出现两个用例失败就停止

-k: 指定测试用例,, -k “some_str” 比对测试函数名,

–html ‘path’ 生成html测试报告

-rA: 简单统计

-m: 标记,执行分组的标记

pytest.ini

pytest.ini 这个文件它是pytest单元测试框架的核心配置文件

1、位置:一般放在项目的根目录

2、编码:必须是ANSI

3、作用:改变默认测试行为

4、运行规则:从ini文件中读取

[pytest]

addopts = -vs
# 测试用例文件夹,可自己配置
testpaths = ./testdemo
# 配置测试的模块文件名称
python_files = test*.py
# 配置测试搜索的测试类名
python_classes = Test*
# 配置测试搜索的测试函数名
python_functions = test

标记执行顺序

pytest-ordering

@pytest.mark.run(order=3)

分组执行

smoke: 冒烟用例,分布在各个模块里面

markers = 
	smoke: 冒烟用例
	users: 用户相关

@pytest.mark.smoke

@pytest.mark.users

pytest -vs -m "smoke"

pytest -vs -m "smoke and users" pytest -vs -m smoke,users

跳过用例

无条件跳过

@pytest.mark.skip(reason=“reason”)

有条件跳过

@pytest.mark.skipif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值