【问题标题】:How to delete data only after all tests, based on inputs from data provider, are run?如何仅在基于数据提供者的输入运行所有测试后删除数据?
【发布时间】:2017-06-01 14:02:49
【问题描述】:

我用不同的输入进行了测试,因此使用了@DataProvider,但在来自Object[][] 的输入传递给测试之前,我想创建一些用于测试所有不同输入的通用数据

@DataProvider(name = "test")
public Object[][] createData() {
    //create some data which is common for both john and bob
    return new Object[][] { { "john" }, { "bob" } };
}

@Test(dataProvider = "test")
public void userOp(String name) {
    //Perform some operations with user mention in `name`. For now let's just print the names
    System.out.println(name);
}

一旦运行具有不同输入(即 john 和 bob)的 ALL 测试,我想删除我在数据提供者方法中创建的数据。

注意我可以使用@AfterClass 删除这些数据,但这会弄乱我在测试类中的其他测试,因此我想在完成测试后删除数据,为此已创建。

有人可以建议如何实现吗?

【问题讨论】:

    标签: java selenium automated-tests testng testng-dataprovider


    【解决方案1】:

    使用ITestResult 参数声明@AfterMethod。在ITestResult 中,您可以找到测试方法中使用的确切参数并删除相关数据。在@AfterClass 中删除你的常用数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2023-03-02
      相关资源
      最近更新 更多