jmeter web性能测试之关联及参数化

背  景 


性能测试,在多并发压测中,有些变量值不能重复使用,或需要不同值来发起请求,如登录账号、token,查询条件等,这样就需要把这些变量值进行参数化,并在每个线程调用时获取不同的参数值。

有些值可以通过数据库查询等批量或者,这样的直接参数化就可以,如登录账号等,有些值需要在脚本运行中,实时从http请求的返回值中获取后,再传给后面的请求使用,这样就需要先做关联,再参数化,如token值等。直接参数化
1. 添加CSV Data Set Config

将要参数化的批量数据放入.txt文件中

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

线程组-添加-配置元件-CSV数据文件设置,添加CSV Data Set Config

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

2. 配置CSV Data Set Config

文件名称:要读取的批量文件路径,支持格式.csv .dat .txt文件格式

文件编码:读取的文件编码

变量名称:一个变量一个变量名称,如果变量文件中有多个类型的变量读取,也可以添加多个变量名称,中间用英文,隔开,依次读取

忽略首行:若首行不是数值,是数据名称,不需要读取,忽略首行为True,如首行就是数值,则为False,默认为False

分隔符:若读取的文件中,一行中有多个数值需要读取,数值间的间隔,默认英文逗号,配合一行读多变量用

允许带引号:读取的文件数据没有逗号,为False,默认False

遇到文件结束符再次循环:文件读取到末尾后,是否从首行再循环读取,默True

遇到文件结束符停止进程:文件读取到末尾,线程结束,默认False,若循环读取为False,停止进程为True,则文件读取到末尾后,线程结束运行,忽略线程组的设置

线程共享模式:可选项有所有线程,当前线程组内,当前线程,默认所有线程

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

3. 参数化

配置完CSV Data Set Config后,就有了变量名称,如例中的user,引用变量名称${user},将具体的参数值替换为变量,若需要替换的参数值比较少且容易找到,可以手动一个个替换,如果要替换的值比较多,且不容易找到,可以直接搜索替换,替换后的请求有标识,可以点击查看

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

4. 验证是否成功读取参数

添加debug线程,线程组-添加-取样器-debug线程

运行脚本,在查看结果树中查看debug线程中参数值

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

关  联
jmeter关联常用有三种方式,正则表达式提取器,边界值提取器,json提取器,这里以边界值提取器为例。

边界值提取器和loadrunner中获取关联的左右边界值类似,以获取动态token值为例

1. 添加Boundary Extractor

token在返回请求的信息头中,如下图:

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

在能获取token的请求上添加Boundary Extractor

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

设置Boundary Extractor,填写左右边界值,提取动态token值

要检查的响应字段:在响应报文哪个部分做左右边界值的检测,如响应包体、响应包头、请求包头等,本例中token在响应报文包头,选择response headers

引用名称:设置关联值的变量名称

左边界值:响应报文中token值的左边界值

右边界值:响应报文中token值的右边界值

匹配数字:适配第几个token值,正常适配到的第一个即可

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

2. 引用关联

和参数化一样,若需要替换的参数值比较少且容易找到,可以手动一个个替换,如果要替换的值比较多,且不容易找到,可以直接搜索替换,替换后的请求有标识,可以点击查看

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

3. 验证是否关联成功

同参数化,添加debug sampler,运行脚本,查看token值是否成功获取

jmeter web性能测试之关联及参数化
jmeter web性能测试之关联及参数化

发表评论

登录后才能评论
服务中心
服务中心
联系客服
联系客服
投诉举报
返回顶部