pytest运行用例的常见方式及参数

news/2025/2/22 11:30:55

pytest_0">标题pytest运行用例方式及参数

用例结构目录

在这里插入图片描述

“”"
在最外层目录下执行所有的用例
参数说明:
-s:显示用例的打印信息
-v:显示用例执行的详细信息
–alluredir:指定allure报告的路径
–clean-alluredir:清除allure报告的路径
-n:指定并发的进程数
-x:出现一条用例失败就停止执行
–maxfail:指定最大失败用例数
–reruns:指定用例失败重跑次数
–reruns-delay:指定用例失败重跑的间隔时间
–m:指定用例的标记表达式
-k:(keywords)指定用例的关键字表达式,可以使用and、or、not进行组合.例如用例包含了success,但是不包含failed的用例 ‘-k’,‘success’
“”"
import pytest

# 运行所有用例

pytestmains_v_24">pytest.main([‘-s’, ‘-v’])

# 运行指定用例:运行登录用例

pytestmains_v_test_loginpy_26">pytest.main([‘-s’, ‘-v’, ‘./test_login.py’])

print(“运行指定模块用例完成***”)

# 运行制定的用例模块下的某个用例,使用两个冒号作为分隔符

pytestmains_v_test_loginpyTestLogintest_login_01_29">pytest.main([‘-s’, ‘-v’, ‘./test_login.py::TestLogin::test_login_01’])

print(“运行指定某个用例完成***”)

pytestxdist_31"># 分布式运行 依赖pytest-xdist插件

time_start = time.time()

pytestmains_v_test_loginpy_33">pytest.main([‘-s’, ‘-v’, ‘./test_login.py’])

time_end = time.time()

print(“分布式运行总耗时:”, time_end - time_start)

print(“运行分布式用例前完成***”)

# 分布式运行[‘-n’,‘2’] -n 表示使用分布式,后面的数字表示并发的进程数;注意多线程的时候,是按顺序分配。两个线程则是,1.3.5 :2.4.6

time_start = time.time()

pytestmains_v_n_2_test_loginpy_39">pytest.main([‘-s’, ‘-v’, ‘-n’, ‘2’, ‘./test_login.py’])

time_end = time.time()

print(“分布式运行总耗时:”, time_end - time_start)

print(“运行分布式用例完成***”)

pytestrerunfailures_43"># 失败用例重跑, -reruns 2 表示失败重跑2次 依赖pytest-rerunfailures插件

pytestmains_v_reruns_2_test_loginpy_44">pytest.main([‘-s’, ‘-v’, ‘–reruns’, ‘2’, ‘./test_login.py’])

print(“运行失败重跑用例完成***”)

# -x 表示出现一条用例失败就停止执行,执行失败了就停止运行

pytestmains_v_x_test_loginpy_47">pytest.main([‘-s’, ‘-v’, ‘-x’, ‘./test_login.py’])

print(“运行用例失败就停止执行完成***”)

**************************************************************************************************************

上面是all run 文件运行的命令。也可以在终端里面输入对应的命令执行测试

pytestini_pytestinimain_54">第三种执行方式:pytest.ini 文件,将需要执行的用例信息配置到pytest.ini文件中,main()中存在其他参数时,还是会先读取配置,这种优先级最高!!!

注意:文件的编码方式需要使用ANSI编码格式

“”"
pytest.ini 文件内容如下:
[pytest]

参数,多个参数使用空格分开

addopts = -v -s --html ./report/report.html

用例路径

testpaths = testcase

用例文件

python_files = test*.py

用例类

python_classes = Test*

用例方法

python_functions = test*

pytestini__69">分组执行方式:pytest.ini 文件

markers =
smoke:冒烟测试
login:登录测试
register:注册测试

pytestmainvmsmoke_74">执行方式:pytest.main([‘-v’,‘-m’,‘smoke’])

pytestmainvmlogin_75">执行方式:pytest.main([‘-v’,‘-m’,‘login’])

这里可以修改默认的方式,例如文件是AAA*.py

“”"

pytestmarksmoke_78"># 分组执行用例:冒烟,标记smoke ,要配合用例文件中的pytest.mark.smoke使用

pytestmainv_m_smoke_79">pytest.main([‘-v’, ‘-m’, ‘smoke’])

# 分组执行用例:登录,标记login.smoke,多个分组执行用or 链接

pytestmainv_m_smoke_or_login_81">pytest.main([‘-v’, ‘-m’, ‘smoke or login’])

pytestmarkskipreason__82"># 无条件跳过测试用例:pytest.mark.skip(reason=“跳过原因”) --这种跳过方式,跳过后,用例不执行,但是会显示跳过的结果

pytestmainm_smoke_or_login_83">pytest.main([‘-m’, ‘smoke or login’])

pytestmarkskipifconditionTrue_reason__84">有条件跳过测试用例:pytest.mark.skipif(condition=True, reason=“跳过原因”) --这种跳过方式,跳过后,用例不执行

pytestmainv_m_smoke_or_login_85">pytest.main([‘-v’, ‘-m’, ‘smoke or login’])


http://www.niftyadmin.cn/n/5862191.html

相关文章

8.python文件

文章目录 1.**文件**1.1**文件是什么**1.2**文件路径**1.3**文件操作**1.3.1**打开文件**1.3.2**关闭文件**1.3.3**写文件**1.3.4**读文件** 1.4**关于中文的处理**1.5**使用上下文管理器** 大家好,我是晓星航。今天为大家带来的是 python文件 相关的讲解&#xff0…

如何教计算机识别视频中的人类动作

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 =============…

DVWA 靶场(含代码审计)

DVWA 靶场的通关 刚建立和使用 输入 http://dvwa:8898/setup.php //进入用户名 密码 dvwa 你自己设计的想要进入数据库 点击creat 用户名 密码 admin passwordAttack type Sniper模式 在Sniper模式下,Payload字典用于逐个替换请求中标记的位置。例如&#x…

如何在 Mac 上安装并配置 JDK 环境变量

如何在Mac上安装并配置JDK环境变量 在开发过程中,许多应用和框架都需要使用Java,尤其是使用Java开发的应用程序。如果你是Mac用户,以下是安装并配置JDK环境变量的步骤,确保你能顺利运行Java程序。 步骤 1:下载JDK 访…

智能硬件-01智能停车场

行业背景 随着现代人们生活水平的提高,私家车辆在不断增加,小区将面临着临时车用户要多于固定车用户的窘境,尤其是在早晚高峰时段车辆出入拥堵,对小区的车辆管理难度越来越大,对停车场收费员的岗位要求越来越高&#…

Minio集群模式报错解决:Unable to use the drive XXX: drive not found, will be retried

Minio集群模式报错解决:Unable to use the drive XXX: drive not found, will be retried 部署环境说明问题描述问题分析验证数据目录无数据启动:验证数据目录有数据启动: 问题总结 部署环境说明 节点共规划出四个节点,并且已经进…

西门子plcs7 200 smart中Modbus RTU Slave详解

在西门子 S7-200 SMART PLC 中使用 Modbus RTU 协议进行从站通信时,使用 MBUS_INIT 和 MBUS_SLAVE 两个块来实现。 1. MBUS_INIT(Modbus 初始化块) MBUS_INIT 用于初始化 Modbus 通信设置,它会配置通信的基本参数。以下是各个输…

gitlab 解决双重认证无法登录remote: HTTP Basic: Access denied.

问题:gitlab开启了双因素认证 如进行了 OAuth configuration 在进行git操作时如下提示 remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead o…