JMeter - Как извлечь и проверить конкретный элемент и содержимое из данных ответа - PullRequest
0 голосов
/ 23 мая 2018

Из моих данных ответа:

<?xml version="1.0"?>
<PERSON>
  <NAME>Harry</NAME>
  <AGE>24</AGE>  
  <REMARKS></REMARKS>
  <DETAILS>
    <GENDER>MALE</GENDER>    
    <EYE_COLOR>BLUE</EYE_COLOR>
  </DETAILS>  
</PERSON>

<?xml version="1.0"?>
<PERSON>
  <NAME>Andrew</NAME>
  <AGE>4</AGE>  
  <REMARKS></REMARKS>
  <DETAILS>
    <GENDER>MALE</GENDER>    
    <EYE_COLOR>GREEN</EYE_COLOR>
  </DETAILS>
  <DETAILS>
    <WEIGHT>85KG</WEIGHT>    
    <HEIGHT>173CM</HEIGHT>
  </DETAILS>  
</PERSON>

..... и т. Д.

Я хочу извлечь всю 2-ю последовательность и проверить ее содержимое

<?xml version="1.0"?>
<PERSON>
  <NAME>Andrew</NAME>
  <AGE>4</AGE>  
  <REMARKS></REMARKS>
  <DETAILS>
    <GENDER>MALE</GENDER>    
    <EYE_COLOR>GREEN</COLOR>
  </DETAILS>
  <DETAILS>
    <WEIGHT>85KG</WEIGHT>    
    <HEIGHT>173CM</HEIGHT>
  </DETAILS>  
</PERSON>

Этот ответ может быть очень большим, любая помощь будет наиболее ценной.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018
  1. Добавить экстрактор регулярных выражений как дочерний элемент запроса, который возвращает вышеуказанный ответ
  2. Настройте его следующим образом:

    • Имя созданной переменной: что-либо значимое, т. Е. 2ndPerson
    • Регулярное выражение: <PERSON>[\s\S]*?<\/PERSON>
    • Шаблон: $1$
    • Номер матча: 2

      JMeter Regular Expression

  3. Добавить Подтверждение ответа как дочерний элемент запроса

  4. Настройте его следующим образом:

    • Примените к: Переменная JMeter -> 2ndPerson_g0
    • Правила сопоставления с образцом: Equals
    • Шаблон:

      <PERSON>
        <NAME>Andrew</NAME>
        <AGE>4</AGE>  
        <REMARKS></REMARKS>
        <DETAILS>
          <GENDER>MALE</GENDER>    
          <EYE_COLOR>GREEN</EYE_COLOR>
        </DETAILS>
        <DETAILS>
          <WEIGHT>85KG</WEIGHT>    
          <HEIGHT>173CM</HEIGHT>
        </DETAILS>  
      </PERSON>
      

      JMeter Response Assertion

Демонстрация регулярных выражений:

JMeter Regular Expression Demo

0 голосов
/ 23 мая 2018

Вы можете использовать любой из доступных постпроцессоров, таких как " CSS / JQuery Extractor ", Boundary Extractor, Regular Expression Extractor или JSR223 и т. Д. Все они помогут вамполучить необходимые данные в переменной / s

Но, если вам нужно просто проверить ответ, вы можете использовать «Утверждение», чтобы проверить, содержит ли ответ требуемые значения.

IЯ использовал ваш пример и получил ответ и только подтвердил 2-ю последовательность, как показано ниже: -

enter image description here Я только что скопировал ваш второй код последовательности и использовал опцию «Добавить из буфера обмена»поставить утверждение.Вы можете изменить это в соответствии со своими потребностями.

Утверждение занимает много памяти и его следует избегать при нагрузочном тесте.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...