目录
三、【配置元件-CSV Data Set Config(CSV 数据文件设置)】
五、全局变量的设置与调用(token参数化,跨线程传递)【两种方式】
如果CsvRead 使用单线程-多循环,上面的操作只会读取到第一行的数据,需要加:${__CSVRead(D:/project/jmx/jmx_csv_data/csv_dt.csv,next())}
七、备注:在第二个线程中需要在请求之前添加一个定时器,因为不添加时,默认第一个请求获取的全局变量为空
继:【Jmeter5.1】jmeter的正则表达式提取器的应用说明_白骨梦儿-CSDN博客_jmeter正则表达式提取器怎么使用
目录
三、【配置元件-CSV Data Set Config(CSV 数据文件设置)】
五、全局变量的设置与调用(token参数化,跨线程传递)【两种方式】
如果CsvRead 使用单线程-多循环,上面的操作只会读取到第一行的数据,需要加:${__CSVRead(D:/project/jmx/jmx_csv_data/csv_dt.csv,next())}
jmeter中可以称作为参数化的方式有很多,下面我们种种简单举例:
一、【前置处理器-用户参数】
备注:如果jmeter中,用户参数组件、用户自定义参数组件都定义了同样变量,以用户自定义参数失效,以用户参数为主;
(适用于数据量少的情况)需要结合多线程取值(取不同的值),而不是多循环(始终取到一个值,起不到参数化的作用);
下面,以注册jforum会员为例子:
在需要使用参数的接口,使用:${参数名称},结果即可取出不同值;如图:
二、【配置原件-用户自定义变量】
(效果不如“用户参数”)一个变量设置一个值,比“写死”好,可实现多个sample共用一个变量的值,即便是数据变化了,也只需修改一个自定义变量的值;而不需在jmx文件中找多个接口修改……;例如:设置的IP、PORT 结合HTTP请求默认值一起使用。
三、【配置元件-CSV Data Set Config(CSV 数据文件设置)】
(常用方式,适用txt、dat文件),至于excel格式,本人还弄不来;
准备的数据,需注意,最后一样不要空行:
四、【函数助手-__RandomString]
(适用于生成随机字符串)
__RandomString函数配置:
使用方式,将上面函数助手中生成的表达式复制粘贴:
同理,类似的函数还要:__Random 、__RandomData
另外,__RandomFromMultipleVars(variable1|variable2|variable3):可结合【用户自定义变量】使用,表示:在variable1、variable2、variable3变量中随机取一个;
五、全局变量的设置与调用(token参数化,跨线程传递)【两种方式】
【Jmeter5】SampleResult、ResponseCode、ResponseMessage、vars、props、log;beanshell引用jar包;_白骨梦儿-CSDN博客
方式一:使用Beanshell 监听器 设置全局变量,,使用则是:${__P(变量,)}
String education = vars.get("education");
props.put("education",education);
props.get("education");
方式二:使用Beanshell 监听器 获取并设置全局属性,,在使用的线程中,利用Beanshell 前置处理器,拿到并重命名变量,使用则是:${ 变量名}
在Beanshell预处理器中,
String a = props.get("new_education");
vars.put("new_edu",a);
六、【函数助手--__CSVRead】
将生成的函数字符串,复制粘贴到想要取值的地方;
如果CsvRead 使用单线程-多循环,上面的操作只会读取到第一行的数据,需要加:${__CSVRead(D:/project/jmx/jmx_csv_data/csv_dt.csv,next())}
七、备注:在第二个线程中需要在请求之前添加一个定时器,因为不添加时,默认第一个请求获取的全局变量为空;
举例: