Shell 脚本与 Pytest 结合:交替运行 Pytest 的两个测试方法

news/2025/1/14 19:41:30/

有这样一个情况,在test_user_center.py文件中有两个测试方法,test_login和test_logout,

如果在终端这样指定命令:

pytest -q -s -ra --count=500 test_user_center.py --alluredir=./report/login_and_logout/resource | tee pytest_summary.log,

那么会先执行500遍test_login之后再执行500遍test_logout,test_login 和 test_logout 测试方法并不会以交替顺序执行(即 test_login -> test_logout -> test_login -> test_logout,重复执行 500 次)。

那么如何实现交替执行两个测试方法的预期呢?这里介绍一个使用shell解决的方法:

1、直接执行,在终端中运行:

for i in {1..500}; do pytest -q -s -ra test_user_center.py --alluredir=./report/login_and_logout/resource | tee pytest_summary.log; done | tee pytest_summary.log

2、保存为 Shell 脚本,将代码保存为文件,比如 run_tests.sh: 

#!/bin/bash
for i in {1..500}
dopytest -q -s -ra test_user_center.py --alluredir=./report/login_and_logout/resource | tee pytest_summary.log
done | tee pytest_summary.log

然后赋予可执行权限:

chmod +x run_tests.sh

最后运行:

./run_tests.sh

有兴趣的小伙伴们可以尝试一下这种方法,当然还有别的方法,后面慢慢讲。

 


http://www.ppmy.cn/news/1563106.html

相关文章

1、什么是GO

引言 作为程序员,选择编程语言总是一个令人头疼的问题。每种语言都有各自的优势和局限,如何在效率和性能之间找到平衡,成了许多开发者面临的难题。 一些开发者倾向于选择像Python或Ruby这样简单易学、开发效率高的语言,因为这样…

spring boot 支持jsonp请求

spring boot 支持jsonp请求 项目中有用到 jsonp请求,那怎么使用spring boot 实现呢 实现 在不改动原有的框架基础上,对jsonp响应单独处理,即 实现 AbstractHttpMessageConverter: public class JsonpHttpMessageConverter extends Abstra…

ssh2-sftp-client和ssh2配合使用js脚本快速部署项目到服务器

有时候因为服务器不能实现github或者gitlab的自动部署服务,所以就需要使用脚本来实现自动部署,可以省时省力,一劳永逸。这里就使用ssh2-sftp-client和ssh2来实现,即便是需要sudo权限,也是可以的。 1.先将本地打包后的…

第六章:网页设计

文章目录: 一:网页设计 1.基本概念 1.1 网页 1.2 网站 1.3 工具 2.HTML语言 2.1 基础 2.2 标记 2.2.1 结构 2.2.2 文本 2.2.3 功能 2.2.4 表单 2.3 属性 二:IIS 1.定义 2.主要功能 3.特点与优势 4.应用场景 4.1 安装IIS …

open3d+opencv实现矩形框裁剪点云操作(C++)

👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… ​💫签名:面朝大海,春暖花开! open3dopencv实现矩形框裁剪点云操作(C&#xff…

R语言的语法糖

R语言的语法糖 引言 在编程语言中,所谓的“语法糖”是指那些使得程序员能够以更简洁、直观的方式书写代码的语法形式。R语言作为一种用于统计分析和数据可视化的编程语言,具有丰富的功能和灵活的语法。本文将深入探讨R语言中的语法糖,帮助读…

AI时代来了,我们不再需要IDE了

大家好,我是编程乐趣。 最近在思考一个问题,那就是AI这么强大。 未来有没有可能,我们就不需要不需要开发工具了,只需一个浏览器就可以开发软件了。 一、AI带来的变化 1、代码生成与补全 AI工具如GitHub Copilot等能够根据代码…

C# XPTable 日期字段处理(XPTable控件使用说明十三)

1、SQLite数据库定义为日期类型 2、XPtable中日期字段定义与显示 //显示时间表columnModel1.Columns.Clear();columnModel1.Columns.Add(new NumberColumn("id", 30));NumberColumn numberColumn new NumberColumn("次数", 50);numberColumn.Maximum 100…