【问题标题】:Extracting value from HTML Responce using Regular expression in JMETER?在 JMETER 中使用正则表达式从 HTML 响应中提取值?
【发布时间】:2011-05-31 06:11:24
【问题描述】:

我从 Jmeter 收到这样的回复:

我想从中获取值 3256 并将其存储在一个变量中。然后我可以进一步使用这个变量,比如${variable}。 为此,我在采样器范围内使用RegularExpressionExtractor

请给我正则表达式来提取这个值。

【问题讨论】:

  • 值 3256?请添加更多信息。
  • 如果这是唯一附加的查询字符串,为什么不在= 上拆分它并采用第二组
  • 用什么语言?? Javascript 或任何服务器端语言,如 phpperlpython 等。
  • 你想要这个吗:rubular.com/r/MVcXXRRyzk

标签: html regex jmeter


【解决方案1】:

尝试类似:

encounterId=([0-9]+)

并使用第 1 组作为结果。

【讨论】:

  • 如果值包含字母并且没有考虑到您可能在 id 或 name 中有数字,则此方法不起作用。
  • 此问题已合并,我的回答不符合上述问题...我已标记。
【解决方案2】:

比使用正则表达式提取该值更好,我建议像这样使用 XPath 提取:

//form[@name='MyForm']//input[@name='queueItemId']/@value

MyForm 是您的表单名称,替换为您拥有的任何名称。

【讨论】:

    【解决方案3】:

    其实最好的遮阳篷来自评论中的Ibu

    值=\"(\d+)\" 并且: value="([^"]+?)" 也可以正常工作

    所以在jemter中它看起来像这样:

    参考名称:值

    正则表达式:(\s value=\"(\d+)\")

    正则表达式:(\s value="([^"]+?)")

    模板:$2$

    比赛编号:1

    如果您只想要具有引用名称 queueItemId 的值,您可能需要将 reg ex 修改为此。

    所以从 jmeter reg ex extractor 你得到了:

    参考名称:queueItemId

    正则表达式:(name="queueItemId" \s value="([^"]+?)")

    正则表达式:(name="queueItemId" \s value=\"(\d+)\")

    模板:$2$

    比赛编号:1

    您应该使用 jakarta oro 检查正则表达式,因为它是 jmeter 使用的正则表达式引擎。

    在这里查看雅加达 ORO:http://jakarta.apache.org/oro/demo.html

    ORO 是一个 reg ex 工具,其行为几乎与 jmeter 完全相同。

    在大多数情况下,标准的 reg ex 工具都可以工作,但有时我会遇到 reg ex 在我的工具中很好但在 jmeter 中不工作的情况。

    后来我发现了 ORO 工具,并且能够在 oro(和 jmeter)中使用它

    另一个注意事项:我认为 jmeter 忽略了您的 reg ex 中的空格,当您想比较空格时,您必须添加 /s。

    【讨论】:

      【解决方案4】:

      最近版本的 JMeter 中最易于维护的方式是使用CSS/JQuery Extractor

      表现最好的是使用新的Boundary Extractor

      如果你真的想使用Regular_Expression_Extractor

      【讨论】:

        【解决方案5】:

        这是 XPath 查询:-

        //input[@type="hidden"][@id="queueItemId"][@name="queueItemId"]@value

        【讨论】:

          【解决方案6】:

          或试试这段代码 regexId = '\d+';

          【讨论】:

            【解决方案7】:

            以下正则表达式将匹配参数及其值:

            \bencounterId=(\d*)
            

            括号允许提取值。注意单词边界\b,它确保不匹配以encounterId 结尾的参数,例如fooencounterId

            【讨论】:

              【解决方案8】:
              var str = "<a href='/openmrs/module/moca/encounterViewer.form?encounterId=3537'></a>"
              var regex = /<a.*?href='(.*?)'/;
              var src = regex.exec(str)[1];
              var numb = src.split("=")[1];
              alert (numb);
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-09-29
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-02-13
                • 1970-01-01
                相关资源
                最近更新 更多