当其中一个JMeters测试没有在Jenkins中运行时,哪个(哪个日志文件)看起来?

时间:2014-03-06 16:27:59

标签: performance plugins jenkins jmeter

我在一个.jmx中进行了17次测试,我是从Jenkins打来的。除此之外,15个正确运行并返回有意义的结果。然而,最后2次重新运行,运行时间为0ms。我看着日志,也不例外。我的问题是在这种情况下我可以查看哪个(哪个日志文件)?

2 个答案:

答案 0 :(得分:1)

有不同的选项可以检测到您的测试正在做它应该做的事情。

  • 断言
  • 结果文件
  • 日志文件

最简单的方法是使用Assertions来检查采样器响应数据。最常用的是Response Assertion

下一步是配置JMeter以保存您感兴趣的请求和响应字段。请参阅属性,从jmeter.properties文件中的 jmeter.save.saveservice 开始。取消注释并设置为true,您觉得可以帮助您找到问题的根源

下一个是最灵活和最丰富的。我建议使用一些日志来解决问题。 JMeter写了一个名为jmeter.log的文件。您可以将Beanshell Pre Processor和Beanshell Post Processor添加到采样器中,运行时间为0ms,类似于:

在后处理器中:

log.info("Starting test " + sampler.getName() + " at " + new Date()); 

在后处理器中:

log.info("Response code " + prev.getResponseCode());
log.info("Response message " + prev.getResponseMessage());
log.info("Execution time " + prev.getTime());

等。您甚至可以在日志中看到完整的响应数据

log.info(new String(data));

有关高级Beanshell脚本编制的更多详细信息,请参阅How to use BeanShell指南。

答案 1 :(得分:0)

Jenkins构建的所有stdout和stderr输出将转到[Jenkins URL] / job / [job name] / [build number] / console

的控制台输出

如果你没有看到任何有用的东西,最好的方法是在Jenkins之外运行JMeter测试,但是在Jenkins将使用的同一台机器和相同的用户环境下运行。您可能需要启用一些额外的调试信息;有关提示,请参阅this link