我正在尝试执行登录网页的脚本。可以帮我解决问题吗?
我收到以下错误: -
数据提供者试图传递7个参数,但方法为 efgh.DataDriven#login需要2
public class DataDriven {
public WebDriver driver;
@Test(dataProvider ="testdata")
public void login(String username, String password){
driver=new ChromeDriver();
driver.get("https://pos.lycamobile.es/Login/login.aspx?lang=ES");
driver.findElement(By.name("UserName")).sendKeys(username);
driver.findElement(By.name("Password")).sendKeys(password);
driver.close();
}
@DataProvider(name = "testdata")
public Object [] [] readExcel() throws BiffException, IOException {
File f =new File("D:\\Users\\sarsiddi\\Documents\\DataSheet.xls");
Workbook w = Workbook.getWorkbook(f);
Sheet s= w.getSheet("lycadata");
int rows = s.getRows();
int columns = s.getColumns();
// System.out.println(rows);
// System.out.println(columns);
String inputData[] [] = new String [rows] [columns];
for (int i=0; i<rows; i++){
for (int j=0; j<columns; j++){
Cell c = s.getCell(j, i);
inputData [i][j] = c.getContents();
//System.out.println(inputData[i][j]);
}
}
return inputData;
}
}
答案 0 :(得分:0)
您的数据提供者希望将所有7个参数提供给测试,但Login只需要2.
要解决此问题,有2个选项。
将所有7个参数添加到login方法中。目前您有用户名和pw
仅向数据提供者返回2个参数。
如果您只计划在该测试中使用这两个参数,那么我将从Excel工作表中删除其他参数。或者创建另一张表以便仅登录。