如何在Jmeter中提取响应字符串的发生次数,如果发生次数与数字不匹配,如何使测试失败?

如何在Jmeter中提取响应字符串的发生次数,如果发生次数与数字不匹配,如何使测试失败?,jmeter,assertions,beanshell,Jmeter,Assertions,Beanshell,我试图在Jmeter中计算响应的出现次数,如果计数不等于4,测试应该失败 我该怎么做 我在beanshell断言中使用了这一点: Import org.apache.commons.lang3.StringUtils; int matches = StringUtils.countMatches(new String(data), "itemname"); vars.put("ItemNameVar_matchNr", String.valueOf(matches)); assert mat

我试图在Jmeter中计算响应的出现次数,如果计数不等于4,测试应该失败

我该怎么做

我在beanshell断言中使用了这一点:

Import org.apache.commons.lang3.StringUtils;

int matches = StringUtils.countMatches(new String(data), "itemname"); 
vars.put("ItemNameVar_matchNr", String.valueOf(matches));
assert matches == 5;
它。它不起作用。它显示错误:

类型化变量声明:未定义参数:数据

  • Beanshell断言中没有
    数据
    ,有一个预定义变量
    ResponseData
    ,它是字节数组
  • 在Beanshell中没有
    assert
    ,而是有
    Failure
    预定义的布尔值,用于指示作用域中的采样器是否成功

  • 完整代码:

    import org.apache.commons.lang3.StringUtils;
    
    int matches = StringUtils.countMatches(new String(ResponseData), "itemname"); 
    vars.put("ItemNameVar_matchNr", String.valueOf(matches));
    Failure = matches != 5;
    
  • 参考资料:

  • Beanshell断言中没有
    数据
    ,有一个预定义变量
    ResponseData
    ,它是字节数组
  • 在Beanshell中没有
    assert
    ,而是有
    Failure
    预定义的布尔值,用于指示作用域中的采样器是否成功

  • 完整代码:

    import org.apache.commons.lang3.StringUtils;
    
    int matches = StringUtils.countMatches(new String(ResponseData), "itemname"); 
    vars.put("ItemNameVar_matchNr", String.valueOf(matches));
    Failure = matches != 5;
    
  • 参考资料:


  • 谢谢这管用!有没有办法通过jmeter访问电子邮件?我想检查我收到的电子邮件的语言。。。。查看文章了解详细信息。断言和后处理器通常可以应用于邮件阅读器采样器。但是在回答中,我得到了这样一个问题:如何获取实际消息而不是文件夹?如何将其连接到原始问题?尝试重新启动JMeter,看起来您在查看结果树Listener时遇到了问题谢谢!这管用!有没有办法通过jmeter访问电子邮件?我想检查我收到的电子邮件的语言。。。。查看文章了解详细信息。断言和后处理器通常可以应用于邮件阅读器采样器。但在回答中,我得到了这样一个问题:如何获取实际消息而不是文件夹?如何将其连接到原始问题?尝试重新启动JMeter,看起来您在查看结果树侦听器方面遇到了问题