如何使用Selenium& amp;运行整个测试套件不同网址上的JUnit 5

时间:2018-05-25 17:25:57

标签: java selenium testing junit automation

我有一个测试类,目前使用参数化测试在不同的URL上运行每个测试。但是我希望输出格式为

地址

  • 测试失败1
  • 测试失败2

而不是

测试

  • 网址1失败
  • 网址2失败

我可以通过为每个URL设置一个单独的类来完成此操作,但是有超过300个URL,因此这不是一个真正的选项。除了paremters之外,这些类是相同的:

  1. 有没有办法在JUnit中执行此操作(基本上我想参数化整个类),如果没有:
  2. 如果没有,log4j是否能够完成此任务:
  3. 如果不是,有没有办法在运行时自动生成类:
  4. 什么测试框架可以实现这一目标,我对任何可以执行此操作的软件都是开放的
  5. 我的问题与此类似:Running same tests against a large number of websites

1 个答案:

答案 0 :(得分:0)

使用下面的参数化测试类并得到结果。在使用下一个参数之前,将执行参数的所有测试。

@RunWith(Parameterized.class)
public class ParamTest {

    @Parameters
    public static Object[] data() {
        return new Object[] { "google", "yahoo", "facebook" };
    }

    @Parameter
    public String url;

    @Test()
    public void test1() {
        System.out.println("Test 1 - "+url);
    }

    @Test()
    public void test2() {
        System.out.println("Test 2 - "+url);
    }
}
Test 1 - google
Test 2 - google
Test 1 - yahoo
Test 2 - yahoo
Test 1 - facebook
Test 2 - facebook