Apache Jmeter 提取 __RequestVerificationToken 并使用它登录
Apache Jmeter extracting __RequestVerificationToken and using it to log in
我目前正在使用 Jmeter 来自动执行此过程,但是我无法自动执行登录过程。我使用以下正则表达式来提取 __RequestVerificationToken <input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=/\-\_]+?)">
然后我在尝试登录时继续请求令牌
当 运行 测试时,我收到的响应代码为 500。在调查请求数据时,未正确提取令牌
您的正则表达式缺少一个转义字符:
<input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=\/\-\_]+)">
你可以查看regex
你用过,
Reference Name: tok
从屏幕截图 2 可以清楚地看到
__RequestVerificationToken=%20%7Btok%7D
因此,我的猜测是您已将值存储在变量 tok
中,但按字面意义使用了该变量。
您必须使用 ${tok}
来替换存储在 Reference 中的值。
请记住 not to use regular expressions to parse HTML data. It is a real headache to develop and maintain regular expressions dealing with HTML code, moreover regular expressions are very sensitive to any markup change (line break, extra space, attributes order change, etc.) so I would recommend considering switching to CSS/JQuery Extractor。相关配置会很简单:
- 参考名称:任何有意义的,
tok
都可以
- CSS/JQuery 表达式:
input[name=__RequestVerificationToken]
- 属性:
value
通过这种方式,您将拥有提取 __RequestVerificationToken
值的强大而可靠的方法。
演示:
有关详细信息,请参阅 How to Use the CSS/JQuery Extractor in JMeter 文章。
我目前正在使用 Jmeter 来自动执行此过程,但是我无法自动执行登录过程。我使用以下正则表达式来提取 __RequestVerificationToken <input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=/\-\_]+?)">
然后我在尝试登录时继续请求令牌
当 运行 测试时,我收到的响应代码为 500。在调查请求数据时,未正确提取令牌
您的正则表达式缺少一个转义字符:
<input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=\/\-\_]+)">
你可以查看regex
你用过,
Reference Name: tok
从屏幕截图 2 可以清楚地看到
__RequestVerificationToken=%20%7Btok%7D
因此,我的猜测是您已将值存储在变量 tok
中,但按字面意义使用了该变量。
您必须使用 ${tok}
来替换存储在 Reference 中的值。
请记住 not to use regular expressions to parse HTML data. It is a real headache to develop and maintain regular expressions dealing with HTML code, moreover regular expressions are very sensitive to any markup change (line break, extra space, attributes order change, etc.) so I would recommend considering switching to CSS/JQuery Extractor。相关配置会很简单:
- 参考名称:任何有意义的,
tok
都可以 - CSS/JQuery 表达式:
input[name=__RequestVerificationToken]
- 属性:
value
通过这种方式,您将拥有提取 __RequestVerificationToken
值的强大而可靠的方法。
演示:
有关详细信息,请参阅 How to Use the CSS/JQuery Extractor in JMeter 文章。