【问题标题】:Executing jmeter tests only if the previous jmeter test passes仅当先前的 jmeter 测试通过时才执行 jmeter 测试
【发布时间】:2016-03-15 16:06:41
【问题描述】:

我正在使用 Jenkins 和 maven-jmeter 插件运行我的 jmeter 测试。 我的 pom.xml 配置如下。

 <testFilesIncluded>
      <jMeterTestFile>001-Test1.jmx</jMeterTestFile>
      <jMeterTestFile>002-Test2.jmx</jMeterTestFile>
      <jMeterTestFile>003-Test3.jmx</jMeterTestFile>
      <jMeterTestFile>004-Test4.jmx</jMeterTestFile>
       <jMeterTestFile>005-Test5.jmx</jMeterTestFile>
 </testFilesIncluded>

另外,使用 jenkins 中的性能插件进行报告。

因此,如果我的第一个测试 (001-Test1.jmx) 失败(断言失败),我不想执行下一个测试 (002-Test2.jmx)。

我怎样才能做到这一点? 提前感谢您的帮助。

【问题讨论】:

  • 不确定ignoreResultsFailures 是否是您所需要的。默认情况下它设置为 false - 如果您没有在 pom.xml 中覆盖它。如果您将结果保存为 CSV 格式,我认为它不会起作用,但如果您将结果保存到 XML/JTL,它可能对您有用。对不起,你不必确认它是否适合你。我不记得这会在哪个阶段停止执行。

标签: jenkins jmeter


【解决方案1】:

我不确定这是否有帮助,

但是如果你使用了TestNG,你可以通过在testng.xml中设置依赖来确保一定数量的测试方法已经完成并成功,然后再运行更多的测试方法

 <test name="My suite">
  <groups>
    <dependencies>
      <group name="c" depends-on="a  b" />
      <group name="z" depends-on="c" />
    </dependencies>
  </groups>
</test>

希望你可以利用它。

【讨论】:

  • 谢谢雅布科。我没有使用 TestNG。不确定如何将 TestNG 与 JMeter 一起使用,但这绝对是一个好建议。到目前为止,我从 GUI 创建 JMeter 测试并使用 Maven-Jmeter 插件从命令行执行。
【解决方案2】:

使用 ant,您可以将不同的 Jmeter 测试定义为单独的目标,并设置它们之间的依赖关系。这正是你所需要的。请记住,maven 描述的是项目的结构,而不是其执行的逻辑(if-then)。但是蚂蚁会。所以,尝试切换到 ant。

【讨论】:

    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多