java - 如何在不同的 URL 上使用 Selenium 和 JUnit 5 运行整个测试套件

标签 java selenium testing junit automation

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

网址

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

代替

测试

  • 失败的 URL 1
  • 失败的 URL 2

我可以通过为每个 URL 设置一个单独的类来实现这一点,但是有 300 多个 URL,所以这不是一个真正的选择。除了参数之外,这些类是相同的:

  1. 有没有办法在 JUnit 中执行此操作(基本上我想参数化整个类)如果没有:
  2. 如果不是,log4j 是否能够完成此任务:
  3. 如果没有,有没有办法在运行时自动生成类:
  4. 什么测试框架可以做到这一点,我对任何可以做到这一点的软件持开放态度

我的问题与此类似:Running same tests against a large number of websites

最佳答案

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

@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

关于java - 如何在不同的 URL 上使用 Selenium 和 JUnit 5 运行整个测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50534214/

相关文章:

ruby-on-rails - 为了测试我的 Ruby on Rails 应用程序,您有什么建议?

c# - 为 SpecBind 设置 Selenium Web 驱动程序

java - Window.Chrome.runtime不适合Selenium Webdriver

java - 如果在 java 中的文件中发现不可打印的字符,则终止程序

java - 使用 servlet 和 jsp 截取屏幕截图并将其保存在服务器上

跨包的 Java 常量

带有 Selenium 独立服务器的 Node.js 和 Webdriver.io 无法使用自定义配置文件

selenium - 如何检查Selenium WebDriver下载的文件?

Java注解——代码简化

java - 使用spring esTemplate删除doc中的字段