如何在JMeter中通过XPath Extractor提取响应?

时间:2011-02-22 10:37:13

标签: xpath jmeter web-testing beanshell

我得到了如下答案:

<response>
  <status code='200' server_time='xxx' />
  <tests>
    <test id='1' name='a!' status='Started' />
    <test id='2' name='bb!' status='New' />
    <test id='3' name='ccc!' status='New' />
    <test id='4' name='dddd!' status='New' />
  </tests>
</response>

我已经在采样器中添加了一个Xpath提取器:

Reference name: mytest
XPath Query: //test[@id='1']

但是返回变量(mytest)是错误的。

OUT.println(mytest) --> void

我是JMeter的新手。我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:4)

  

我已经添加了一个Xpath提取器   进入采样器:

     

参考名称:mytest XPath查询:

//test[@id='1'] 
     

但是返回变量(mytest)是   错。

OUT.println(mytest) --> void

显然println()函数打印test元素的字符串值,并且在提供的XML文档中test元素没有任何内容,其字符串值为空字符串。

你想要

/*/*/test[@id=1]/@name

/*/*/test[@id=1]/@status

前者选择文档顶部元素的所有name个孙子元素的所有test属性,这些元素具有值为id的{​​{1}}属性。

后者选择文档顶部元素的所有1个孙子元素的所有status属性,这些元素具有值为test的{​​{1}}属性。

答案 1 :(得分:2)

可能是因为您没有文字内容。尝试设置“Return entire XPath fragment instead of text content?