【问题标题】:Using AND in include statement for testng在 testng 的 include 语句中使用 AND
【发布时间】:2016-02-15 19:49:35
【问题描述】:

我有几个在 Java 中执行的测试。我想用 testng.xml 进行测试。我给每个测试至少两组。一个来自 {GRP1, GRP2},一个来自 {UPDATE, NOUPDATE}。 (是的,第一组,GRP1 和 GRP2 不是实名,但我不确定如果我显示他们的实名会泄露多少公司敏感信息。概念保持不变}。

我想每晚运行其中一些,但由于标记为 UPDATE 更新并创建数据,我不希望这些每晚运行,因为它们会创建太多数据

我在 testng.xml 中有两个测试:

<test name="TESTGROUP1">
  <groups>
    <run>
      <include name="GRP1"/>
    </run>
  </groups>
    ...
</test>
<test name="TESTGROUP2">
  <groups>
    <run>
      <include name="GRP2"/>
    </run>
  </groups>
    ...
</test>

这将运行所有 GRP1 和 GRP2 测试,包括 UPDATE 测试。我希望它只选择同时包含 GRP1 和 NOUPDATE 的测试。我在某处阅读了用户的评论以执行以下操作:

		  <run>
		    <include name="GRP1" />
		    <include name = "NOUPDATE" />
		  </run>

但是当我尝试这个时,它似乎是在做 OR 而不是 AND 条件。它使用其中任何一个进行测试,而不是同时使用两者。事实上,我(还)没有对 UPDATE 组进行任何测试。 (会有很多)。我想先让 testng.xml 文件正确。

有没有人对如何使用 AND 而不是 OR 有任何建议?我知道它在做 OR 的原因是它运行的测试只满足 GRP1 条件。

我猜想只包括 NOUPDATE 而不是 GRP1 和 GRP2,但我希望将结果单独列出。

是的,Bamboo 每晚都会调用它。

谢谢

【问题讨论】:

    标签: java windows-7 testng bamboo


    【解决方案1】:

    您可以排除一个组(请参阅http://testng.org/doc/documentation-main.html#exclusions)。例如:

          <run>
            <include name="GRP1" />
            <exclude name="UPDATE" />
          </run>
    

    但是,对于advanced group selection,您可以使用 BeanShell 进行最大程度的控制。

    另见A date in heaven: TestNG and BeanShell « Otaku, Cedric's blog

    【讨论】:

    • 这就是我最终要做的。不太一样。在这种情况下它可以工作。
    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多