2

例如:

  • 数据提供者 1:dataA
  • 数据提供者2:dataB、dataC
  • 数据提供者 3:dataD、dataE、dataG

所以我的测试需要一个数据提供者。但我希望它根据测试组为不同的测试类型选择不同的数据提供者。例如,如果我正在运行组“smoke”,那么我想使用数据提供者 1,如果我正在运行组“sanity”,那么我想运行数据提供者 1 和数据提供者 2,如果我正在运行组“回归”那么我希望它运行数据提供者 1、2 和 3。

这可能吗?如果是这样,请您提供信息或指向我的文档或可以提供帮助的东西。

目前我的工作是为每个组进行 3 次不同的测试,然后我可以选择要使用的数据提供者。我也可以结合数据提供者。

我解决的问题是所有 3 个测试都完全相同,不同的是组和数据提供者。

谢谢!

4

1 回答 1

8

如何使用一个返回不同数据的数据提供者 - 基于当前测试组:

@DataProvider(name = "myDataProvider")
public Object[][] testDataProvider(ITestContext context) {
    List<String> includedGroups = Arrays.asList(context.getIncludedGroups());

    if(includedGroups.contains("myGroup")) {
        return dataA;
    }
    else if (includedGroups.contains("myOtherGroup")) {
        return dataBC;
    }

    //...
}
于 2015-06-12T11:51:37.183 回答