【发布时间】:2019-02-28 12:51:12
【问题描述】:
我有一个 HTTP 请求,它返回一个包含多个 url(主要是图像资源)的 JSON 对象。 我不知道响应 JSON 中的 url 数量,并且该数量可能会随时间变化。 我需要为收到的每个 url 创建一个 HTTP 请求。
是否可以在运行 JMeter 流程时创建 HTTP 请求采样器? 是否有其他解决方案可以建议我将 HTTP 请求发送到 url 列表?
谢谢
【问题讨论】:
标签: jmeter jmeter-5.0
我有一个 HTTP 请求,它返回一个包含多个 url(主要是图像资源)的 JSON 对象。 我不知道响应 JSON 中的 url 数量,并且该数量可能会随时间变化。 我需要为收到的每个 url 创建一个 HTTP 请求。
是否可以在运行 JMeter 流程时创建 HTTP 请求采样器? 是否有其他解决方案可以建议我将 HTTP 请求发送到 url 列表?
谢谢
【问题讨论】:
标签: jmeter jmeter-5.0
假设您有以下 JSON:
{
"urls": [
{
"url": "http://example.com"
},
{
"url": "http://jmeter.apache.org"
},
{
"url": "http://jmeter-plugins.org"
}
]
}
您可以使用以下 JSON 提取器设置将 URL 提取到 JMeter 变量中:
它将为您提供以下 JMeter 变量:
url_1=http://example.com
url_2=http://jmeter.apache.org
url_3=http://jmeter-plugins.org
url_matchNr=3
现在,如果您添加 ForEach 控制器并进行如下配置:
您将能够在作为 ForEach 控制器的子级的 HTTP 请求采样器中将 URL 称为 ${current_url}
【讨论】:
GET http://[http://www.some url]/
${current_url} 放入 HTTP 请求采样器的“路径”部分