是否有可能使用不同的Excel表格进行不同的测试方法共享相同的dataProvider TestNG中不同的Excel工作表的相同数据提供程序
回答
如果带有@DataProvider批注的方法接受java.lang.reflect.Method作为第一个参数,则TestNG将传递当前正在执行的测试方法作为参数。例如
@Test(dataprovider="dp1")
public void test1(String str){
//test here
}
@DataProvider(name="dp1")
public Object [][](Method testName){
// testName will be the calling method
// testName.getName(); == "test1"
return new Object[][]{new Object[]{"Cedric"}};
}
利用这一点,可以创建用于每个测试方法的片材,并将其命名一样的方法名称。然后您的数据提供者可以查找您的工作表,然后返回所需的许多参数。
当然,只要有你的数据提供程序读取所有的Excel电子表格,将它们组合成一个对象[ ] []并返回该对象。
但我想运行例如我的数据提供者是所述测试而采取表名称: - @dataProvider(名称= “DP”) 公共对象[] [] createData1()抛出异常 { \t Object [] [] retObjArr = datacreate.getTableArray(path,tablename,sheetname); return(retObjArr); } 和我有两个测试方法 @Test(数据提供程序= “DP”) 公共无效testAddUser(字符串username,字符串位置) { // }和 公共无效testDeleteUser(INT userid,字符串用户名) { // } 因此,我希望数据在运行测试时被采用不同的Excel表格。 请让我知道我该如何做到这一点。 – TestUser 2010-08-18 08:52:16
让你的数据提供者返回一个{三个参数}的数组,你的每个测试方法需要三个参数,它只使用它需要的两个参数。 – 2010-08-18 22:02:12
仍然无法做到。 我想它在调用测试方法之前需要表单名称,并且我在测试方法内提供表单名称。 是否有任何方式我可以写数据提供者,如: - 公共对象[] [] createData1(字符串SHEETNAME)抛出异常 { \t对象[] [] = retObjArr datacreate.getTableArray(路径,表名, SHEETNAME); return(retObjArr); } 和测试方法是这样的: - @Test(数据提供程序= “DP”, “工作表Sheet1”) 公共无效testAddUser(INT userid,字符串用户名) – TestUser 2010-08-19 04:28:39
- 1. 针对相同数据的不同过滤数据提供程序?
- 2. 如何合并两个相同的Excel工作表中的不同数据
- 3. Flex - Tab View多个DataGrids和相同的数据提供程序
- 4. 不同的工作表,相同的值
- 5. 在EXCEL中调用不同工作表的相同单元格
- 6. 图表和数据网格的相同数据提供者
- 7. 不同数据库提供者之间的同步表
- 8. 如何使用相同的端口提供不同的node.js应用程序?
- 9. IIS7在不同的目录下提供相同的应用程序
- 10. 从Excel中的不同工作表中复制数据
- 11. 如何将datagrid数据导出到Excel的不同工作表?
- 12. VBA为不同格式的数据获取新工作表Excel
- 13. 将数据从gridview导出到不同的excel工作表
- 14. Sqlite数据提供程序.net错误:不同的SQL响应命令提示符与SQLite ADO.NET提供程序
- 15. 2 Excel工作簿显示相同计算的不同结果?
- 16. 匹配数据不同的工作簿和不同的顺序
- 17. 将Excel中的数据保存到工作簿的不同工作表中
- 18. 2表单提交相同的数据
- 19. 循环代码以将不同的工作表数据提取到不同的工作表
- 20. 相同的shebang不工作
- 21. 导入Excel工作表以访问具有不同列名称但数据类型相同的表格。
- 22. 根据程序状态给JButtons提供不同的功能?
- 23. 相同的查询工作不同
- 24. 我可以在不同的应用程序中为不同的模型提供相同的名称吗?
- 25. 蟒大熊猫读取的各种数据帧从相同的Excel工作表
- 26. 如何通过从不同的Excel工作表具有不同的数据的数据到测试中硒
- 27. 写在两个不同的工作表上,不工作excel 2007
- 28. iOS的同步框架提供程序
- 29. SQL Azure的同步提供程序
- 30. 轮廓提供程序不再工作
我得到了这个工作。 – TestUser 2010-09-09 12:52:17