pytest框架运行时的参数,以及多线程分布式运行用例、运行指定模块用例

news2024/12/27 9:41:00

一、运行时的参数

在上一篇博客中写了pytest最为核心的运行时前后置如何设置,细心的朋友可能也会发现其实我们当时就加过运行时的参数-vs。
pytest.main([‘-s’]):能打印出调试信息,print()或者日志都可以直接打印在控制台上。
在这里插入图片描述
在这里插入图片描述
pytest.main([‘-v’]):能打印出运行用例时的详细信息。
我们日常在工作中呢一般都使用这两个参数,而这两个参数我们一般结合起来一起使用。

if __name__ == '__main__':
    pytest.main(['-vs'])

在这里还要说一下,一个参数那就是-k,只执行或者只不执行带有对应关键字的用例。
只执行带有关键字oa的用例:

import pytest
import time


class TestLogin_01:
    def test_01_hujian(self):
        print('运行用例1')

    def test_02_hujianoa(self):
        print('运行用例2')
if __name__ == '__main__':
    pytest.main(['-vs', '-k=oa'])

运行结果:
在这里插入图片描述
如果想只运行不带关键字oa的用例呢:

if __name__ == '__main__':
    pytest.main(['-vs', '-k not oa'])

运行结果:
在这里插入图片描述

二、多线程分布式运行用例

当我们存在多条用例时,而用例执行又没有前后关系,这时候就可以使用分布式运行用例的方法。
在使用该方法前需要先安装:

pip install pytest-xdist

我们在使用时不需要导入该模块。
这是我们正常运行用例时。

import pytest
import time


class TestLogin_01:
    def test_01_hujian(self):
        print('运行用例1')
        time.sleep(2)

    def test_02_hujian(self):
        print('运行用例2')
        time.sleep(2)


if __name__ == '__main__':
    pytest.main(['-sv', 'test_login_02.py'])

运行时间4s。
在这里插入图片描述
接下来我们加参数分布式运行用例,

import pytest
import time


class TestLogin_01:
    def test_01_hujian(self):
        print('运行用例1')
        time.sleep(2)

    def test_02_hujian(self):
        print('运行用例2')
        time.sleep(2)


if __name__ == '__main__':
    pytest.main(['-sv', 'test_login_02.py', '-n=2'])

两个线程运行跑用例可以看到运行时间是2s相对于上次缩减了一半。
在这里插入图片描述

运行指定模块用例

在我们一般自动化测试过程中,一般会有一个调用一个模块所有用例的入口方法,如果我们想只运行某个测试类或者测试用例该这么做呢:
只运行某个测试用例:
层级分别是py文件对应的类以及方法。

import pytest


if __name__ == '__main__':
    pytest.main(['-vs', 'test_login_02.py::TestLogin_01::test_01_hujian'])

我们还可以指定文件夹去运行用例:pytest会自动找对应文件下的用例文件,前提是命名规则要对哦。

import pytest


if __name__ == '__main__':
    pytest.main(['-vs', '文件夹名称'])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

栈和队列1——栈的实现及其oj(括号匹配问题)

一,栈的概念 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈&#xf…

【100天精通Python】Day68:Python可视化_Matplotlib 绘制热力图,示例+代码

目录 1 值热力图(Value Heatmap): 2 密度热力图(Density Heatmap) 3 时间热力图(Time Heatmap): 4 空间热力图(Spatial Heatmap) 5 渐变热力图(Gradient Heatmap&am…

C语言实现获取文件大小(字节数)

首先使用如下命令在当前文件夹,创建一个大小为1234578字节的空白文件: fsutil file createnew ./test.bin 12345678关于fsutil命令的介绍:Windows快速创建任意大小的空白文件 使用十六进制编辑器打开,可以看到内容全是0&#xf…

滴滴一面:线程池任务,如何设置优先级?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如滴滴、极兔、有赞、希音、百度、网易的面试资格,遇到很多很重要的面试题: 如何设计线程池?请手写一个简单线程池? 就在昨天&…

肖sir__mysql之综合题练习__013

数据库题(10*5) 下面是一个学生与课程的数据库,三个关系表为: 学生表S(Sid,SNAME,AGE,SEX) 成绩表SC(Sid,Cid,GRADE) 课程表C(Cid&…

linux进程杀不死

项目场景: 虚拟机 问题描述 linux进程杀不死 无反应 原因分析: 进程僵死zombie 解决方案: 进proc或者find命令找到进程所在地址 cat status查看进程杀死子进程

【AI视野·今日CV 计算机视觉论文速览 第252期】Fri, 22 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 22 Sep 2023 Totally 90 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚SVGCustomization, 基于文本的矢量图生成定制(from 香港城市大学)。 website:https://intchous.github.io/SVGCustomization/ …

OVS-DPDK/虚拟化学习

用户/内核空间虚拟化 NFV和Middlebox的不同数据平面模型,具有不同的虚拟交换机选项、虚拟设备接口和虚拟化框架:(a)基于内核的vSwitch virtio-user/vhost-net和TUN/TAP VM;(b)基于内核的vSwitch virtio-user/vhost-net和TUN/TAP contain…

什么算泄露公司机密的行为(什么程度算公司泄密行为)

在当今的商业环境中,保护公司的核心竞争力和商业机密是至关重要的。然而,员工可能出于各种原因泄露这些信息,包括对竞争对手的追求、个人利益的驱动或者对工作的不满。在这种情况下,企业需要依赖专业的调查工具来揭示和证明员工的…

OpenGL之相机

OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动。 本节我们将会讨论如何在OpenGL中配置一个摄像机,并且将会讨论FPS风格的…

Nginx使用指南

文章目录 前言一、源码编译1.1 编译1.2 第三方模块编译 二、配置文件2.1 配置语法2.2 location语法2.3 配置文件块2.4 全局变量 三、HTTP 服务器3.1 基本3.2 反向代理3.3 压缩3.4 负载均衡3.5 HTTPS 支持3.6 UrlRewrite3.7 防盗链配置3.8 跨域3.9 静态服务3.10 PC/手机端分离3.…

Web3 solidity编写fillorder填充订单函数 并梳理讲述逻辑

好 经过上文 Web3 solidity编写cancelorder取消订单函数 并梳理讲述逻辑 我们成功编写了 cancelorder 取消订单函数 其实 做了取消订单 填充订单 已经是非常简单的事了 我们还是先起来ganache 虚拟环境 这里 我们 模仿 orderCancel 在做一存储结构 //存储被填充订单 mapping…

追光者的梦

追光者的梦 鸿蒙中我茫然于世,你是钻入我心里的那束光 我所有的梦想都是和你热烈的拥抱 没有追到你时,我一直在路上 追到你时,我的人生就被你点燃 ——致所有的追光者 合肥先进光源国家重大科技基础设施项目及配套工程启动会刚开过&…

go学习之数组与Map

文章目录 一、数组1.为什么需要数组2.数组快速入门3、数组的定义和内存布局数组的使用数组的遍历数组的注意事项和细节数组的应用案例 4.slice切片1.基本介绍2.切片使用的三种方式way1way2way3 3.切片的注意事项4.string和slice 5.二维数组1.排序1)排序的基本介绍2&…

uni-app实现获取未来七天时间和星期几功能

例子如下&#xff1a; HTML&#xff1a; <viewstyle"margin-top: 3%;width: 100%;height: 10vh;display: flex;justify-content: space-around;"><div v-for"(item,index) in same_week" :class"[same_dayitem.date? activ :,dis]"cl…

在虚拟机上安装win10/ubuntu的教程

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 一、下载软件资源 1、首先下载虚拟机Vmware_Pro17软件并正确安装&#xff1a;网盘链接 2、然后下载操作系统的镜像文件&#xff1a;MSDN, 我告诉你 - 做一个安静的工具站 二、在虚拟机上安装ubuntu系统 1…

EXP武器库编写

文章目录 pocsuite3工具SQL注入EXP布尔盲注优化最终优化 延时注入 phpstudy2016-2018-RCE利用DVWA文件上传metinfo_5.0.4EXPSQL-布尔盲注文件包含漏洞 定制SQLmaptamper脚本sqli-labs/less-26关卡分析 tamper脚本编写 python是黑客最喜欢的编程语言之一&#xff0c;但同时go语言…

基于AVR128单片机智能电风扇控制系统

一、系统方案 模拟的电风扇的工作状态有3种&#xff1a;自然风、常风及睡眠风。使用三个按键S1-S3设置自然风、常风及睡眠风。 再使用两个按键S4和S5&#xff0c;S4用于定时电风扇定时时间长短的设置&#xff0c;每按一次S4键&#xff0c;定时时间增加10秒&#xff0c;最长60秒…

C/C++程序员技术发展方向(强烈推荐!!)

大家好&#xff0c;我是阿Q。 今天这篇就是专门给现在还迷茫不知道自己到底要做什么方向C开发的同学们。 几年后回过头看的时候&#xff0c;你一定会感谢当初那个努力的自己&#xff01; C作为当下也非常流行的一个面向对象语言&#xff0c;有着非常多的应用&#xff0c;一定…