【问题标题】:How to run a specific test in testng如何在 testng 中运行特定的测试
【发布时间】:2015-02-18 04:56:52
【问题描述】:

我正在尝试从 testng.xml 运行一个独特的测试。我的 testng.xml 如下:

<suite name="Suite">
    <test name="one">
  <parameter name="browser" value="firefox"/>
  <parameter name="os" value="win"/>
    <classes>
      <class name="com.snapdeal.qa.Tests.MyAccount.SignUpTest"/>
    </classes>
  </test>
  <test name="two">
  <parameter name="browser" value="chrome"/>
  <parameter name="os" value="win"/>
    <classes>
      <class name="com.snapdeal.qa.Tests.MyAccount.BaseTest"/>
      <class name="com.snapdeal.qa.Tests.MyAccount.SignUpTest"/>
    </classes>
  </test>
</suite>

我正在使用 maven,并且我正在通过哪个测试来通过肯定运行,如下所示: 测试 -Dtests="one" 但是它运行 testng 中定义的所有测试。实际上我在哪里错了。以及如何以任何方式运行这样的特定测试

【问题讨论】:

  • 您的意思是要一个一个地运行测试吗?来自xml?

标签: maven testing selenium


【解决方案1】:

如果您只想从 xml 运行 1 个测试,代码应该如下所示:

  <suite name="Suite">
    <test name="one">
         <parameter name="browser" value="firefox"/>
         <parameter name="os" value="win"/>
       <classes>
          <class name="yourpackagename.yourclasname"/>
       </classes>
    </test>
</suite>

只需使用您想像上面那样运行的测试。传递要运行的包名和类名。

如果你想跳过特定的测试,那么你可以在你的java类文件中设置:@Test(enabled = false)。所以 testNG 不会运行那个测试。因此,为您不想运行的测试设置 (enabled = false)。

【讨论】:

  • 实际上我们想保留所有测试配置,然后我们只想通过传递参数从 testng 运行一个测试是否可能
  • 是的,您可以为所有不想运行的测试设置 @Test(enabled = false) set enabled = false。看到我已经更新了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 2017-12-30
相关资源
最近更新 更多