2011-05-31 371 views
3

使用JMETER中的正则表达式从HTML响应中提取值?

我正在从上面的Jmeter得到响应。我想从中获得值3256并将其存储在一个变量中。然后我可以使用这个变量进一步使用像${variable}。 为此,我在采样器的范围内使用RegularExpressionExtractor

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

+1

/value = \“(\ d +)\”/ – Ibu 2011-05-31 06:14:01

+0

Value 3256?请添加更多信息。 – 2011-05-31 06:45:03

+0

如果这是唯一的附加查询字符串,为什么不把它拆分到'='上,并将第二个组 – Robb 2011-05-31 10:00:24

回答

0

下面是XPath查询: -

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

3

试着这么做:

encounterId=([0-9]+) 

和使用1组作为结果。

+0

如果这个值包含并且不考虑您可能在ID或名称中包含数字。 – Chris 2011-06-14 20:45:10

+0

这个问题已被合并,我的答案不符合上述问题......我标记了它。 – morja 2011-06-14 21:25:28

0

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

0

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

\bencounterId=(\d*) 

括号使值的提取。请注意字边界\b,它确保以encounterId结尾的参数(如fooencounterId)不匹配。

2

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

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

哪里MyForm是你的表单名称,替换,不管你有。

1

实际上最好awnser是从布洛芬在注释:

值= \ “(\ d +)\” 和:值= “([^”?] +)”,将workfine太

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

参考名称:值

正则表达式:(\ S值= \ “(\ d +)\”)

正则表达式:(\ S值= “([^”] +)“?)

模板:$ 2 $

比赛NO.:1

如果你想只值有参考名称queueItemId您可能想要修改注册表编号为此。

从JMeter的REG前提取

所以你有:

参考名称:queueItemId

正则表达式:(?NAME = “queueItemId” \ S值= “([^”] +)“)

正则表达式:(名称= “queueItemId” \ S值= \ “(\ d +)\”)

模板:$ 2 $

匹配NO.:1

你应该检查雅加达oro的正则表达式,因为它是jmeter使用的reg ex引擎。

退房雅加达ORO位置:http://jakarta.apache.org/oro/demo.html

ORO是一个reg EX的工具,其行为几乎完全一样的JMeter。

大多数情况下,标准注册工具可以正常工作,但它在我的某个时间发生在我的工具中,但是没有在jmeter工作。

后来我发现,破产管理署的工具,并能使其在奥罗(和JMeter的)

工作另注:我想JMeter的在你的REG前忽略空间,你有,当你想添加/秒比较一个空间。

0
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); 
相关问题