从Selenium WebDriver中的Excel工作表中读取数据

时间:2016-12-21 12:00:22

标签: excel selenium selenium-webdriver data-driven-tests

我正在使用Selenium WebDriver并从包含

的Excel工作表中读取数据

用户名和密码,但问题是此表包含数值和字符串值,因为它引发了错误:

  

无法从NUMERIC单元格中获取STRING值

用户名:rainrrr,shamz,tabraiz

密码:rainrrr,123456,123456

请帮助

public void AdminLogin(String UserName, String Password) throws Exception
{

    System.setProperty("webdriver.chrome.driver", "C:\\Users\\amomin\\Desktop\\selinium\\chromedriver.exe");
     driver =new ChromeDriver();
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

    driver.get("My Path");

    driver.findElement(By.xpath(".//*[@id='UserName']")).sendKeys(UserName);

    driver.findElement(By.xpath(".//*[@id='Password']")).sendKeys(Password);

    driver.findElement(By.xpath(".//*[text()='Submit']")).click();

    Thread.sleep(5000);


    Assert.assertTrue(driver.getTitle().contains("Dashboard - RainMaker"),"Login Fail");

    System.out.println("User Login Successfully");

}
public Object[][] LoginData()
{


    libDDT config=new libDDT("C:\\Users\\amomin\\workspace\\DataDrivenTest\\TestData\\TestData.xls");
    int rows=config.getRowCount(0);

    Object[][] data = new Object[rows][2];

    for(int i=0;i<rows;i++)
    {

        data[i][0]=config.getdata(0, i, 0);
        data[i][1]=config.getdata(0, i, 1);

    }

    return data;
}   

1 个答案:

答案 0 :(得分:1)

通过以文本格式保存数字值来尝试此操作。

如果字符串以数字开头,则在excel中,通过在数字值前加上单引号(&#39;)将数据格式化为文本。例如:123为&#39; 123