Как извлечь ответ XPath Extractor в JMeter? - PullRequest
3 голосов
/ 22 февраля 2011

Я получил ответ, подобный следующему:

<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 ]

4 голосов
/ 22 февраля 2011

Я уже добавил экстрактор Xpath в пробоотборник:

Ссылочное имя: mytest XPath Query:

//test[@id='1'] 

Но возвращаемая переменная (mytest) неправильно.

OUT.println(mytest) --> void

Очевидно, что функция println() печатает строковое значение элемента test, а в предоставленном XML-документе элементы test не имеют никакого содержимого, а их строковое значение - пустая строка.

Вы хотите :

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

и

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

Первый выбирает все name атрибуты всех test внуков верхнего элемента документа, которые имеют атрибут id со значением 1.

Последний выбирает все status атрибуты всех test внуков верхнего элемента документа, которые имеют атрибут id со значением 1.

2 голосов
/ 22 февраля 2011

Это может быть потому, что у вас нет текстового содержимого.Попробуйте установить "Return entire XPath fragment instead of text content?"

...