如何在JMeter中使用正则表达式提取器提取某些值?

如果我有两个相同的标签和相同的属性,唯一的区别是值,我该如何提取第二个?

<data xsi:type="soapenc:string">0</data>

<data xsi:type="soapenc:string">1</data>

我已尝试执行以下操作。

<data xsi:type="soapenc:string">0</data><data xsi:type="soapenc:string">(.+?)</data>

并将值分配给myID。但是,当我在脚本中放入$ {myID}时,它使用的是字符串“ $

{myID}”,而不是实际值。是提取不起作用吗?还是我需要使用其他变量?

我有一个不同的采样器,其中只有一个标签。例如,

<data xsi:type="soapenc:string">0</data>

当我做,

<data xsi:type="soapenc:string">(.+?)</data>

并分配给myAnotherID,我可以使用$ {myAnotherID},该值将在脚本中使用。

那么,为什么$ {myID}不返回值呢?

在此先感谢,蒙特

回答:

使用单个表达式– <data xsi:type="soapenc:string">(.+?)</data>获取所有匹配项。

如果有多个匹配项,jmeter将根据您尝试提取的变量名称为每个匹配项生成特定的变量-如refName_N:myAnotherID_1,myAnotherID_2,…,myAnotherID_N。

然后,您可以通过相应的变量(示例中的myAnotherID_1)引用所需的值。

  • 查看正则表达式提取器参考以获取匹配号说明。
  • 您还可以使用Debug Sampler和JMeter Variables = true来查看提取一批值时生成的所有变量。
  • 在没有ForEach Controller的情况下,请查看这篇文章以循环遍历多个RegExp Extractor输出值。

希望这可以帮助。

以上是 如何在JMeter中使用正则表达式提取器提取某些值? 的全部内容, 来源链接: utcz.com/qa/432622.html

回到顶部