java - 使用来自 Excelsheet 的相同值执行多个测试。使用@DataProvider

标签 java selenium-webdriver testng

我有一个类,所有测试都写在其中。我在 XL 表中有 3 个值,其中 test1 和 test2 应使用数据表中的第一个值执行,然后使用数据表中的第二个值执行。

但现在使用下面的代码 test1 将使用 xl 工作表中的所有值重新执行,然后 test2 将被执行。

public class Test() {

    @Test(dataProvider="DP1")
    public void test1() {
    }

    @Test(dependsOnMethods={"test1"})
    public void test2() {
    }
}

最佳答案

TestNg 依赖项无法以这种方式工作。

在您的情况下,test2依赖于test1,并且test2只会在执行test1之后执行已经完成,所以这里 test1 使用了 DataProvider,当它运行所有数据集时就完成了。一旦 test1 执行完毕,控件将转到 test2

因此,如果您想使用相同的数据集运行 2 个测试用例:

  1. 不要使它们相互依赖,并使用 @DataProvder 运行它们
  2. 将整个代码放入一个测试用例中,然后运行(如果您不需要 2 个测试用例)

希望有帮助。

关于java - 使用来自 Excelsheet 的相同值执行多个测试。使用@DataProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441641/

相关文章:

methods - 在 TestNG 中依次运行测试方法

java - 将 logback classic 与 gradle 结合使用时无法加载 logback 配置

python - 在 VS Code 中使用 Selenium 时无法解析导入 "webdriver_manager.chrome"

selenium - 使用 Selenium 在 xUnit 中进行跨浏览器测试

java - 如何使用 Java 在 Selenium2 (Webdriver) 中输入 Gmail 正文

java - 模拟静态方法

java - 将变量放入引号后的打印周期

java - 批量条目 0 插入借方(金额、cid、描述、did)值 ('100'、0、 'rajesh'、5)已中止 : ERROR: insert or update on table "debit"

java - 在代码样式中增加行长度后展开行

selenium - 通过驱动程序 ChromeOptions 和 DesiredCapabilities?