1 Class Appk
package appm;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import org.openqa.selenium.android.*;
import config.Xlconfig;
public class Appk {
static AndroidDriver driver;
static AppiumDriver mdriver;
@Test(dataProvider="contactData")
public static void addContacts(String cName, int phone,String cEmail) throws MalformedURLException, InterruptedException
{
DesiredCapabilities capabilities = new DesiredCapabilities();
String apkpath = "D:\\Softwares\\Appium Jars& Apk\\ContactManager.apk";
File app = new File(apkpath);
capabilities.setCapability("device", "Android");
capabilities.setCapability("deviceName","11017dc52643924a");
capabilities.setCapability("platformVersion", "4.4.4");
capabilities.setCapability("platformName", "Android");
//capabilities.setBrowserName("Chrome");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("app-activity", ".ContactManger");
capabilities.setCapability ("apppackage", "com.example.android.contactmanager");
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.findElement(By.className("android.widget.Button")).click();
driver.findElement(By.id("com.example.android.contactmanager:id/contactNameEditText")).sendKeys(cName);
Thread.sleep(1000);
driver.findElement(By.id("com.example.android.contactmanager:id/contactPhoneEditText")).click();
driver.findElement(By.id("com.example.android.contactmanager:id/contactPhoneEditText")).clear();
driver.findElement(By.id("com.example.android.contactmanager:id/contactPhoneEditText")).sendKeys(phone);
driver.findElement(By.xpath("//android.widget.Spinner[@index='1']")).click();;
driver.findElement(By.xpath("//android.widget.CheckedTextView[@index='2']")).click();
driver.findElement(By.id("com.example.android.contactmanager:id/contactEmailEditText")).sendKeys(cEmail);
driver.findElement(By.id("com.example.android.contactmanager:id/contactEmailTypeSpinner")).click();
driver.findElement(By.xpath("//android.widget.CheckedTextView[@index='2']")).click();
driver.findElement(By.id("com.example.android.contactmanager:id/contactSaveButton")).click();
driver.findElement(By.id("com.example.android.contactmanager:id/showInvisible")).click();
Thread.sleep(1000);
driver.quit();
}
@DataProvider(name="contactData")
public Object[][] passContactList()
{
Appkconfig appconfig=new Appkconfig("D:\\Projects\\DemoSelenium\\Mavenproject\\TestData\\contactList.xlsx");
int row=appconfig.getRowCount(0);
Object[][] data=new Object[row][3];
for(int i=0;i<row;i++)
{
data[i][0]=appconfig.readxlData(0, i, 0);
data[i][1]=appconfig.readxlData(0, i, 1);
data[i][2]=appconfig.readxlData(0, i, 2);
}
return data;
}
}
2 class Appkconfig
package appm;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.typesafe.config.ConfigException.Parse;
public class Appkconfig {
XSSFWorkbook wb;
XSSFSheet sheet1;
XSSFRow row;
XSSFCell cell;
public Appkconfig(String path)
{
try {
File src=new File(path);
FileInputStream fin=new FileInputStream(src);
wb=new XSSFWorkbook(fin);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public String readxlData(int sheetnumber,int row, int cell)
{
sheet1=wb.getSheetAt(0);
String Data=sheet1.getRow(row).getCell(cell).getStringCellValue();
return Data;
}
public int getRowCount(int SheetIndex)
{
int rowcount=wb.getSheetAt(SheetIndex).getLastRowNum();
rowcount=rowcount+1;
return rowcount;
}
}
3 xl sheet contains data
I am facing problem to read integer value , if I put string in xl sheet am properly able to read after changing the in class Appk parameter phone as string but I want to pass the phone number field as numbers in this I am getting error as
[Utils] [ERROR] [Error] java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell