[英]How to extract single Header value from multiple values extracted using regular expression extractor in JMeter?
[英]How to extract multiple values with a regular expression in Jmeter
我用jmeter运行测试,我需要用正则表达式提取:
insertar?sIws2kyXGJJA_01==
insertar?sIws2kyXGJJA_02==
在以下字符串中:
[\"EMBPAGE1_00010001\",\"**insertar?sIws2kyXGJJA_01==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"[\"EMBPAGE1_00010002\",\"**insertar?sIws2kyXGJJA_02==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"
在DMC给出的答案中,您需要添加正则表达式提取器TWICE以匹配/检索具有不同匹配号(1,2)的两个值。 虽然它也是正确的,但建议采用更好的方法来实现同样的目标。
另一种方法:
1.捕获两个值:
您可以使用模板在同一时间捕捉到两个值,后来,使用索引参考它。
请检查以下屏幕截图:
在这里,我们使用两个组将两个值捕获到两个不同的模板中,分别为$ 1 $和$ 2 $。 这里,模板默认按照正则表达式中指定的组的顺序存储数据。 (仅供参考,您也可以通过调整模板的顺序来更改订单,例如$ 2 $和$ 1 $。)
现在,如图所示,我们捕获两个值并使用模板存储它们:$ 1 $(指第一组匹配)和$ 2 $(指第二组匹配)
2.检索值:
现在,使用以下语法在脚本中引用这些值:
$ {insert_values_gn}(n表示匹配编号)
例如:
$ {insert_values_g1} - 指第一场比赛
$ {insert_values_g2} - 指第二场比赛
为简单起见,您可以将“insert_values”视为使用多个组捕获的字符串列表, 并使用“n”(1,2,3等)作为索引来检索值。
注意:使用模板,您可以使用多个组检索任意数量的值,并使用单个正则表达式提取器通过索引来引用它们。
UPD:G2 - 在我的例子中,因为我从每次遭遇中提取两组。 每次遭遇都是g1中的“uuid”,g2是第二部分,我需要第二部分。 这就是$ 2 $模板和g2的原因。 如果你遇到一个组,你很可能会使用$ 1 $模板将所有遭遇放入g1。 如果你有一个匹配组,你根本不需要_gN结束。 要在组提取后了解更多变量,请添加“Debug PostProcessor”并在TreeView中检查输出。
很好的两个知道像“For each”这样的控制元素可以理解组,并且可以使用regexUUID_这样的前缀并遍历。 在大多数情况下,接下来你会在提取后做。
UPD2。 有问题的regexp的原始版本(insertar \\?sIws2kyXGJJA_ \\ d *)==([^ [] *)与模板$ 1 $$ 2 $你将拥有g1组中的第一部分和g2中的第二部分
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.