我有一个场景,其中正则表达式将应用于多个请求(不是所有请求)。
举例来说:
- Request-1生成一个token-id。
1.这需要用表达式connectionToken”:“(.+?)"来提取。
1.在接下来的2个后续请求中使用此变量。
1.第三个请求生成另一个token-id。
1.这也需要使用相同的表达式。
1.在接下来的两个请求中使用这个。
1.类似地,第五个请求生成一个token-id,依此类推。
有没有一种方法可以用一个正则表达式提取器来优化它?
注意:将提取器放置在线程组级别似乎不是一个有效的选择。
我想使用一个正则表达式提取器。这个提取器必须在适当的请求中应用正则表达式。相应地,在后续的请求中需要使用变量。
1条答案
按热度按时间eoxn13cs1#
JMeter后处理器遵守JMeter范围规则,即每个正则表达式提取器将在其范围内的每个采样器之后执行。
如果第二个请求没有返回connectionToken,则变量将为空或默认值,第三个请求将失败。
最简单的解决方案就是复制并粘贴正则表达式提取器。
如果不想复制代码,可以切换到JSR223后处理器并有条件地提取令牌,例如,根据Sampler的标签或响应中是否存在
connectionToken
。例如:
字符串
请参阅Top 8 JMeter Java Classes You Should Be Using with Groovy文章了解更多关于
prev
和vars
的含义,并参阅Find Operator Groovy文档中有关提取文本方法的章节。