【发布时间】:2018-03-13 03:45:43
【问题描述】:
我正在为数据提供者使用以下代码,但它不起作用。请帮助我如何解决数据提供者不匹配问题。这里提到了有关读取 xls 、 test 、 data provider 的所有方法的完整详细信息。
@DataProvider
public Object[][] getgbTestData(){
Object data[][] = testutil.getTestData(sheetName);
return data;
}
@Test(dataProvider="getgbTestData")
public void addnewuser(String fname,String lname,String email,String pass,String conpass) throws IOException{
newuser.newregistration1(fname, lname, email, pass, conpass);
}
**method:**
public Personaldetails newregistration1(String fsname,String lsname,String email1,String pass1,String conpass1) throws IOException {
Account.click();
Registerlink.click();
Firstname.sendKeys(fsname);
Lastname.sendKeys(lsname);
useremail.sendKeys(email1);
password.sendKeys(pass1);
confirmpassword.sendKeys(conpass1);
submit.click();
//return person;
return new Personaldetails();
}
//使用下面的方法从excel中读取数据
public static Object[][] getTestData(String sheetName) {
FileInputStream file = null;
try {
file = new FileInputStream(TESTDATA_SHEET_PATH);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
book = WorkbookFactory.create(file);
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
sheet = book.getSheet(sheetName);
Object[][] data = new Object[sheet.getLastRowNum()][sheet.getRow(0).getLastCellNum()];
// System.out.println(sheet.getLastRowNum() + "--------" +
// sheet.getRow(0).getLastCellNum());
for (int i = 0; i < sheet.getLastRowNum(); i++) {
for (int k = 0; k < sheet.getRow(0).getLastCellNum(); k++) {
data[i][k] = sheet.getRow(i + 1).getCell(k).toString();
// System.out.println(data[i][k]);
}
}
return data;
}
【问题讨论】:
-
请发布错误以及 getTestData 返回的内容?
-
org.testng.internal.reflect.MethodMatcherException: 数据提供者不匹配方法: addnewuser([Parameter{index=0, type=java.lang.String, declaredAnnotations=[]}, Parameter{index= 1、type=java.lang.String,declaredAnnotations=[]},Parameter{index=2,type=java.lang.String,declaredAnnotations=[]},Parameter{index=3,type=java.lang.String, declareAnnotations=[]}, Parameter{index=4, type=java.lang.String, declaredAnnotations=[]}]) 参数:[(java.lang.String)fname]
-
hI@ShekharSwami ,上面我得到的错误消息。请参阅描述中的 getTestData 方法。
标签: selenium testng-dataprovider