欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jmeter参数化、添加变量、生成随机数和导入csv文件数据

程序员文章站 2022-03-17 23:21:44
...

Remarks:本次使用jmeter版本为4.0
以下数据都在必应中演示:
jmeter参数化、添加变量、生成随机数和导入csv文件数据

添加普通变量

1、添加 User Defined Variables(用户自定义变量)

jmeter参数化、添加变量、生成随机数和导入csv文件数据

2、设置变量
jmeter参数化、添加变量、生成随机数和导入csv文件数据

3、使用变量
jmeter参数化、添加变量、生成随机数和导入csv文件数据

4、查看结果
jmeter参数化、添加变量、生成随机数和导入csv文件数据

生成随机变量并使用

1、添加random variable(随机变量),在测试计划(Test Plan)上点击右键。

jmeter参数化、添加变量、生成随机数和导入csv文件数据

2、设置随机变量的名称、样式、范围

jmeter参数化、添加变量、生成随机数和导入csv文件数据

3、开始引用

jmeter参数化、添加变量、生成随机数和导入csv文件数据

${number}  #${}是固定书写格式,花括号中间为需要引用变量的名称

4、查看执行结果
jmeter参数化、添加变量、生成随机数和导入csv文件数据

5、其他写法

添加用户自定义变量
jmeter参数化、添加变量、生成随机数和导入csv文件数据

添加变量
jmeter参数化、添加变量、生成随机数和导入csv文件数据

使用 ${__V(name${__Random(1, 3)})}调用
执行结果:
jmeter参数化、添加变量、生成随机数和导入csv文件数据

拆解:

${__Random(1, 3)}:随机生成1-3之间的整数
name${__Random(1, 3)}:随机生成name1, name2, name3中的任意1个字符串
${__V(name${__Random(1, 3)})}对形如name1的字符串求值。也就是不把name1当成字符串来看,而是把name1当作是1个变量,并获取这个变量的值。name1的值是我们在用户自定义变量中定义过的,也就是搜索。那么连起来,这个表达式的作用就是随机生成搜索第一个变量, 搜索第二个变量, 搜索第三个变量中的任意一个字符串

使用csv文件数据

前面我们的脚本现在有了随机选择搜索关键字的功能,平心而论,这很酷,值得大书特书一笔。不过现实是残酷的,我们的脚本其实是有一点问题的,当我们的并发数(虚拟用户数)很大的时候,我们的脚本本身可能有一点点的性能问题。是的,你没看错,性能测试脚本自身会有性能问题,这就像是心理医生是个精神病一样让人讶异。

由于随机数的生成的时候会耗cpu和内存,当脚本并发很大的时候,这种损耗是值得关注的。

为什么不是excel

为什么是csv格式而不是excel格式呢?

csv是纯文本格式,是开放格式,可以用在几乎所有的操作系统上;excel是私有格式(微软家的),在linux和mac上要折腾一下才能玩好。

总之csv简单方便跨平台,对于承载测试数据来说是基本够用的。

  • 删除掉所有的随机变量配置元件
  • 在测试计划(Test Plan)上点击右键,添加 -> 配置元件 -> CSV Data Set Config

1、准本所需csv文件

csv创建步骤参考

创建txt文件 输入如下内容,另存为csv文件(编码为UTF-8),每次在txt文档修改保存 每组数据以英文逗号分隔
jmeter参数化、添加变量、生成随机数和导入csv文件数据

jmeter参数化、添加变量、生成随机数和导入csv文件数据

2、在测试计划(Test Plan)上点击右键,添加 -> 配置元件 -> CSV Data Set Config(数据文件设置)

jmeter参数化、添加变量、生成随机数和导入csv文件数据

3、配置 CSV Data Set Config(数据文件设置)
jmeter参数化、添加变量、生成随机数和导入csv文件数据

one 和 two 代表这一行有2个数据(名字而已随便取),把读取到的2个数据分别赋值给one和two(循环一次,使用第一行的数据,循环两次使用第二行的数据,超过数据行再次从第一行往下)

4、开始使用变量
jmeter参数化、添加变量、生成随机数和导入csv文件数据

把线程组的循环次数改成2
jmeter参数化、添加变量、生成随机数和导入csv文件数据

5、查看执行结果

jmeter参数化、添加变量、生成随机数和导入csv文件数据

可以看到csv中的两行数据都读取到了

CSV Data Set Config
下面这些配置项是比较有用的

Filename(文件名): 支持相对和绝对路径。相对路径是以脚本保存的路径为当前的相对路径的
Variable Name(变量名): 有多少列数据我们就设置多少个变量,以逗号分隔。如果这一项为空,jemter会去解析csv文件的header,也就是说,如果你的csv文件是有表头的,那么你可以不设置变量名,jmeter会自动将表头的名称解析成变量名
Allow quoted data?: 如果你的csv文件的内容里包含了分隔符,默认的分隔符是逗号,那么把这项勾选一下,用双引号将值括起来就可以了
Sharing mode: 这个比较难理解,我们可以简单的认为这个选项就是配置jmeter怎么打开csv文件的
All threads: 所有的虚拟用户都使用同一个csv文件
Current thread group: 每个线程组使用一个csv文件
Current thread: 每个线程(虚拟用户)使用一个csv文件
Identifier: 自定义
相关标签: jmeter