【问题标题】:Jmeter Regular expression for extracting用于提取的Jmeter正则表达式
【发布时间】:2014-05-13 21:23:16
【问题描述】:

目前我正在学习 JMeter 课程,但如果您能指出正确的方向,我将不胜感激。 出于参数化原因,我正在尝试使用正则表达式提取器编写一个正则表达式来从下拉列表中提取值。但是,使用我的表达式似乎提取了该页面中具有“选项值”的页面上的所有内容,即我无法使表达式特定于特定的下拉菜单?非常感谢

我试过了:

OPTION VALUE="([A-Za-z]+)"

以下是相关的HTML:

<SELECT NAME="fromPort">
    <OPTION VALUE="Acapulco">Acapulco
    <OPTION VALUE="Frankfurt">Frankfurt
    <OPTION VALUE="London">London
    <OPTION VALUE="New York">New York
    <OPTION VALUE="Paris">Paris
    <OPTION VALUE="Portland">Portland
    <OPTION VALUE="San Francisco">San Francisco
    <OPTION VALUE="Seattle">Seattle
    <OPTION VALUE="Sydney">Sydney
    <OPTION VALUE="Zurich">Zurich
</SELECT>     

【问题讨论】:

  • 到目前为止你尝试过什么?
  • 到目前为止,我已经尝试使用 "([A-Za-z]+)" 来提取城市名称。

标签: regex jmeter


【解决方案1】:

这是使用正则表达式提取器的糟糕情况,因为正则表达式用于匹配特定字符串。

您想基于 DOM 进行匹配,因此请尝试使用 XPath 提取器。

您的情况的一个粗略示例是:

/html/body/select[@name="fromPort"]/option/text()

如果您需要帮助,这里有一个教程: http://blazemeter.com/blog/using-xpath-extractor-jmeter-0

【讨论】:

    【解决方案2】:

    不要使用正则表达式来提取 HTML 数据。有关详细信息,请参阅RegEx match open tags except XHTML self-contained tags

    JMeter 提供 2 个专为处理 HTML 数据而设计的后处理器。

    XPath 提取器

    XPath Extractor 添加为请求的子项,该请求返回您的端口数据,配置如下:

    • 参考名称:任何有意义的名称,即port。它将是匹配结果的变量或变量前缀
    • XPath 查询://select[@name='fromPort']/option/text()
    • 重要提示:如果您的响应不符合 XML/HTML - 请选中 Use Tidy 框,它使 XPath Extractor 能够解析无效的 XML/XHTML 响应。

    输出会是这样的:

    port=Acapulco
    port_1=Acapulco
    port_10=Zurich
    port_2=Frankfurt
    port_3=London
    port_4=New York
    port_5=Paris
    port_6=Portland
    port_7=San Francisco
    port_8=Seattle
    port_9=Sydney
    port_matchNr=10
    

    CSS/JQuery_Extractor

    另一个选项是使用CSS/JQuery extractor,它允许使用 CSS 和/或 JQuery 表达式来获取响应的有趣部分。

    例如,如果您正在寻找随机端口,以下配置可能会有所帮助:

    • 参考名称:再次,有意义的东西,例如port
    • CSS/JQuery 表达式:select[name=fromPort] &gt; option
    • 属性:value

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多