无法 运行 脚本,TestNG 中的参数错误,
Not able to Run script, Error with parameter in TestNG,
我正在尝试执行用于登录的脚本 webpage.Can any1 帮我解决 dis 问题吗?
我遇到以下错误:-
数据提供者试图传递 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;
}
}
您的数据提供者想要将所有 7 个参数都提供给测试,但登录只需要 2 个。
要解决此问题,有 2 个选项。
将所有 7 个参数添加到登录方法。目前您有用户名和密码
Return 数据提供者只有 2 个参数。
如果您只打算在该测试中使用这 2 个参数,那么我会从 excel sheet 中删除其他参数。或者创建另一个 sheet 仅用于登录。
我正在尝试执行用于登录的脚本 webpage.Can any1 帮我解决 dis 问题吗?
我遇到以下错误:-
数据提供者试图传递 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;
}
}
您的数据提供者想要将所有 7 个参数都提供给测试,但登录只需要 2 个。
要解决此问题,有 2 个选项。
将所有 7 个参数添加到登录方法。目前您有用户名和密码
Return 数据提供者只有 2 个参数。
如果您只打算在该测试中使用这 2 个参数,那么我会从 excel sheet 中删除其他参数。或者创建另一个 sheet 仅用于登录。