对接口数据的参数化方式大概有三种方式,1:jmeter内置函数;2:借助CSV Data Set Config配置原件;3:jdbc连接数据库,使用数据表字段
此处主要讲第二种:借助CSV Data Set Config配置原件
1.添加http请求,填写对应项
2.在 JMeter 的配置原件中就为我们提供了参数化需要的配置,添加到线程组下,如下图:
3.添加好后,填写对应的配置项,如下图:
【相关参数说明】
Filename:参数文件名,可以写绝对路径,也可以建议采用相对路径,避免脚本迁移时需要修改路径。
File encoding:参数文件的编码格式。推荐选择 UTF-8。
Variable Names:对应参数文件每列的变量名。类似于 Excel 文件的文件头,起到标示的作用,同时也是后续引用的标识符,建议采用有意义的英文标示。
Delimiter:参数文件分隔符。与参数文件中的分隔符保持一致即可。
Allow quoted data?:是否允许引用数据。默认设置为 false。
Recycle on EOF?:是否循环读取参数文件内容。默认设置为 true。设置为 true 时,当已经读取完参数文件内的测试用例数据,还需要继续获取用例数据时,此时会循环读取参数文件数据;设置为 false 时,若已至文件末尾,则不再继续读取测试数据。通常在 线程组的线程数 * 线程组的循环次数 > 参数文件行数时,才需要将此项设置为 true。
Sotp thread on EOF?:当读取到参数文件末尾时,是否停止读取线程。默认为 false。当 Recycle on EOF? 设置为 true 时,此项不起任何作用。当且仅当 Recycle on EOF? 为 false 时,此项配置才生效。
若为 true,则在读取到参数文件行末尾时,终止参数文件读取线程。例如:线程组的线程数 * 线程组的循环次数 = 10,参数文件行数 = 7,那么将在第 8 次开始停止线程。
若为 false,此时线程会继续读取,但是会请求错误,因此时读取的数据为 EOF。以上同例,自第 8 次开始,线程的请求数据为 EOF。
Sharing mode:共享模式,即参数文件变量作用域。主要有以下几种方式:
All threads:当前测试计划中的所有线程组中的所有的线程均有效。默认。
Current thread group:当前的线程组中的线程有效。
Current thread:当前线程有效。
Parameter1.txt文本内容为2列,逗号隔开,第一列是用户名,第二列是密码,与CSV Data Set Config中的Variable Names(comma-delimited)设置的值对应
Parameter1.txt文本内容如下图:
4. 修改 HTTP请求 中对应的参数为参数变量,如下图:
5.添加监听器,运行脚本,查看结果,如下图: