我正在使用JMeter来加载测试某些应用程序,我使用持续时间断言并将其设置为200,当加载时间超过200时,结果树中的请求变为红色,因为它是错误的
答案 0 :(得分:1)
您正在查看的是摘要。 您需要为项目添加一个侦听器,将结果保存到文件中。 然后你需要让Teamcity读取该文件并断言结果。
Teamcity只是在告诉你“呃,你希望我运行的剧本”。
以下是一个小指南: https://devblog.xero.com/run-jmeter-performance-tests-on-teamcity-8315f7ccffc1#.8ga4jso7k
答案 1 :(得分:0)
您实际上并没有指定很多信息。您如何运行该应用程序?您有可用的TeamCity JMeter插件吗?
我使用jmeter-maven-plugin运行一个maven项目,并使用JMeter-plugin运行teamcity。现在,您可以在pom.xml中指定是否要在测试失败时使测试失败:
<ignoreResultFailures>false</ignoreResultFailures>
还请阅读TeamCity插件上的信息,因为它使用特定的(非标准)jtl格式:
<propertiesJMeter>
<jmeter.save.saveservice.default_delimiter>\t</jmeter.save.saveservice.default_delimiter>
<jmeter.save.saveservice.print_field_names>true</jmeter.save.saveservice.print_field_names>
</propertiesJMeter>
有关更多信息,请参阅此页面,其中解释了TeamCity JMeter插件的配置:https://www.blazemeter.com/blog/how-run-jmeter-tests-teamcity-continuous-integration
作为奖励:我花了一些时间看如何从maven构建中将参数传递给JMeter脚本。我得出的结论是,maven插件不支持正常的-J JMeter参数,您应该使用-D代替:
<jMeterProcessJVMSettings>
<arguments>
<argument>-Dimage_path=${teamcity.build.workingDir}/src/test/resources/images</argument>
<argument>-Denvironment=TEST</argument>
</arguments>
</jMeterProcessJVMSettings>
现在在JMeter中,您可以使用以下变量值来获取pom.xml中指定的值:
${__groovy(System.getProperty("image_path"\,"/some/default/dir"))}
答案 2 :(得分:0)
在Team City项目的“构建功能”下查看性能指标计算。您需要确保已检查断言,以使基于断言的构建失败。
除此之外,较新版本的JMeter和Team City在输出的.jtl文件中添加了更多列,因此您需要确保“成功”列在文件的第5位。我在TeamCity JMeter插件git repo:https://github.com/jtorgan/jmeter_plugin/issues/24#issuecomment-421016226
中看到了这篇文章后,发现了这个问题。我没有确保创建脚本,而是只是确保删除TeamCity服务器上JMeter user.properties设置中的某些列,以确保成功列位于第5位。
这是我必须在JMeter的user.properties下关闭的列:
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.thread_name=false
jmeter.save.saveservice.data_type=false