在JMETER中使用正则表达式从HTML响应中提取值?
我从Jmeter那里得到如下回应:在JMETER中使用正则表达式从HTML响应中提取值?,html,regex,jmeter,Html,Regex,Jmeter,我从Jmeter那里得到如下回应: //form[@name='MyForm']//input[@name='queueItemId']/@value 我想从中获取值3256并将其存储在变量中。然后我可以进一步使用这个变量,比如${variable}。 为此,我在采样器的范围内使用了RegularExpressionExtractor 请给我正则表达式以提取此值。以下是XPath查询:- //输入[@type=“hidden”][@id=“queueItemId”][@name=“queue
//form[@name='MyForm']//input[@name='queueItemId']/@value
我想从中获取值3256并将其存储在变量中。然后我可以进一步使用这个变量,比如${variable}
。
为此,我在采样器的范围内使用了RegularExpressionExtractor
请给我正则表达式以提取此值。以下是XPath查询:-
//输入[@type=“hidden”][@id=“queueItemId”][@name=“queueItemId”]@value
尝试以下方法:
encounterId=([0-9]+)
并使用组1作为结果。或尝试此代码
regexId='\d+' 以下正则表达式将匹配参数及其值:
\bencounterId=(\d*)
括号用于提取值。请注意单词boundary
\b
确保以encounterId
结尾的参数(例如fooencounterId
)不匹配。比使用正则表达式提取该值更好我建议使用XPath提取,如下所示:
//form[@name='MyForm']//input[@name='queueItemId']/@value
如果
MyForm
是您的表单名称,请用您拥有的任何名称替换。实际上,最好的awnser是来自Ibu的注释:
值=\“(\d+)\”
并且:value=“([^”]+?)”也可以正常工作
因此,在Jeter中,它将如下所示:
引用名称:value
正则表达式:(\s值=\”(\d+)\”)
正则表达式:(\s value=“([^”]+?)”)
模板:$2$
比赛编号:1
如果只需要具有引用名称queueItemId的值,则可能需要将reg ex修改为该值
从jmeter reg ex提取器中,您可以得到:
引用名称:queueItemId
正则表达式:(name=“queueItemId”\s value=“([^”]+?)”)
正则表达式:(name=“queueItemId”\s value=\“(\d+)\”)
模板:$2$
比赛编号:1
您应该与jakarta oro一起检查正则表达式,因为jmeter使用的是正则表达式引擎
在这里查看雅加达奥罗:
ORO是一个reg ex工具,其行为几乎与jmeter完全相同
大多数情况下,standart reg-ex工具都可以工作,但有时我碰巧发现,reg-ex在我的工具中很好,但在jmeter中不起作用
后来我发现了ORO工具,并能够在ORO(和jmeter)中工作
另一个注意事项:我认为jmeter忽略注册表中的空格,当您要比较空格时,必须添加/s。var str=“”
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);
var regex=/在最新版本的JMeter中,最易于维护的方法是使用:
最有效的方法是使用新的:
如果您确实想使用:
Value 3256?请添加更多信息。如果这是唯一附加的查询字符串,为什么不在=
上拆分它,并使用第二组语言??Javascript
或任何服务器端语言,如php
、perl
、python
等。是否希望这样:如果值包含删除,不考虑您的id或姓名中可能有数字。此问题已被合并,我的答案不适合上述问题…我已将其标记。