pytest常用命令行参数解析
简介:pytest作为一个成熟的测试框架,它提供了许多命令行参数来控制测试的运行方式,以配合适用于不同的测试场景。例如 -x 可以用于希望出现错误就停止,以便定位和分析问题。–reruns=num适用于希望进行失败重跑等个性化测试策略。
历史攻略:
Pytest+Yaml 数据驱动测试用例
常用命令行参数,案例解析:
"-s": 输出调试信息,包括 print 打印的信息。这通常在调试时使用,因为它会显示测试用例中的所有 print 输出。"-v": 显示更详细的信息,包括测试用例的名称、执行状态(通过、失败、错误、跳过等)、执行时间以及任何与测试用例相关的输出或日志信息。"-n=num": 启用多线程或分布式运行测试用例。这需要安装 pytest-xdist 插件模块。它允许你指定并行运行的测试用例数量。"-k=value": 只执行用例的 nodeid 包含指定值的用例。这可以用于根据表达式匹配并运行特定的测试用例。"-m"=标签名: 执行被 @pytest.mark.标签名 标记的用例。这允许你根据定义的标签来过滤和运行测试用例。"-x": 一旦有任何一个用例执行失败,就停止当前线程的测试执行。"--maxfail=num": 与 -x 功能相似,但允许指定失败用例的最大数量后停止执行。"--reruns=num": 失败用例重跑指定次数。这需要安装 pytest-rerunfailures 插件模块。
程序主入口代码:
# -*- coding: utf-8 -*-
# time: 2024/5/12 17:46
# file: main.py
# 公众号: 玩转测试开发
import os
import pytestif __name__ == "__main__":""""-s": 输出调试信息,包括 print 打印的信息。这通常在调试时使用,因为它会显示测试用例中的所有 print 输出。"-v": 显示更详细的信息."-n=num": 启用多线程或分布式运行测试用例。这需要安装 pytest-xdist 插件模块。允许并行运行的测试用例数量。"-k=value": 只执行用例的 nodeid 包含指定值的用例。这可以用于根据表达式匹配并运行特定的测试用例。"-m"=标签名: 执行被 @pytest.mark.标签名 标记的用例。这允许你根据定义的标签来过滤和运行测试用例。"-x": 一旦有任何一个用例执行失败,就停止当前线程的测试执行。"--maxfail=num": 与 -x 功能相似,但允许指定失败用例的最大数量后停止执行。"--reruns=num": 失败用例重跑指定次数。这需要安装 pytest-rerunfailures 插件模块。"""pytest.main(["-s", "./tests/test_demo.py", "--alluredir", "./report"])# 步骤2:将生成的测试报告json数据,打包生成allure-HTML报告格式os.system("allure serve report")
测试用例:
# -*- coding: utf-8 -*-
# time: 2024/5/12 17:47
# file: test_demo.py
# 公众号: 玩转测试开发
import pytest
import randomclass TestDemo(object):@pytest.mark.repeat(10)def test_01(self):res = random.randint(0, 10)pytest.assume(res > 2)@pytest.mark.repeat(10)def test_02(self):res = random.randint(0, 10)pytest.assume(res > 1)
-x: 一旦有任何一个用例执行失败,就停止当前线程的测试执行。
pytest.main(["-s", "-x", "./tests/test_demo.py", "--alluredir", "./report"])

–maxfail=num: 与 -x 功能相似,但允许指定失败用例的最大数量后停止执行。
pytest.main(["-s", "--maxfail=3", "./tests/test_demo.py", "--alluredir", "./report"])

“–reruns=num”: 失败用例重跑指定次数。
pytest.main(["-s", "--reruns=3", "./tests/test_demo.py", "--alluredir", "./report"])

“-n=num”: 启用多线程或分布式运行测试用例。这需要安装 pytest-xdist 插件模块。允许并行运行的测试用例数量,当设置为auto时,设置为CPU核心数,效率最高。
pytest.main(["-s", "-n=auto", "./tests/test_demo.py", "--alluredir", "./report"])


相关文章:
pytest常用命令行参数解析
简介:pytest作为一个成熟的测试框架,它提供了许多命令行参数来控制测试的运行方式,以配合适用于不同的测试场景。例如 -x 可以用于希望出现错误就停止,以便定位和分析问题。–rerunsnum适用于希望进行失败重跑等个性化测试策略。 …...
pgsql-使用dump命令制作数据库结构、数据快速备份bat脚本
一、背景 通过pgsql的dump命令可以快速的做数据库表结构、表数据的备份,随着业务不断的增加单库单实例已经不能满足业务需要。技术人员是比较懒惰的,每次敲相同命令或是无脑的复制黏贴操作感觉都是对精神的一种摧残,解决摧残的方法就是把命令…...
【3D编程技巧】如何用四元数旋转矢量在相机空间进行光照计算
这里介绍一个小TIPS,很久没有这么有成就感了。我以前在学3D数学的时候,书上就有一句话,说你把矢量这些东西用久了,就应该形成一种“直觉”,仿佛这些东西就是你的左右手一样。而这次,我居然真的用“直觉”来…...
ICMP 和 IGMP 的区别
ICMP 和 IGMP 协议 IP 层分支图 ICMP(Internet Control Message Protocol,因特网控制信息协议) 用于补充 IP 传输数据报的过程中,发送主机无法确定数据报是否到达目标主机。 ICMP 报文分为出错报告报文和查询报文两种。 若数据…...
【Vue3】工程创建及目录说明
【Vue3】工程创建及目录说明 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日…...
算法学习2——排序算法(2)
上一篇介绍了几种常见且使用较多的排序算法,本章主要是一个进阶内容,介绍三个较为复杂的算法。 计数排序 (Counting Sort) 计数排序是一种适用于范围较小的整数序列的排序算法。它通过统计每个元素的出现次数,然后依次输出元素,…...
嵌入式人工智能(9-基于树莓派4B的PWM-LED呼吸灯)
1、PWM简介 (1)、什么是PWM 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是在具有惯性的系统中利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制…...
python-NLP:1中文分词
文章目录 规则分词正向最大匹配法逆向最大匹配法双向最大匹配法 统计分词语言模型HMM模型 jieba分词分词关键词提取词性标注 规则分词 基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行…...
iOS 开发包管理之CocoaPods
CocoaPods(Objective-C 时期,支持Objective-C和swift),CocoaPods下载第三方库源代码后会将其编译成静态库.a 文件 或动态库框架.framework 文件 的形式,并将它们添加到项目中,建立依赖关系,这种…...
Windows搭建RTMP视频流服务器
参考了一篇文章,见文末。 博客中nginx下载地址失效,附上一个有效的地址: Index of /download/ 另外,在搭建过程中,遇到的问题总结如下: 1 两个压缩包下载解压并重命名后,需要 将nginx-rtmp…...
VS2019安装MFC组件
VS2019支持的MFC版本是mfc140 ~ mfc142版本,它兼容VS2015、VS2017之前的老版本程序。 一、MFC的历史版本 MFC的历史版本如下: IDE发布时间工具集版本MSC_VERMSVCMFC版本dllVisual C6.01998V601200MSVC6.06.0mfc42.dll、mfcce400.dllVisual Studio 2002…...
Python学习—open函数,json与pickle知识点,Os模块详解
目录 1. Open函数 2.json与pickle模块 json模块 1. json.dumps() 2. json.dump() 3. json.loads() 4. json.load() pickle 模块 1. pickle.dumps() 2. pickle.dump() 3. pickle.loads() 4. pickle.load() 3.Os模块 1. Open函数 在Python中,open() 函数…...
基于SSM的高考志愿选择辅助系统
基于SSM的高考志愿选择辅助系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 前台 前台首页 院校展示 后台 后台首页 学校管理 摘要 随着高考制度的不断完…...
引领小模型潮流!OpenAI发布功能强大且成本低的GPT-4o mini
GPT-4o mini的成本比GPT-3.5 Turbo低了超过60%,其聊天表现优于Google的Gemini Flash和Anthropic的Claude Haiku。该模型从周四开始对ChatGPT的免费用户、ChatGPT Plus用户和团队订阅用户开放,并将在下周向企业用户开放。OpenAI计划未来将图像、视频和音频…...
【考研数学】线代满分经验分享+备考复盘
我一战二战复习都听了李永乐的线代课,二战的时候只听了一遍强化,个人感觉没有很乱,永乐大帝的课逻辑还是很清晰的。 以下是我听向量这一章后根据听课内容和讲义例题总结的部分思维导图,永乐大帝讲课的时候也会特意点到线代前后联…...
Java项目:基于SSM框架实现的海鲜自助餐厅系统【ssm+B/S架构+源码+数据库+毕业论文】
一、项目简介 本项目是一套基于SSM框架实现的海鲜自助餐厅系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能…...
前端面试题日常练-day97 【Less】
题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末 在Less中,以下哪个功能用于处理文本字间距? a) letter-spacing() b) word-spacing() c) text-spacing() d) space-between() Less中的Variables可以存储哪些类型的值ÿ…...
压缩视频大小的方法 怎么减少视频内存大小 几个简单方法
随着4K、8K高清视频的流行,我们越来越容易遇到视频文件体积过大,导致存储空间不足、传输速度缓慢等问题。视频压缩成为解决这一问题的有效途径,但如何在减小文件大小的同时,保证视频质量不受影响呢?本文将为你揭晓答案…...
JVM:GraalVM
文章目录 一、介绍1、什么是GraalVM:2、GraalVM版本 二、两种使用模式 一、介绍 1、什么是GraalVM: GraalVM是Oracle官方推出的一款高性能JDK,使用它享受比OpenJDK或者OracleJDK更好的性能。GraalVM的官网地址:https://www.graa…...
海外营销推广:快速创建维基百科(wiki)词条-大舍传媒
一、维基百科的永久留存问题 许多企业和个人关心维基百科是否能永久留存。实际上,只要企业和个人的行为没有引起维基百科管理方的反感,词条就可以长期保存。如果有恶意行为或被投诉,维基百科可能会对词条进行删除或修改。 二、创建维基百科…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
GeoServer发布PostgreSQL图层后WFS查询无主键字段
在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...
