Cannot get a STRING value from a NUMERIC cell : This is the error i get when i try to get data from Excel using selenium Java how to resolve
i am a beginner this is the code i used
package testcases;
import org.testng.annotations.Test;
import testutils.ExcelDataRead;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Parameters;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterTest;
public class Excel_reading_register_demo2 {
WebDriver driver;
WebDriverWait wait;
public ExcelDataRead excelObj;
String xlFilePath ="testdata//excel_reading_register_demo2.xlsx";
String sheetName = "Sheet1";
@DataProvider(name="userData")
@Test(priority = 2)
public Object[][] userFormData() throws Exception
{
Object[][] data = testData(xlFilePath, sheetName);
return data;
}
public Object[][] testData(String xlFilePath, String sheetName) throws Exception//User Defined Method
{
excelObj = new ExcelDataRead(xlFilePath);
int rows = excelObj.getRowCount(sheetName);
int columns = excelObj.getColumnCount(sheetName);
Object[][] excelData = new Object[rows-1][columns];
for(int i=1; i<rows; i++)
{
for(int j=0; j<columns; j++)
{
excelData[i-1][j] = excelObj.getCellData(sheetName, i, j);
}
}
return excelData;
}
@Test(dataProvider = "userData",priority = 1)
public void f(String firstName, String lastName, CharSequence[] phoneNum, String gmail, String address,
String cityN, String stateN, CharSequence[] postcodeN,String userName, String passWord, String passWord1) throws
InterruptedException
{
driver.findElement(By.linkText("REGISTER")).click();
driver.findElement(By.name("firstName")).sendKeys(firstName);
driver.findElement(By.name("lastName")).sendKeys(lastName);
driver.findElement(By.name("phone")).sendKeys(phoneNum);
driver.findElement(By.name("userName")).sendKeys(gmail);
driver.findElement(By.name("address1")).sendKeys(address);
driver.findElement(By.name("city")).sendKeys(cityN);
driver.findElement(By.name("state")).sendKeys(stateN);
driver.findElement(By.name("postalCode")).sendKeys(postcodeN);
driver.findElement(By.name("email")).sendKeys(userName);
driver.findElement(By.name("password")).sendKeys(passWord);
driver.findElement(By.name("confirmPassword")).sendKeys(passWord1);
driver.findElement(By.name("submit")).click();
Thread.sleep(7000);
driver.findElement(By.linkText("REGISTER")).click();
}
@Parameters("browser")
@BeforeTest
public void beforeTest(String browser) {
if(browser.equals("firefox"))
{
System.setProperty("webdriver.gecko.driver","drivers\\geckodriver.exe");
driver=new FirefoxDriver();
}
else if(browser.equals("chrome"))
{
System.setProperty("webdriver.chrome.driver","drivers\\chromedriver.exe");
driver=new ChromeDriver();
}
driver.get("http://demo.guru99.com/test/newtours/");
wait=new WebDriverWait(driver,20);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@AfterTest
public void afterTest() {
driver.close();
}
}
This is the error which i get :
