java - 如何在单一测试方法中使用多个数据提供者
问题描述
测试场景是 - 我有一张带有多张工作表的 excel 工作表。我必须在一种测试方法中使用多个工作表数据。我已经创建了多个数据生成器,但不知道如何在同一个测试方法中使用多个数据生成器。
数据生成器如下:
@DataProvider(name = "Excel")
public static Object[][] testDataGenerator()
throws Exception {
ExcelHelper excelManager = new ExcelHelper();
List<HashMap<String, String>> dataFromFile = excelManager.readSheet(
TEST_DATA,"Automation");
Object[][] data = new Object[dataFromFile.size()][1];
for (int i = 0; i < data.length; i++) {
data[i][0] = dataFromFile.get(i);
}
return data;
}
@DataProvider(name = "Excel1")
public static Object[][] testDataGenerator1()
throws Exception {
ExcelHelper excelManager = new ExcelHelper();
List<HashMap<String, String>> dataFromFile = excelManager.readSheet(
TEST_DATA,"Automation1");
Object[][] data = new Object[dataFromFile.size()][1];
for (int i = 0; i < data.length; i++) {
data[i][0] = dataFromFile.get(i);
}
return data;
}
测试方法如下:
@Test(dataProvider = "Excel", dataProviderClass = DataGenerators.class, priority = 0)
public void sampleTest(HashMap<String, String> testData){
xyz
}
解决方案
推荐阅读
- python - 为什么访问 numpy 数组比使用 Cython 的 Pillow 图像慢 6 倍
- elasticsearch - 如何根据其他字段的值在摄取文档上添加新字段?
- c - 将二进制转换为十六进制数字系统的C程序
- python - 有没有一种更快的方法来使用 mibian 模块计算 csv/xl 文件中数百万行的隐含波动率?
- c# - 选择的库禁用 ASP.NET MVC 中 DropDownList 的验证
- gcc - C如何分配内存?
- c# - 当用户输入特定文本c#时,尝试显示文本文件中的特定文本行
- swift - iOS 13 Modals - 以编程方式调用滑动解除
- reactjs - Amplify+react:使用联合身份提供者托管 ui
- sql - 在特定日期每 2 周获取一次 SQL Server