有没有办法从不同的程序包(或类)运行一个已定义的X数量的随机TestNG测试?

时间:2019-04-27 23:47:44

标签: java selenium testng

我正在尝试帮助我的队友使用TestNG编写更稳定,更孤立的Selenium UI Automation测试。 所以我想知道是否有人有实现以下内容的经验:

  1. 从功能和/或冒烟测试包中随机选择6个测试
  2. 在套件中间放置新开发的测试
  3. 按照上述配置运行3次,在每次运行之前更改软件包中的随机测试选择

1 个答案:

答案 0 :(得分:0)

默认情况下,TestNG旨在根据优先级和顺序运行测试。

如果您希望随机运行测试,则必须编写一个方法,该方法将选择一些测试方法,并将其推送到测试套件XML文件中。

类似这样的东西:

 private void addRandomTests()
{
    Random rnd = new Random();
    List<String> testsCode = new ArrayList<>();
    for (int i = 0; i < 6; i++) {
        int n = rnd.nextInt(10);
        // if your test methods are called Test1, Test2, Test3 etc'
        // Otherwise change this code
        testsCode.add("Test"+n);
    }
    // Manipulate the XML test suite by adding more test tags
    AddTestToSuites(testsCode);
}