目录
五、连接数据库通过sql查询获取数据(JDBC Connection Configuration)
六、使用BeanShell后置处理程序,将通过正则表达式或者JDBC请求提取的值批量导出,作为CSV Data Set Config数据文件
一、用户自定义变量
使用场景:一般用于不会变化的变量,比如主机地址、端口号等
选中线程组,右键,添加->配置原件->用户定义的变量
引用方法:${参数名},参数值可以是函数助手获取
二、函数助手(__CSVRead)
引用方法 ${__CSVRead(参数1, 参数2)} ,参数1是文件名,包含路径;参数2是对应文件中的列,列数从0开始,例如:${__CSVRead(F:\1.txt,0)}
三、配置元件(CSV Data Set Config)
使用场景:CSV Data Set Config适用于参数取值范围较大的时候使用
右键 ->添加 ->配置原件 ->CSV Data Set Config
引用方法:${user}, ${pwd}
四、正则表达式提取器
使用场景:一般用于获取上一个接口的返回值传给下一个接口,下面的接口就可以使用前面接口定义的变量了,达到了传参的目的,例如提取登录的token信息等。
选中线程组,右键,添加->后置处理器->正则表达式提取器
引用:${token}
五、连接数据库通过sql查询获取数据(JDBC Connection Configuration)
使用场景:连接数据库,通过查询语句查出要的值,然后传给后端的接口使用
准备工作:使用前提,需要下载一个对应数据库的jar包放在jmeter安装地址的lib目录下,重启jmeter就可以使用了(这里以postgresql数据库为例,其他数据库自行百度)
步骤一:选中线程组右键,添加->配置原件->JDBC Connection Configuration
步骤二:添加JDBC请求
查询出来变量引用:${machine_id},如果查询结果返回多行数据,可用${machine_id_1}来获取第一行的值
jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,,C,那么如下变量会被设置为:
A_#=2 (总行数)
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (总行数)
C_1=第3列, 第1行
C_2=第3列, 第2行
- 如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。
- 如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。
- 可以使用${A_#}、${A_1}...来获取相应的值
六、使用BeanShell后置处理程序,将通过正则表达式或者JDBC请求提取的值批量导出,作为CSV Data Set Config数据文件
使用场景:例如将通过登录接口提取的token信息批量导出
右键,添加->后置处理器-> BeanShell PostProcessor