Jmeter参数化的三种方法
在测试过程中,往往多个请求中用到同一个参数或是需要大量不同的测试数据,这时候就可以通过参数化来实现。
一、参数化
方法一:用户定义变量
该方法适用于不需要迭代变换数据的参数。多个请求用到同一参数时,进行参数化可以避免要修改数据时修改多个地方,只需修改自定义变量中的值。
1.右键点击“HTTP Request”–>“add”–>“Config Element”–>“User Defined Variables”
2.在用户定义变量中面板中,添加变量名、变量值和描述。
3.变量添加完成后,在对应的http请求中使用该参数,格式为{username}就可以获取username的参数值。
方法二:添加用户参数
该方法适用于数据量不大,每次迭代时需要不同的数据。
1.右键点击“HTTP Request”–>“add”–>“Pro Processors”–>“User Parameters"
2.在用户参数设置面板中,添加变量名和变量值。一个变量可设置多个用户;如果需要每次迭代都传入不同的变量值,则勾选上“每次迭代更新一次”。
3.变量添加完成后,在对应的http请求中使用该参数,格式为{username}就可以获取username的参数值。
4.在线程组(Thread Group)设置线程数为2,点击执行用户参数设置时勾选了“每次迭代更新一次”,在察看结果树中可以看到两次请求提交数据不同。
方法三:通过CSV Data Set Config参数化
1.右键点击“HTTP Request”–>“add”–>“Config Element”–>“CSV Data Set Config"
2.将参数值写在txt文件中,不同参数之间用逗号隔开,一行为一组参数值。(也可一列为一组参数值)。注意数据最后一行不能有空行,空行会被当做参数。
3.配置CSV。
注:
①如文件内容为:
username | passwd |
---|---|
user_1 | 123456 |
user_2 | 123456 |
那么,则需要忽略第一行,Ignore first line 选择True。
②Allow qutoed data?:是否允许参数化文件的参数带有双引号,默认是False,如果参数文件的值带有双引号,False模式会将双引号也当做参数。
③Recycle on EOF?:是否循环读取参数文件内容。通常在 线程组的线程数 * 线程组的循环次数 > 参数文件行数时,才需要将此项设置为 true。
Sotp thread on EOF?:当读取到参数文件末尾时,是否停止读取线程。默认为 false。当 “Recycle on EOF? ”设置为 true 时,此项不起任何作用。当 Recycle on EOF? 为 false 时,此项配置才生效。
3.在对应的http请求中使用该参数,格式为{username}就可以获取username的参数值。