Jmeter数据驱动 —— csv高效用例

news2024/11/19 3:23:06

目录

1、设置测试用例,创建用例数据文件:testcase.csv

2、新建一个线程组,命名为:数据驱动,添加配置元件-HTTP请求默认值,配置好IP地址和端口号

3、添加逻辑控制器-循环控制器。循环控制器的作用可以控制整个用例循环执行的次数。默认值是1根据用例数量可以修改为8

4、在循环控制器节点下添加CSV数据文件设置,具体配置内容如下:

5、添加逻辑控制器——如果(if)控制器,if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别添加GET和POST两个控制器。

6、GET和POST两个控制器下分别添加请求和响应断言

7、添加监听器-察看结果树,点击运行,查看执行结果


1、设置测试用例,创建用例数据文件:testcase.csv

用例名称变量含义:

${caseSeq}:用例编号
${apiType}:api类型
${apiSeq}:api版本号
${apiName}:api名称
${priority}:优先级
${url}:api路径
${methods}:请求方法
${parameter}:请求参数
${expectValue}:期望值,用于断言

注意:为了避免JMeter读取CSV文件出现乱码的情况,应先创建xls的文件,然后另存为csv格式的文件。

2、新建一个线程组,命名为:数据驱动,添加配置元件-HTTP请求默认值,配置好IP地址和端口号

3、添加逻辑控制器-循环控制器。循环控制器的作用可以控制整个用例循环执行的次数。默认值是1根据用例数量可以修改为8

4、在循环控制器节点下添加CSV数据文件设置,具体配置内容如下:

5、添加逻辑控制器——如果(if)控制器,if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别添加GET和POST两个控制器。

①GET 设置的条件语句为:"${methods}"=="GET",其中 ${methods}表示引用 csv 中的 methods 中的值

②POST 条件语句设置为:"${methods}"=="POST"

注意:Interpret Condition as Variable Expression:如果这个选项被选中,将不会使用 js 解析;

条件表达式的值必须是 true(忽略大小写),这里我们取消勾选状态。Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

6、GET和POST两个控制器下分别添加请求和响应断言

①添加GET请求类型的用例,用例名称格式:

${caseSeq}_ ${apiSeq}_${apiName}

注意:以CSV文件的参数名称来组合命名HTTP请求的名称,这样在结果树就会依据用例的编号,接口名称等显示每个用例的名称

②断言设置如下:${expectValue}引用 csv 中对应的值。

③添加POST请求类型的用例,用例名称格式:

${caseSeq}_ ${apiSeq}_${apiName}

④断言设置如下:${expectValue}引用 csv 中对应的值。

⑤POST请求如果发送的是json格式的参数,需要添加配置元件-HTTP信息头管理器,写入名称:Content-Type;值:application/json

7、添加监听器-察看结果树,点击运行,查看执行结果

当面对大量用例时在Jmeter设置非常方便,后续用例维护也非常高效。

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

 

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

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

相关文章

IDEA中导出Javadoc遇到的GBK编码错误的解决思路和应用

IDEA中导出Javadoc遇到的GBK编码错误的解决思路和应用 ​ 当我们在导出自己写的项目的api文档的时候呢,有的时候会出现以下问题:也就是GBK编码错误不可导出 错误描述:编码GBK的不可映射字符无法导出,可以看出这是我们自己写的中文…

移动app软件安全性测试内容有哪些?专业移动app测试报告获取

移动app软件安全性测试报告是评估和验证移动应用程序在设计和开发过程中是否具有足够的安全性措施。在当今移动应用程序的高度发展和普及中,保护用户的个人数据和信息安全至关重要。 一、移动app软件安全性测试包括的内容 1、权限访问测试:测试app获取…

【BIOS】Bios设置通电即自动开机。

【问题需求】 设置电脑/服务器接通电源后,自动开机。 【解决方案】 不同主板的bios设置不一样,但方向都差不多。 在此整理一些不同准版bios的设置方法。 【通用主板Bios】 开机后连续按del键,进入Bios。 切换到【Advanced】菜单下&#xff…

【STM32学习】搭建一个简单的 keil5 工程

一、安装 pack 支持包 pack是支持包文件,当你的板子连接到电脑时,keil5 怎么知道你的板子是哪个型号的,这就需要用到 pack 文件了。Keil 官方下载pack文件的地址:download | device pack 我这里使用的是 STM324 系列 随后直接一…

Nginx运行Vue项目:基本运行

需求 在Nginx服务器中,运行Vue项目。 说明 Vue项目打包生成的生产文件,是无法直接在浏览器打开的。需要放到Nginx服务器中,才能够访问。 本文章只介绍最基本的情况:Nginx中运行一个Vue项目。 实际生产环境,一个Ng…

Qt开发实现字幕滚动效果

1、效果展示 我们经常能够在外面看到那种滚动字幕,那么就拿qt来做一个吧。 2、实现思路 实现一个窗口部件,这个窗口部件显示了一串文本标语,它会每t毫秒向左移动一个像素。如果窗口部件比文本宽,那么文本将会被多次重复,直到能够填满整个窗口部件的宽度…

设计模式之原型模式Prototype的C++实现

1、原型模式提出 在软件功能设计中,经常面临着“某些结构复杂的对象”的创建工作,且创建的对象想拥有其他对象在某一刻的状态,则可以使用原型模型。原型模型是通过拷贝构造函数来创建对象,并且该对象拥有其他对象在某一刻的状态。…

嵌入式设备应用开发(linux应用的几个场景)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 linux内核是可以裁剪的,所以除了pc电脑可以用linux之外,小的嵌入式设备其实也可以用linux。前面我们讨论了soc的各个驱动,本质上还是要把这些外设用起来。操作系统帮助我们把这些…

go语言恶意代码检测系统--对接前端可视化与算法检测部分

Malware Detect System 1 产品介绍 恶意代码检测系统。 2 产品描述 2.1 产品功能 功能点详细描述注册账号未注册用户注册成为产品用户,从而具备享有产品各项服务的资格登录账号用户登录产品,获得产品提供的各项服务上传恶意样本用户可以将上传自己的…

虹科分享 | 使用工业无线方案的包装机械运输轨道系统将会是什么样子的?

背景 包装机械制造商正面临着大规模定制和客户动态需求的新挑战。随着包装机械设计向工业4.0迈进,灵活性、更高的吞吐量和减少停机时间成为关键要求。柔性制造系统需要具备快速更换新产品类型、重新安排操作以及根据产量和产能的重大变化进行调整的能力。因此&…

北京开发者社区简介

标题 北京城市开发者社区简介导语简介技术交流与分享创新与创业平台城市发展与科技应用线上线下活动获益和奖励 展望未来加入我们往期活动照片 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余…

【ARM】Day4 点亮LED灯

1. 思维导图 2. 自己编写代码实现三盏灯点亮 .text .global _start _start: /**********LED1,LED2,LED3点灯:PE10,PF10,PE8**************/ RCC_INIT:使能GPIOE组/GPIOF组控制器,通过RXCC_MP_AHB4ENSETR设置第[5:4]位写1,地址:0x50000A28[5:4]1ldr r0,0x50000A28 …

c#设计模式-结构型模式 之 桥接模式

前言 桥接模式是一种设计模式,它将抽象与实现分离,使它们可以独立变化。这种模式涉及到一个接口作为桥梁,使实体类的功能独立于接口实现类。这两种类型的类可以结构化改变而互不影响。 桥接模式的主要目的是通过将实现和抽象分离,…

kafka线上问题优化

如何防止消息丢失 生产者: 使用同步发送把ack设成1或者all(非0,0可能会出现消息丢失的情况),并且设置同步的分区数>2 消费者:把自动提交改成手动提交 如何防止重复消费 在防止消息丢失的方案中&#…

软件测试人员每天的工作日常

我现在每天9点左右从家里出发,9点半左右到公司,到公司之后王豆豆首先用养生壶煮一壶好茶,工作忙碌时也要记得多喝水,然后一边听着煮茶声一边写着当天的工作计划,工作计划主要包括当天工作内容、学习计划和总结。 计划…

Mysql之 optimizer_trace 相关总结

Mysql之 optimizer_trace 相关总结 MySQL官网介绍:https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_OPT_TRACE.html 1. 简介 MySQL优化器可以生成Explain执行计划,通过执行计划查看sql是否使用了索引,使用了哪种索; 但…

饿了么大数据开发凉经

1 一个mapreduce进程会启动多少map进程多少reduce进程* 1)map数量由处理的数据分成的block数量决定default_num total_size / split_size; 2)reduce数量为job.setNumReduceTasks(x)中x 的大小。不设置的话默认为 1。 2 讲下shuffle的过程 shuffle分为…

【Python dxfgrabber+matplotlib】显示AutoCAD导出的.dxf格式文件

代码: import dxfgrabber,matplotlib import matplotlib.pyplot as plt from matplotlib.patches import Polygonmatplotlib.use(TkAgg)# 使用 dxfgrabber 库加载 DXF 文件 drawing dxfgrabber.readfile(files/Main board0.DXF)# 创建 Matplotlib 图形 fig, ax p…

【无线点对点网络时延分析和可视化】模拟无线点对点网络中的延迟以及物理层和数据链路层之间的相互作用(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Stimulsoft Reports 2023Crack

Stimulsoft Reports 2023Crack Stimulsoft Reports.BLAZOR是一个跨平台的报告工具,用于集成应用程序,使用BLAZOR框架工作。我们的组件支持Blazor的所有主要功能。通过使用WebAssembly技术,它们既可以在.NET服务器端工作,也可以在…