同时运行相同的Selenium / Testng测试

时间:2018-10-17 08:09:51

标签: selenium jenkins testng

我有一个硒测试,可以测试我的目标Web应用程序。 我想在Nightly和Staging环境中同时在Jenkins上运行相同的测试。 有什么更好的方法呢?我可以在Jenkins或Selenium Grid上或以其他任何方式来使用它。

我探索了Selenium Grid,但他们谈到要在多个环境中并行执行不同的测试。但是我的具体要求是我必须在相同的浏览器实例或不同的浏览器实例上同时运行SAME TEST。

例如:考虑此测试com.myorg.myapp.myTest.testLogin(String envURL)

我希望通过传递Nightly和Staging URL在Chrome(例如,ex)上同时运行此测试。 目前,我在Nightly上进行第一组测试,然后在Staging上进行相同的测试。这几乎需要一天的时间。我需要同时进行以节省时间。

1 个答案:

答案 0 :(得分:0)

您可以创建一个testNG xml并将相同的测试添加到这样的不同套件中。

<suite name="mySuite" parallel="tests"> 
  <test name="thread1">
    <classes>
      <class name="test.sample.MyTest"/>
    </classes>
  </test>
  <test name="thread2">
    <classes>
      <class name="test.sample.MyTest"/>
    </classes>
  </test>
...
...
  <test name="threadN">
    <classes>
      <class name="test.sample.MyTest"/>
    </classes>
  </test>
</suite>

如果您需要通过环境,请添加以下内容,并按照此处描述的测试代码进行访问(http://testng.org/doc/documentation-main.html#parameters

  <parameter name="env"  value="staging"/>

这是一个简单的解决方案,但是如果您需要大量线程,则很难进行维护。另一种方法是通过实现IAlterSuiteListener在代码中创建XML。有关代码示例,请参见TestNG Parallel execution with selenium