繁体   English   中英

jmeter提取正则表达式无法获得正确的结果

[英]jmeter extract regular expression not get correct result

这是我的HTML

<input name="__RequestVerificationToken" type="hidden" value="A9y6Ndf7Q2XP2Yz6zhaVChoIvpQGUrZRTvu9D_HnHnUcFBVInerxCjU4vpOXQYVhFwnzl-zAzkvtto7BLAVVr">

我想在jmeter正则表达式提取器中提取值。 在此处输入图片说明

这是我的regx窗口,但是当我发布它时,我不会得到预期的令牌,它就像这样__RequestVerificationToken=%24%7Bauth_token%7D

尝试使用$1$作为模板,它应该可以解决您的问题。

查看您的请求,我可以看到您正在发送%24%7Bauth_token%7D ,该解码的内容看起来像${auth_token}因此您的用例不正确。

您需要2个请求:

  1. GET请求以获取页面并提取RequestVerificationToken并将其存储到auth_token变量。
  2. POST请求将使用auth_token变量。

有关更多详细信息,请参见《 JMeter指南》中的“ 使用正则表达式”

顺便说一句,您可以结合使用Debug SamplerView Results Tree侦听器来查看是否存在任何匹配项。 wrt组和变量应该更方便。

通常, 不建议使用正则表达式来解析HTML。 我建议改用XPath Extractor 相关的XPath表达式将如下所示:

//input[@name='__RequestVerificationToken']/@value

几件事要注意:

  • 如果您的页面不符合XHTML,则需要选中XPath Extractor中的Use Tidy框。
  • JMeter 2.11在View Results Tree Listener中提供了不错的XPath Tester

我们需要设置以下正则表达式提取器值以提取auth令牌值

Reference Name : Auth_Token
Regular Expression : <input\sname="__RequestVerificationToken"\stype="hidden"\svalue="(.+)">
Template : $1$
Match No : 1
Default values : NOT FOUND TOKENS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM