我使用eclipse / TestNG和webdriver来自动化网站。
我将excel中的数据导入脚本,即脚本中没有硬编码值。
我的类有以下结构,当我运行程序时,它运行良好,但如果excel只有一行数据,则报告错误。
@Test(dataProvider = "Data1")
public void ABC(String baseurl, String username, String password, String title) {
//code
}
@DataProvider(name = "Data1")
public Iterator<Object[]> data1() throws DataDrivenFrameworkException {
String excelResource = System.getProperty("user.dir")
+ System.getProperty("file.separator") + "resources"
+ System.getProperty("file.separator") +"ABC.xlsx";
ExcelFile excelFile = new ExcelFile(excelResource);
excelFile.setSheetName("Sheet1");
excelFile.setTestCaseHeaderName("TestCaseNameColumn");
List<List<String>> data = excelFile.getDataUsingTestCaseName("ABC");
return SeleniumTestNGHelper.toObjectArrayIterator(data);
结果:
Pass: ABC(http://testsite.com, admin, test, Sample Title) // Excel Row 1 Data
Fail: ABC("", "", "", "")
我认为webdriver也使用第二行,没有提到数据。当我在excel的多行中添加数据时,它工作正常并且不会失败失败的方法:ABC(“”,“”,“”,“”)
感谢。
答案 0 :(得分:0)
如果您在该行中设置了值,并且只删除了单元格的内容,则数据提供者将发送该行。 您必须使用&#39;删除行&#39;删除该行。选项。