use this
[code:bm6s3jdc]package com.soapuitutorial.propertie;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class Calci {
WebDriver driver;
@BeforeTest
public void log() {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://google.com");
WebElement ele = driver.findElement(By.name("q"));
ele.sendKeys("calculator");
ele.sendKeys(Keys.ENTER);
}
@Test(dataProvider = "getData")
public void calculator(String n1, String n2, String op, String exp,
String act, String stat) throws InterruptedException {
// System.out.println(n1+"--"+n2+"--"+op+"--"+exp+"--"+act+"--"+stat);
Thread.sleep(3000);
for (int i = 0; i < n1.length(); i++) {
System.out.println(n1.charAt(i));
driver.findElement(
By.xpath("//span[@class='cwbts'][contains(text(), '"
+ n1.charAt(i) + "')]")).click();
Thread.sleep(500);
}
for (int i = 0; i < op.length(); i++) {
System.out.println(op.charAt(i));
driver.findElement(
By.xpath("//span[@class='cwbts'][contains(text(), '"
+ op.charAt(i) + "')]")).click();
Thread.sleep(500);
}
for (int i = 0; i < n2.length(); i++) {
System.out.println(n2.charAt(i));
driver.findElement(
By.xpath("//span[@class='cwbts'][contains(text(), '"
+ n2.charAt(i) + "')]")).click();
Thread.sleep(500);
}
driver.findElement(
By.xpath("//span[@class='cwbts'][contains(text(), '=')]"))
.click();
Thread.sleep(500);
String actual = driver.findElement(By.xpath("//span[@id='cwos']"))
.getText();
String state = "";
if (actual.contentEquals(exp)) {
state = "pass";
} else {
state = "fail";
}
Xls_Reader xls = new Xls_Reader(
"C:\\Users\\Vishwa\\Desktop\\Calculator.xlsx");
int row = xls.getCellRowNum("Addition", "ActualResult", "");
xls.setCellData("Addition", "ActualResult", row, actual);
xls.setCellData("Addition", "Status", row, state);
Assert.assertEquals(actual, exp);
driver.findElement(
By.xpath("//span[@class='cwbts'][contains(text(), 'AC')]"))
.click();
}
@DataProvider
public Object[][] getData() {
Xls_Reader xls = new Xls_Reader(
"C:\\Users\\Vishwa\\Desktop\\Calculator.xlsx");
int rows = xls.getRowCount("Addition");
int cols = xls.getColumnCount("Addition");
System.out.println(rows + "---" + cols);
Object[][] data = new Object[rows - 1][cols];
for (int rnum = 2; rnum <= rows; rnum++) {
for (int cnum = 0; cnum < cols; cnum++) {
data[rnum - 2][cnum] = xls.getCellData("Addition", cnum, rnum);
}
}
return data;
}
}[/code:bm6s3jdc]