JMeter-如何从响应数据中提取和验证特定元素和内容

JMeter-如何从响应数据中提取和验证特定元素和内容,jmeter,Jmeter,根据我的回复数据: <?xml version="1.0"?> <PERSON> <NAME>Harry</NAME> <AGE>24</AGE> <REMARKS></REMARKS> <DETAILS> <GENDER>MALE</GENDER> <EYE_COLOR>BLUE</EYE_COLOR&

根据我的回复数据:

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

骚扰
24
男性
蓝色
安得烈
4.
男性
绿色
85公斤
173厘米
。。。。。等等

我希望提取第二个序列的全部内容并验证其内容

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

安得烈
4.
男性
绿色
85公斤
173厘米

此响应可能非常大,任何帮助都将不胜感激。

您可以使用任何一种可用的后处理器,如“”、边界提取器或JSR223等。所有这些都将帮助您在变量中获取所需的数据

但是,如果只需要验证响应,那么可以使用“断言”检查响应是否包含所需的值

我使用了您的示例,得到了响应,仅验证了第二个序列,如下所示:-

我刚刚复制了您的第二个序列代码,并使用“从剪贴板添加”选项来放置断言。您可以根据需要对此进行修改

断言占用大量内存,在负载测试中应该避免

希望能有所帮助

  • 将添加作为返回上述响应的请求的子级
  • 配置如下:

    • 所创建变量的名称:任何有意义的内容,即
      2ndPerson
    • 正则表达式:
      [\s\s]*?
    • 模板:
      $1$
    • 匹配号:
      2

  • 将添加为请求的子级

  • 配置如下:

    • 适用于:JMeter变量->
      2ndPerson\u g0
    • 模式匹配规则:
      等于
    • 模式:

      <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>
      
      
      安得烈
      

  • 正则表达式演示: