We can perform data driven using excel file and save the test results into excel file with help of Apache POI library.
Here is the very basic program to perform data driven from excel file and save the test results into excel file:
Click here to download program with input and output file.
Here is the very basic program to perform data driven from excel file and save the test results into excel file:
Create a testdata.xls file in the C drive with following details:
Use below code to perform data driven from excel file and save the test results into excel file:# | Action | Input | Result |
1 | Type in search text box | hello selenium | |
2 | Type in search text box | abhishek yadav qa |
Java Source code:
package com.helloselenium.selenium.test; import java.io.*; import java.util.concurrent.TimeUnit; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.Cell; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class SaveTestResultToExcelFile{ public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); driver.get("http://www.google.com"); driver.manage().window().maximize(); WebElement searchbox = driver.findElement(By.name("q")); try { FileInputStream file = new FileInputStream(new File("C:\\testdata.xls")); HSSFWorkbook workbook = new HSSFWorkbook(file); HSSFSheet sheet = workbook.getSheetAt(0); for (int i=1; i <= sheet.getLastRowNum(); i++){ Cell resultCell= sheet.getRow(i).getCell(3); String keyword = sheet.getRow(i).getCell(2).getStringCellValue(); searchbox.clear(); searchbox.sendKeys(keyword); searchbox.submit(); driver.manage().timeouts().implicitlyWait(10000, TimeUnit.MILLISECONDS); String searchText = searchbox.getAttribute("value"); if(searchText.equals(keyword)){ System.out.println("Search is successful."); resultCell.setCellValue("PASS"); } else { System.out.println("Search is not successful."); resultCell.setCellValue("FAIL"); } } workbook.close(); file.close(); FileOutputStream outFile =new FileOutputStream(new File("C:\\testdata-result.xls")); workbook.write(outFile); outFile.close(); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); } catch (IOException ioe) { ioe.printStackTrace(); } } }
Detailed explanation for the above program is as follows:
import java.io.*; import java.util.concurrent.TimeUnit;
import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.Cell;
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver;
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
driver.navigate().to("http://www.google.com");
driver.manage().window().maximize();
WebElement searchbox = driver.findElement(By.name("q"));
FileInputStream file = new FileInputStream(new File("C:\\testdata.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(0);
for (int i=1; i <= sheet.getLastRowNum(); i++){
Cell resultCell= sheet.getRow(i).getCell(3);
String keyword = sheet.getRow(i).getCell(0).getStringCellValue();
searchbox.clear();
searchbox.sendKeys(keyword);
searchbox.submit();
driver.manage().timeouts().implicitlyWait(10000, TimeUnit.MILLISECONDS)
String searchText = searchbox.getAttribute('value');
if(searchText.equals(keyword){ System.out.println("Search is successful."); resultCell.setCellValue("PASS"); } else { System.out.println("Search is not successful."); resultCell.setCellValue("FAIL"); }
workbook.close(); file.close();
FileOutputStream outFile =new FileOutputStream(new File("C:\\testdata-result.xls"));
workbook.write(outFile);
outFile.close();
0 Comments
What would you like to add in my list? I look forward to reading your comments below.