无法运行脚本,错误与TestNG中的参数,

时间:2016-08-08 10:22:26

标签: selenium-chromedriver testng-dataprovider

我正在尝试执行登录网页的脚本。可以帮我解决问题吗?

我收到以下错误: -

数据提供者试图传递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;
    }
}

1 个答案:

答案 0 :(得分:0)

您的数据提供者希望将所有7个参数提供给测试,但Login只需要2.

要解决此问题,有2个选项。

  1. 将所有7个参数添加到login方法中。目前您有用户名和pw

  2. 仅向数据提供者返回2个参数。

  3. 如果您只计划在该测试中使用这两个参数,那么我将从Excel工作表中删除其他参数。或者创建另一张表以便仅登录。