如何使用txt文件实现JMeter参数化

2023-10-27

之前我们都是使用.csv格式的数据文件实现了JMeter的参数化,今天我们演示使用.txt格式的数据文件实现JMeter的参数化。

需求:我们以一个登陆接口为例。

发送登录请求的时候,我们需要传递两个参数:phonepassword

针对这个登录接口设计5条用例,如下:

  1. 正常登录。
  2. 手机号未注册,即:手机号填写错误。
  3. 手机号不合法,即:手机号填写错误位数不对或为空。
  4. 手机号或密码错误,即:密码错误。
  5. 密码不合法,即:密码为空。

1、测试计划中的元件

添加元件操作步骤

  1. 创建测试计划。
  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
  3. 在线程组中,添加配置元件"HTTP信息头管理器"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP信息头管理器
  4. 在线程组中,添加配置元件CSV Data Set Config组件:选中“线程组”右键 —> 添加 —> 配置元件 —> CSV数据文件设置
  5. 在线程组中,添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
  6. 在线程组中,添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

最终测试计划中包含的元件如下:

 

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

2、数据文件内容

创建一个.txt文件,名为login_data.txt,然后根据需求编辑数据文件内容,这次我们不加列表明。

然后使用Notepad++打开该文件,点击“编码” —> 转为UTF-8编码,防止中文乱码。

最终所得到的.txt格式文件的内容如下:

3、线程组元件内容

如果需要使用.txt文件中所有的数据,需要设置线程组的线程数或循环次数。

因为在CSV数据文件设置组件,有Recycle on EOFStop thread on EOF选项的关系,所以设置线程数和循环次数都可以实现,使用数据文件中的每一组数据进行测试。

如下图所示:

Jmeter高级性能测试实战icon-default.png?t=LA92https://edu.csdn.net/course/detail/35834

4、HTTP信息头管理器组件内容

因为我们要使用Post请求发送Json数据,所以需要在请求头中设置Content-Type=application/json

如果我们不在请求头中进行设置,默认请求头的Content-Type值为text/plain。(这在前面的Post请求文章中有详细的说明)

如下图所示

5、CSV数据文件设置组件内容

如下图所示:

我一般常用操作,简单说明:

  • 文件名:就直接浏览选择文件即可,也就是使用数据文件的绝对路径。
  • 文件编码选择UTF-8
  • 变量名称:这里定义的就是参数化变量的引用名称,要与数据文件中的列相对应,中间用逗号分割。
  • 忽略首行:选择False,因为这次我们没有添加列名。如果数据文件中首行写的是变量名称,选择忽略首行。
  • 分隔符:如果.txt文件中的数据,使用的是逗号隔开,就是默认值。如果是制表符,就用\t表示。
  • 是否允许带引号?:如果变量值中有引号就选择True,没有则默认False即可。
  • 其他一般默认选择。如果需求看上面说明中写的很详细,按工作中实际情况选择。

6、HTTP请求组件内容

在JMeter中使用参数化变量的格式:${变量名}

编辑登录接口内容,如下图所示:

 

 

我们可以看到${变量名}中的引用变量名,是以CSV数据文件设置组件中变量名称中定义变量名为准。如果不在变量名称栏中定义任何内容,就以数据文件中的标题列名为引用变量名。

7、脚本运行结果

该测试脚本运行结果如下图所示:

 

我们可以看到,一共发送了5次请求,每次请求使用的参数值都是不同的,并且返回结果的预期也与我们设想的一样。

这样就演示了,使用.txt文件作为数据文件,实现JMeter中的参数化。

Jmeter高级性能测试实战icon-default.png?t=LA92https://edu.csdn.net/course/detail/35834

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用txt文件实现JMeter参数化 的相关文章

  • JMeter 中默认的响应超时是多少?

    如果我们没有在 HTTP 请求 采样器中设置任何超时 任何人都可以帮助了解 JMeter 中的默认响应时间吗 Thanks 它默认为0 无超时 设置超时的推荐方法是使用 GUI 如果由于某种原因它不适合您 您可以使用以下属性 用户属性 fi
  • Jmeter在执行过程中抛出“socketException:连接重置”错误

    我们要实现的目标是 500 个并发用户 我们尝试对 3 台机器上的 100 个用户进行测试 而且它运行得很好 没有任何错误 当我尝试使用相同数量的机器对 150 个或更多用户运行测试时 我开始收到以下响应代码 响应代码 非 Http 响应代
  • 使用数据库表作为 JMeter 的 CSV 数据集

    我目前正在使用 JMeter 对我公司的一个应用程序进行性能测试 该应用程序需要登录 我必须使用多个用户 在 JMeter 中通常完成此操作的方式似乎是通过 CSV 数据集 但是我可以访问数据库并可以直接从那里读取所有凭据 由于这是一个测试
  • jmeter http请求的每个线程的唯一ID

    我的 jmeter 测试发出一个包含唯一 ID 的 http 请求 http myserver com uniqueId 我想为每个线程设置基数 比如 35000 和增量 例如我的 id 是 35001 35002 35003 http m
  • JMeter 使用什么 Maven 插件? jmeter-maven-plugin 还是 chronos-jmeter-maven-plugin?

    我需要设置由 CI 系统自动触发运行的性能测试 为此 我想使用 JMeter 因为已经存在一些脚本和经验 并且我想将其与 Maven 结合起来 在我对合理插件的研究过程中 我发现存在两个插件 jmeter maven 插件 http wik
  • JMeter:为单个用户触发多个并发 HTTP 请求

    我有一个带有线程组和 Cookie 管理器的 JMeter 负载测试脚本 线程组中的用户首先使用HTTP采样器登录来获取cookie 然后 循环控制器触发交错采样器 该采样器在几个向服务器发出查询的 HTTP 采样器之间交替 现在 我希望交
  • Jmeter - 如何向计数器添加前缀。类似于随机变量

    目前 在随机变量中 我可以在变量的输出格式中添加前缀或后缀 然而 这个很好的功能不适用于简单的计数器控制器 每次使用变量时连接 string counter 对我来说并不是一个好的选择 因为我经常这样做 有没有办法以随机变量的方式实现前缀
  • JMeter 在性能测试期间挂起

    我试图模拟 4 个不同用户的 100 个线程请求 所有 97 个请求均已发送和接收 但其余 3 个请求仍显示为正在执行 我必须手动停止 Jmeter 然后只传递剩余的请求 为什么会发生这种情况 您的计算机可能没有资源来执行请求 或者 Jav
  • JMeter 记录使用 HTTPS 的 iOS 本机应用程序会导致 SSL 握手问题

    我有一个用于我们的应用程序的 IPAD 混合应用程序 它会在登录过程中尝试访问我们的 https 服务器 我想使用 JMeter 来记录这个简单的流程 我正在本地计算机上运行 JMeter 代理服务器 我更新了 IPAD 代理详细信息 以便
  • 如何在 Groovy 2.4 中计算 sha256 哈希值

    我正在尝试计算 Groovy 版本 2 4 16 中的 sha256 哈希值 这是 jmeter 测试的一部分 这是它支持的 Groovy 版本 我认为我无法更改它 我知道在 Groovy 2 5 中你可以使用这样的代码 https mrh
  • Azure 应用程序网关在进行 JMeter 负载测试时随机遇到 504 网关超时

    我有 1 个应用程序网关 它有 2 个后端 Azure VM 它通过 IIS 托管 ASP CORE REST API 两者都使用端口 80 进行通信 手动测试一切正常 直到我们使用 jmeter 进行 2500 线程 POST 请求负载测
  • 我有 JSR233 监听器,它在 JMeter 非 GUI 模式下似乎被忽略

    我在 HTTP 请求下有 JSR233 侦听器 它存储所有响应时间值 创建数组 然后对数组进行排序以查找 90 行 然后在达到最终 90 行阈值时标记最后一个事务 请求通过或失败 GUI 中的一切都运行完美 但我使用 Docker Imag
  • 在 JMeter 中,您可以指定变量来填充 HTTP 请求默认值吗?

    我希望能够从 CSV 文件中读取值 或者更理想的是 properties使用 JMeter 文件 然后在多个中使用它Test Plan是在HTTP Request Defaults as the Server Name or IP 以及Po
  • JMeter 中的周期性后台任务

    我的测试计划中的请求使用授权令牌 我知道该令牌将在 1 小时内过期 我需要以某种方式每 59 分钟重新请求一次令牌 直到测试完成 有人可以建议最好的方法吗 看起来使用 While 控制器测试将永远不会完成并停留在永恒的 while 循环中
  • Rest 服务器(Play Framework)在负载测试期间出现“Read Timed out”异常

    我们正在使用 Play Framework 在 REST 服务器上运行重负载测试 jmeter 350 个线程 35M 总请求 并在大约 2 小时后遇到以下错误 我们删除了其他组件 以便 request 只是接受请求而不执行任何操作 任何人
  • JMeter:tearDown Thread Group的目的是什么

    我想了解JMeter中tearDown Thread Group的实际用法 在什么场景下可以使用tearDown Thread Group 根据提供的帮助JMeter 拆解线程组 http jmeter apache org userman
  • 如何使用脚本在 Jmeter 容器中设置变量及其值,例如用户参数

    我需要在 Jmeter 中设置和获取变量以实现 API 自动化 我正在使用 groovy 脚本来实现同样的目的 我可以使用以下代码将键值存储在属性文件中 props put shubhamKey shubhamValue 我不想使用 mai
  • 如何让Jmeter识别“localhost”URL?

    如何对只能由我的计算机访问的 localhost url 进行性能测试 我可以使用 jmeter 对 google 等实时网站进行性能测试 但 jmeter 无法检测本地 url 应用程序的 URL 192 168 121 20 80012
  • 手动设置Jmeter主目录

    根据这个帖子 http jmeter 512774 n5 nabble com Automatic generation of aggregate reports td4281459 html Jmeter home被自动检测到 有没有办法
  • 重写 jmeter.properties

    是否可以在不关闭并重新启动JMeter的情况下重新读取jmeter properties 也许有任何额外的类会触发这个过程 有时我需要使用属性的值 并且每次都重新启动 JMeter 并不方便 所以我想自动化此过程 无需从文件中重新读取 jm

随机推荐

  • 解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题(真实有效)

    数据库驱动找不到 这个一场特别奇葩 既然这个异常存在 竟然又能编译通过 项目也不报错 只是在启动的时候 抛出异常 一 看看这个异常 Error starting ApplicationContext To display the condi
  • C++去除字符串中多余的空格

    今天写了个小编程 去除字符串中多余的空格 例如 I am a student 下划线表示空格哈 打多个空格显示的还是一个 最后输出 I am a student 现在把自己的思路贴上 欢迎大家留言指正 思路就是定义两个指针next和tail
  • 2060显卡驱动最新版本_教程:怎么安装更新NVIDIAAMD显卡驱动?

    PART 1 装驱动这么简单的事情真的需要写教程吗 我自己都理解不了我为什么要写这样一个教程 但是如你所见 他确实被我写出来了 而且对大部分人都挺有用 首先 使用鲁大师以及驱动精灵这类软件的同学自己喜欢就好 导致的任何问题也请你们自己解决
  • shell编程 报错 syntax error near unexpected token 最终解决

    刚接触shell编程 问题不断 这个问题有两种情况 第一种是像网上说的那些 因为换行符的问题 其产生的通常情况是你在Windows下编写好的代码 放到linux下运行出错 如果是此种情况 请移步网上方法解决 这里不再赘述 下面说我遇到的第二
  • (Winserver 2019) Hyper-V的安装与使用教程

    一 操作步骤 1 主机开启虚拟化 还需要准备一个大一点的硬盘 2 安装Hyper V服务 3 选择可以使用的网络适配器 4 使用Hyper V工具创建Windows虚拟机 5 输入虚拟机名称 任何名称都可以 5 指定生成虚拟机 在本实验中选
  • 作用域

    作用域 一段程序代码中所用到的名字并不是有效和可用的 而限定这个名字的可用性的代码范围就是这个名字的作用域 作用域的使用提高了程序逻辑的局部性 增强了程序的可靠性 减少了名字冲突 全局作用域 作用于所有代码执行的环境 整个script标签内
  • HyperLPR保姆级安装教程

    文章目录 环境 ubuntu18 04 开源地址 https gitee com zeusees HyperLPR 安装步骤 1 安装pip3 2 安装cmake 3 安装scikit build 4 安装 HyperLPR 5 卸载 op
  • linux下PPTP Server测试环境搭建

    1 1 服务器软件安装 安裝PPTP Server 所需的软件 安装PPTP sudo apt get install pptpd PPTPServer的软件安装很简单 只需要安装pptpd就可以了 1 2 配置 执行命令vi etc pp
  • Delphi 编程技巧常见实例问答

    1 delphi怎样调用外部EXE文件 uses WinProcs begin WinExec end 和调用Pascal库函数没什么两样 2 Delphi hint的字体和色彩如何改变 Delphi中Tapplication的属性有Hin
  • Git学习总结(一)git的安装和配置

    git的安装 在这里 因为网上有了很多详尽的教程 我就不赘述了 git安装教程 然后你需要申请一个GitHub账号 点击申请GitHub账号 申请GitHub账号的时候要绑定一个邮箱 绑定QQ邮箱即可 下面将你电脑上的git绑定GitHub
  • 查看思科路由器各种信息SHOW 命令总结----无私奉献版(转载请注明出处)

    我们用putty连接路由器的控制台 console 看到命令提示符后我们就可以执行命令来查看和配置路由器了 这里总结在路由器上的最常用的show 命令 1 show version 查看路由器的型号 IOS的文件名 路由器接口 内存 以及配
  • Python 分割字符串:split()

    代码案例 gt gt gt txt we trust AI 默认是按照空字符来分割 分割所有 gt gt gt txtlist txt split gt gt gt txtlist we trust AI 指定按照哪个字符来分割 gt gt
  • PageRank 笔记

    PageRank 要说到 PageRank 算法的来源 这个要从搜索引擎的发展讲起 最早的搜索引擎采用的是分类目录的方法 即通过人工进行网页分类并整理出高质量的网站 那时 Yahoo 和国内的 hao123 就是使用这种方法 后来网页越来越
  • java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

    项目说明 随着公司的快速发展 企业人员和经营规模不断壮大 公司对内部招采管理的提升提出了更高的要求 在企业里建立一个公平 公开 公正的采购环境 最大限度控制采购成本至关重要 符合国家电子招投标法律法规及相关规范 以及审计监督要求 通过电子化
  • 残差连接和跳跃连接

    模型解读 resnet中的残差连接 你确定真的看懂了 腾讯云开发者社区 腾讯云
  • 软件开发模式对比(瀑布、迭代、螺旋、敏捷)

    转自 http www cnblogs com OYK archive 2012 10 08 2714669 html 1 瀑布模型是由W W Royce在1970年最初提出的软件开发模型 瀑布式开发是一种老旧的计算机软件开发方法 瀑布模型
  • js 常见的一些报错问题

    内容可以先不写 对 可以往下操作了
  • GPIO基础知识的概括

    GPIO 是通用输入 输出端口的简称 本文以STM32为例进行说明 其他的单片机功能上都是大同小异 学会STM32的GPIO 我们可以触类旁通 GPIO 的引脚与外部硬件设备连接 可实现与外部通讯 控制外部硬件或者采集外部硬件数据的功能 S
  • stm32 f103 的心得体会

    做过的实验 项目一 按键k1 控制 一种 流水灯的 花型 按键k2 控制 另一种 流水灯的 花型 按键k3 控制 另一种 流水灯的 花型 具体的不太记得了 没有保留代码的习惯 这一点很不好 要改 新手时 重装系统 资料不会分类管理 导致代码
  • 如何使用txt文件实现JMeter参数化

    之前我们都是使用 csv格式的数据文件实现了JMeter的参数化 今天我们演示使用 txt格式的数据文件实现JMeter的参数化 需求 我们以一个登陆接口为例 发送登录请求的时候 我们需要传递两个参数 phone和password 针对这个