我正在使用JMeter创建一些测试,情况非常简单,我有一个搜索页面,其中包含结果列表,我必须从此结果中检索一些值,以便在下一个请求中使用。 这些结果大约是350,我不需要它们。
我使用RegexExtractor来检索这些结果并且它可以工作(我将其设置为仅检索10个结果),但现在我不知道如何在LoopCounter中访问结果。 提取器将结果放入名为Result的变量中。
问题在于我不知道如何建立变量的名称。 我是否必须使用像_p()这样的函数? 我只需输入静态名称 Result_0_g1
即可访问该变量在LoopCounter里面,我还推出了一个计数器,用于将循环计数存储到变量索引
中谢谢
编辑:
已解决我必须写:
$ {__ V(结果_ $ {索引} _g1)
答案 0 :(得分:5)
您必须使用以下函数引用变量:
${__V(Result_${index}_g1)
答案 1 :(得分:1)
......仅供收藏。
另请参阅this post了解其他实现(不使用ForEach控制器的情况):
ThreadGroup
HttpSampler
Regex Extractor (variableName = links)
WhileController(${__javaScript(${C} < ${links_matchNr})})
HTTPSampler use ${__V(links_${C})} to access the current result
Counter (start=1, increment=1, maximum=${links_matchNr}, referenceName=C)
答案 2 :(得分:0)
使用ForEach Controller - 专为此目的而设计,完全符合您的要求。
答案 3 :(得分:0)
您可以使用ForEach Controller:
RedirectMatch 302 ^/articles/(.+)$ /article/$1
现在,如果你想迭代到所有组,你需要另一个foreach来做到这一点。如您所知,哪个组代表什么值,您可以这样使用。