如何在每次调用前动态更改路径时从 jmeter 发出异步 http 请求
How to make async http request from jmeter while changing path dynamically before each call
以下是我需要执行的步骤
- 对 returns 具有许多 url 的 json 服务进行 http 请求调用。
- 使用正则表达式提取器提取所有 url
- 对所有提取的 url 进行异步的 http 请求调用。
我们有什么办法可以做到这一点吗?我尝试了并行控制器,但如果我没记错的话,它需要将所有请求都作为其子采样器提及。我不想手动编写每个请求。在 运行 测试计划之后我们可以动态更改 url 吗?
如果服务器returns URL 格式JSON
,最好使用JSON Extractor
一旦您拥有 JMeter 变量形式的 URL,例如:
url_1=http://example.com
url_2=http://example.org
........
........
url_matchNr=X
将 Parallel Sampler 添加到您的测试计划中
添加 JSR223 PreProcessor 作为并行采样器的子项
将以下代码放入“脚本”区域:
1.upto(vars.get('url_matchNr') as int, { index ->
sampler.addURL(vars.get('url_' + index))
})
以下是我需要执行的步骤
- 对 returns 具有许多 url 的 json 服务进行 http 请求调用。
- 使用正则表达式提取器提取所有 url
- 对所有提取的 url 进行异步的 http 请求调用。
我们有什么办法可以做到这一点吗?我尝试了并行控制器,但如果我没记错的话,它需要将所有请求都作为其子采样器提及。我不想手动编写每个请求。在 运行 测试计划之后我们可以动态更改 url 吗?
如果服务器returns URL 格式JSON
,最好使用JSON Extractor一旦您拥有 JMeter 变量形式的 URL,例如:
url_1=http://example.com url_2=http://example.org ........ ........ url_matchNr=X
将 Parallel Sampler 添加到您的测试计划中
添加 JSR223 PreProcessor 作为并行采样器的子项
将以下代码放入“脚本”区域:
1.upto(vars.get('url_matchNr') as int, { index -> sampler.addURL(vars.get('url_' + index)) })