jmeter 请求body如何在不使用CSV的方式,引用list类型的变量
时间: 2024-03-22 20:41:38 浏览: 105
jmeter变量请求.docx
如果不想使用 CSV 文件来存储 list 类型的数据,也可以在 JMeter 中使用变量来存储这些数据,并在请求的 Body 中引用这些变量。
具体操作步骤如下:
1. 在 JMeter 中创建一个线程组,并添加一个 HTTP 请求。
2. 在 HTTP 请求中,选择“Body Data”选项,并输入请求的 Body 内容。例如:
```
{
"items": [
{"name": "${item_1_name}", "price": ${item_1_price}},
{"name": "${item_2_name}", "price": ${item_2_price}},
{"name": "${item_3_name}", "price": ${item_3_price}}
]
}
```
在这个例子中,我们使用 `${}` 语法引用了三个变量,分别是 `item_1_name`、`item_1_price`、`item_2_name`、`item_2_price`、`item_3_name` 和 `item_3_price`。
3. 在线程组中添加一个“用户定义的变量”配置元件,用于定义这些变量的初始值。例如:
```
item_1_name=apple
item_1_price=1.5
item_2_name=banana
item_2_price=2.0
item_3_name=orange
item_3_price=1.8
```
在这个例子中,我们定义了六个变量,分别是 `item_1_name`、`item_1_price`、`item_2_name`、`item_2_price`、`item_3_name` 和 `item_3_price`,并为它们分别赋初值。
4. 在测试计划中添加一个“循环控制器”配置元件,用于循环执行 HTTP 请求。在循环控制器中,可以使用 `${__counter(,)}+1` 引用一个计数器变量,用于循环遍历 list 中的元素。例如:
```
item_${__counter(,)}_name=apple
item_${__counter(,)}_price=1.5
```
在这个例子中,我们定义了两个变量,分别是 `item_1_name`、`item_1_price` 和 `item_2_name`、`item_2_price`,并使用计数器变量 `${__counter(,)}+1` 来动态生成变量名称和变量值。
5. 运行测试计划,JMeter 将会循环执行 HTTP 请求,并在每次执行时使用不同的变量值来替换请求 Body 中的变量。
阅读全文