If you are new to the below information(i.e. using library 'AH-DDF-<<VERSION>>.jar') refer URL: http://automation-home.blogspot.in/2014/06/TestAutomationFrameWork.html
Follow below process for reading different sets of test data in single excel sheet.
Note: Header should be in String format, if the header content is not String format then convert into String format.
Sample Program:
package examples.test.excel;
import java.util.HashMap;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import automation_home.ddf.constants.ExcelConstants;
import automation_home.ddf.wrapper.Wrapper;
import automation_home.ddf.wrapperimpl.ExcelWrapper;;
public class TestData2{
@DataProvider
public Object[][] dp1() throws Exception {
Wrapper wrapper = new ExcelWrapper();
wrapper.setParameter(ExcelConstants.FILE_PATH, "D:\\Eclipse Workspce\\Sample Project-DDF\\src\\examples\\test\\excel\\TestFile2.xls");
wrapper.setParameter(ExcelConstants.SHEET_NAME, "FlightInfo1");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_HEADER_NAME, "Execution");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_YES,"RUN");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_NO,"NO-RUN");
return wrapper.retrieveTestData();
}
@Test(dataProvider="dp1", enabled=true)
public void test1(HashMap<String, String> h){
System.out.println("FlightName : "+h.get("FlightName"));
System.out.println("FlightNumber : "+h.get("FlightNumber"));
System.out.println("AirPort : "+h.get("AirPort"));
System.out.println("Date : "+h.get("Date"));
System.out.println("----------------------------------------");
}
@DataProvider
public Object[][] dp2() throws Exception {
Wrapper wrapper = new ExcelWrapper();
wrapper.setParameter(ExcelConstants.FILE_PATH, "D:\\Eclipse Workspce\\Sample Project-DDF\\src\\examples\\test\\excel\\TestFile2.xls");
wrapper.setParameter(ExcelConstants.SHEET_NAME, "FlightInfo1");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_HEADER_NAME, "Execution");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_YES,"RUN");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_NO,"NO-RUN");
wrapper.setParameter(ExcelConstants.INITIAL_POSITION, "9,0");
return wrapper.retrieveTestData();
}
@Test(dataProvider="dp2", enabled=true)
public void test2(HashMap<String, String> h){
System.out.println("1 : "+h.get("1"));
System.out.println("2 : "+h.get("2"));
System.out.println("3 : "+h.get("3"));
System.out.println("4 : "+h.get("4"));
System.out.println("5 : "+h.get("5"));
System.out.println("6 : "+h.get("6"));
System.out.println("7 : "+h.get("7"));
System.out.println("8 : "+h.get("8"));
System.out.println("----------------------------------------");
}
@DataProvider
public Object[][] dp3() throws Exception {
Wrapper wrapper = new ExcelWrapper();
wrapper.setParameter(ExcelConstants.FILE_PATH, "D:\\Eclipse Workspce\\Sample Project-DDF\\src\\examples\\test\\excel\\TestFile2.xls");
wrapper.setParameter(ExcelConstants.SHEET_NAME, "FlightInfo1");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_HEADER_NAME, "Execution");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_YES,"RUN");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_NO,"NO-RUN");
wrapper.setParameter(ExcelConstants.INITIAL_POSITION, "16,0");
return wrapper.retrieveTestData();
}
@Test(dataProvider="dp3", enabled=true)
public void test3(HashMap<String, String> h){
System.out.println("TrainName : "+h.get("TrainName"));
System.out.println("TrainNumber : "+h.get("TrainNumber"));
System.out.println("Date : "+h.get("Date"));
System.out.println("----------------------------------------");
}
@DataProvider
public Object[][] dp4() throws Exception {
Wrapper wrapper = new ExcelWrapper();
wrapper.setParameter(ExcelConstants.FILE_PATH, "D:\\Eclipse Workspce\\Sample Project-DDF\\src\\examples\\test\\excel\\TestFile2.xls");
wrapper.setParameter(ExcelConstants.SHEET_NAME, "FlightInfo1");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_HEADER_NAME, "Execution");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_YES,"RUN");
wrapper.setParameter(ExcelConstants.INCLUDE_TESTDATA_NO,"NO-RUN");
wrapper.setParameter(ExcelConstants.INITIAL_POSITION, "22,0");
return wrapper.retrieveTestData();
}
@Test(dataProvider="dp4", enabled=true)
public void test4(HashMap<String, String> h){
System.out.println("a : "+h.get("a"));
System.out.println("b : "+h.get("b"));
System.out.println("c : "+h.get("c"));
System.out.println("----------------------------------------");
}
}
Output:
FlightName : India Air Lines
FlightNumber : 10011.0
AirPort : Bangalore
Date : Thu Apr 10 00:00:00 PDT 2014
----------------------------------------
FlightName : Emirates
FlightNumber : 10012.0
AirPort : Hyderabad
Date : Sun Jun 22 00:00:00 PDT 2014
----------------------------------------
1 : Emirates1
2 : 10012.0
3 : Hyderabad
4 : Sun Jun 22 00:00:00 PDT 2014
5 : Emirates
6 : 10012.0
7 : Hyderabad
8 : Sun Jun 22 00:00:00 PDT 2014
----------------------------------------
TrainName : MUMBAI EXPRESS
TrainNumber : 16332.0
Date : Sun Jun 22 00:00:00 PDT 2014
----------------------------------------
a : 3.0
b : 6.0
c : 7.0
----------------------------------------
PASSED: test1({AirPort=Bangalore, FlightName=India Air Lines, Date=Thu Apr 10 00:00:00 PDT 2014, FlightNumber=10011.0})
PASSED: test1({AirPort=Hyderabad, FlightName=Emirates, Date=Sun Jun 22 00:00:00 PDT 2014, FlightNumber=10012.0})
PASSED: test2({3=Hyderabad, 2=10012.0, 1=Emirates1, 7=Hyderabad, 6=10012.0, 5=Emirates, 4=Sun Jun 22 00:00:00 PDT 2014, 8=Sun Jun 22 00:00:00 PDT 2014})
PASSED: test3({TrainNumber=16332.0, Date=Sun Jun 22 00:00:00 PDT 2014, TrainName=MUMBAI EXPRESS})
PASSED: test4({b=6.0, c=7.0, a=3.0})
===============================================
Default test
Tests run: 5, Failures: 0, Skips: 0
===============================================
Note:
1. With the above approach as the data grow's more and more, value for parameter 'ExcelConstants.INITIAL_POSITION' should be updated.
2. Above approach works with "AH-DDF-3.0.4.jar" or higher version.
Download zip file "SingleExcelWithMultiData.zip" for sampe test data and source code for accessing testdata from repository.
Download zip file "SingleExcelWithMultiData.zip" for sampe test data and source code for accessing testdata from repository.