JMeter,无法在HTTP请求主体中引用由“正则表达式提取器”创建的变量

dxxyhpgq  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(113)

我想知道是否有可能引用在正则表达式提取器中创建的变量以及如何引用。
1.创建了一个向网站发送初始请求的http请求。此网站将返回一个名为“csrfToken”的令牌。
1.我已经用“正则表达式提取器”成功提取了这个字符串。在“正则表达式提取器”字段“创建变量的名称”中,我给予了名称“csrfToke”。我假设该值将存储到“csrfToken”中。
1.在下一个HTTP post请求的“body data”中,我引用了${csrfToken}的变量值。
1.运行测试,只看到字符串“${csrfToken}”,该字符串不会变成值。
请帮忙谢谢你的问候。

8ulbf1ek

8ulbf1ek1#

如果您给予csrfToke作为名称,则该值将保存到${csrfToke}变量中。
这可能是您的正则表达式与响应中的任何内容都不匹配的情况,请使用View Results Tree侦听器的RegExp Tester模式检查是否是这种情况
以下是该方法的工作演示:
1.在https://blazedemo.com/login网页中,有一个CSRF令牌,如下所示:

window.Laravel = {"csrfToken":"AltfIDVfDFdr93igrvMJqoU0ffkelFKEVW6A3CqU"}    </script>

1.用于提取此标记的相关正则表达式为{"csrfToken":"(.+?)"

1.相应的正则表达式提取程序配置为:

1.使用Debug Sampler,我可以看到该变量已创建,并且具有预期的值:

更多信息:JMeter Regular Expression Extractor: How to Extract Tokens and Session IDs to Variables

相关问题