【问题标题】:Running same tests on multiple URLs in testNG在 testNG 中对多个 URL 运行相同的测试
【发布时间】:2012-01-31 05:34:48
【问题描述】:

我创建了几个测试用例,我需要在网站的多个页面上进行测试。 我想通过在 excel 表中提供页面的 url,然后在 URL 上一一运行测试用例,在所有页面上执行测试用例。

我已将测试套件名称、测试类名称和方法名称放在 testng.xml 中,以便维护执行顺序。现在如何编写一个程序在所有网页上递归地运行这些测试。

谢谢 维沙尔

【问题讨论】:

    标签: testng


    【解决方案1】:

    在 Excel 表格中提供 URL 不是一个好主意,但可以实现。

    看看TestNG中的@DataProvider注解。以下是来自JUnit 4 vs TestNG 文章的示例:

    @Test(dataProvider = "Data-Provider-Function")
    public void parameterIntTest(Class clzz, String[] number) {
       System.out.println("Parameterized Number is : " + number[0]);
       System.out.println("Parameterized Number is : " + number[1]);
    }
    
    //This function will provide the patameter data
    @DataProvider(name = "Data-Provider-Function")
    public Object[][] parameterIntTestProvider() {
        return new Object[][]{
                   {Vector.class, new String[] {"java.util.AbstractList", "java.util.AbstractCollection"}},
                   {String.class, new String[] {"1", "2"}},
                   {Integer.class, new String[] {"1", "2"}}
                  };
    }
    

    您的数据提供者实现必须从 excel 工作表中加载数据并将其作为 Object[][] 返回。显然,在 Data Provider 实现中硬编码 URL 是一种更简单的方法。或者,您可以在 testng.xml 中列出测试 URL,如文章中所述。但这取决于您在实施解决方案时的灵活性。

    这回答了 TestNG 部分。您可能需要询问或搜索“如何在 java 中读取 excel 表”。祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-25
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多