我在 Jmeter 中做关联。我面临以下问题以找到正则表达式
I am doing correlation in Jmeter. I am facing below issue to find the Regular expression
<input type="hidden" name="_csrf"
value="40ea7f46-799b-4ca0-b8cd-4adfba082aed" />
以上是我在请求输出中获得的令牌。我无法用 Jmeter 的正则表达式提取器中的正则表达式替换它。
<input type="hidden" name="_csrf" value="(.+?)" />
不工作。
请帮忙。
如果您的输入实际上包含换行符,那么您需要在正则表达式中考虑到这一点。此外,最好明确说明正则表达式中的有效字符,.+
很少是一件好事:
<input type="hidden"\s+name="_csrf"\s+value="([^"]+)"\s*/>
你必须小心spaces/newlines
。
尝试使用以下简单的正则表达式:
value="(.*?)"\s/>
如果匹配多个元素,为了增加唯一性,可以在正则表达式中添加name属性,如下:
name="_csrf"\s+value="(.*?)"\s/>
这是 not using regular expressions to parse HTML as they are very fragile and sensitive to minimal markup changes. The more robust and resilient solution is using CSS/JQuery Extractor or XPath Extractor 的另一个证据。
- 相关的CSS表达式为
input[name=_csrf]
,使用value
作为"attribute"
- 获取值的XPath查询是
//input[@name='_csrf']/@value
有关在 JMeter 测试中绕过 XSRF 保护的详细信息,请参阅 How to Load Test CSRF-Protected Web Sites 指南
<input type="hidden" name="_csrf"
value="40ea7f46-799b-4ca0-b8cd-4adfba082aed" />
以上是我在请求输出中获得的令牌。我无法用 Jmeter 的正则表达式提取器中的正则表达式替换它。
<input type="hidden" name="_csrf" value="(.+?)" />
不工作。
请帮忙。
如果您的输入实际上包含换行符,那么您需要在正则表达式中考虑到这一点。此外,最好明确说明正则表达式中的有效字符,.+
很少是一件好事:
<input type="hidden"\s+name="_csrf"\s+value="([^"]+)"\s*/>
你必须小心spaces/newlines
。
尝试使用以下简单的正则表达式:
value="(.*?)"\s/>
如果匹配多个元素,为了增加唯一性,可以在正则表达式中添加name属性,如下:
name="_csrf"\s+value="(.*?)"\s/>
这是 not using regular expressions to parse HTML as they are very fragile and sensitive to minimal markup changes. The more robust and resilient solution is using CSS/JQuery Extractor or XPath Extractor 的另一个证据。
- 相关的CSS表达式为
input[name=_csrf]
,使用value
作为"attribute" - 获取值的XPath查询是
//input[@name='_csrf']/@value
有关在 JMeter 测试中绕过 XSRF 保护的详细信息,请参阅 How to Load Test CSRF-Protected Web Sites 指南