regex - XPath 和正则表达式都不能在 JMeter 3.0 上运行

标签 regex tomcat xpath jsf-2 jmeter

进行负载测试时,我在需要使用动态变量 (javax.faces.ViewState) 的情况下运行。

解决方案是使用 XPath 或正则表达式提取器。

它们都不起作用(...&javax.faces.ViewState=%24%7Bvar1%7D):

enter image description here

enter image description here

我使用的变量的值是

<input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces\.ViewState" value="(.+?)"autocomplete="off" />

//input[@id='javax.faces.ViewState']/@value

来源:http://se7so.blogspot.com/2012/12/apache-jmeter-along-with-jsf-pages.html

更新 1:

JSF生成的参数:

enter image description here

更新 2

使用谷歌浏览器的控制台:

enter image description here

我错过了什么?

最佳答案

  1. 对于正则表达式,您需要转义逗号,因为它们可能被视为 special characters ,所以使用下面的正则表达式:

    <input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces\.ViewState" value="(.+?)" autocomplete="off" />
    

    演示:

    Regular Expression Extractor

  2. 对于 XPath 提取器,如果您的响应不符合 XML/XHTML,您可能需要检查 Use Tidy用于处理“常规”HTML 的框。

    Xpath Demo

顺便说一下,您可以根据实时服务器响应验证您的 Regular、XPath、CSS 和 JSONPath 表达式,而无需使用 View Results Tree 重新运行测试。听众,查看How to Debug your Apache JMeter Script了解详情。

关于regex - XPath 和正则表达式都不能在 JMeter 3.0 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39035930/

相关文章:

regex - 语言标签的正则表达式(由 BCP47 定义)

javascript - 只允许数字的正则表达式

php - 在较长的文本中使用 php/regex 查找匹配的括号

Firefox 给出 "The certificate is not trusted"

java - IntelliJ IDEA 12.1.4 与 Tomcat 6 : Unable to load class for JSP

java - Web 元素未被包含 Selenium WebDriver Java 文本的 Xpath 识别

regex - 从正则表达式中提取组

javascript - 为什么我没有在我的动态 Web 元素中获取 css 和 js 文件我尝试了堆栈溢出中提到的许多方法但它不起作用

selenium - 计算与给定xpath表达式匹配的元素数

java - 为什么我不能在 Java 方法中使用 XPath 获取标记的内容?