Jmeter系列之参数化
VOL 132
08
2020-06
今天距2021年206天
这是ITester软件测试小栈第132次推文
点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 07:30准时推送。
微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“21天打卡”一起学习成长,打怪升级。
本文2023字,阅读约需6分钟
在上一篇:Jmeter系列之常用组件(二),主要介绍正则表达式提取器、调式取样器(debug sampler)、响应断言、HTTP消息头管理的应用场景及实战。
以下主要介绍JMeter的三种参数化方式:用户参数、CSV Data Set Config、 CSV函数助手。
一
用户参数
当使用JMeter进行测试时,测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时,则需进行参数化
,然后从参数化的文件中来读取测试数据。
①线程组,右键依次选择添加--》前置处理器--》用户参数。
②用户参数设置如下:
③创建HTTP请求,处理登录接口请求。
④注意,因为设置了两组登录账号,所以,需要在线程组里设置线程数为2。
⑤添加察看结果树,运行结果如下:
二
CSV Data Set Config
CSV Data Set Config
可以从指定的数据文件中一行一行的读取内容,按照一定的格式拆分并赋值给变量,采样器引用变量即可。
①线程组,右键,依次选择添加--》配置元件--》CSV Data Set Config。
②CSV Data Set Config界面介绍:
Filename:参数文件名
File encoding:参数文件的编码格式。推荐选择 UTF-8。
Variable Names:对应参数文件每列的变量名。
Delimiter:参数文件分隔符。与参数文件中的分隔符保持一致即可。
Allow quoted data?:是否允许引用数据。默认设置为 false。
Recycle on EOF?:是否循环读取参数文件内容。默认设置为 true。设置为 true 时,当已经读取完参数文件内的测试用例数据,还需要继续获取用例数据时,此时会循环读取参数文件数据;设置为 false 时,若已至文件末尾,则不再继续读取测试数据。通常在 线程组的线程数 * 线程组的循环次数 > 参数文件行数时,才需要将此项设置为 true。
Sotp thread on EOF?:当读取到参数文件末尾时,是否停止读取线程,默认为 false。
①若为 true,则在读取到参数文件行末尾时,终止参数文件读取线程。例如:线程组的线程数 * 线程组的循环次数 = 10,参数文件行数 = 7,那么将在第 8 次开始停止线程。
②若为 false,此时线程会继续读取,但是会请求错误,因此时读取的数据为 EOF。以上同例,自第 8 次开始,线程的请求数据为 EOF。
Sharing mode:共享模式,即参数文件变量作用域。主要有以下几种方式:
①All threads:当前测试计划中的所有线程组中的所有的线程均有效,默认。
②Current thread group:当前的线程组中的线程有效。
③Current thread:当前线程有效。
③在本地新建一个userinfo.csv文件,用于存放账号信息。
④CSV Data Set Config配置如下:
⑤登录请求配置如下:
⑥线程组设置线程数为2,创建察看结果树,运行结果如下:
三
CSV函数助手
利用函数从文件里面读取数据,然后引用变量。
①菜单栏,依次选择工具--》函数助手对话框--》CSVRead。
②CSVRead配置如下:
③在登录请求里,粘贴函数字符串。
④线程组设置线程数为2,创建察看结果树,运行结果如下:
总结:本文主要介绍Jmeter的三种参数化方式:用户参数、CSV Data Set Config、 CSV函数助手。
今日问题:在接口自动化测试中,你用什么方式管理接口测试用例?
(欢迎在下方留言区发表你的看法)
留言福利:
抽取截止至6月14日留言点赞最多的一位幸运er,可获得:漫画算法:小灰的算法之旅(Python篇)
(幸运er名单将在下周一推文的置顶留言处公布)
以上
That‘s all
更多系列文章
敬请期待
ITester软件测试小栈
往期内容宠幸
2.Python接口自动化-接口基础(二)
3.Python接口自动化-requests模块之get请求
4.Python接口自动化-requests模块之post请求
5.Python接口自动化之cookie、session应用
想获取更多最新干货内容
快来星标 置顶 关注我
每周一、三、五 07:30见
<< 滑动查看下一张图片 >>
后台 回复"资源"取干货
回复"21天打卡"一起打怪升级
测试交流Q群:727998947
点亮一下在看,你更好看