Create Data Driven Framework For Selenium WebDriver Using POI, TestNG And ANT

If you are using selenium webdriver as automation tool to test software web application and wants to create selenium webdriver data driven framework from scratch then follow bellow given steps. It will guide how to create data driven framework in selenium webdriver step by step to test software web application.

Peoples are using different frameworks like keyword driven framework, data driven framework, hybrid framework and POM with selenium webdriver to test software web application. Which framework to use is depends you software web application type. If you are testing software web application where need to use very large data in automation test process then you can use data driven or hybrid framework.

Selenium Data Driven Framework

Read Selenium WebDriver Tutorial PART-1 and PART-2 before data driven framework creation.


Please follow bellow given links to create selenium web driver data driven framework from scratch

STEP 12Reporting Test Suite Execution Status
STEP 13 : Add Test Case Skip Function In automation framework
STEP 14 : Add Data Skip Function In Framework For Selenium
STEP 15 : Reporting Test Data Result In Excel
STEP 16 : Reporting Test Failure In TestNG Reports
STEP 17 : Reporting Test Cases Results In Excel
STEP 18Implement Logging Using Log4j
STEP 19ANT - Generate XSLT Reports - Part 1
STEP 20 : ANT - Generate XSLT Reports - Part 2
STEP 21Run WebDriver Test From Batch(.bat) File
STEP 22 : Introduce Selenium WebDriver In Framework
STEP 23 : Implement Load Browser Function
STEP 24 : Running Test In Different Browsers
STEP 25 : URL Centralization For Easy Future Maintanance
STEP 26 : Implement Calc Sum Test In DDF
STEP 27 : Create Object Repository For Framework
STEP 28 : Create getElementByXPath Function
STEP 29 : Create Functions For All Other Locator Types
STEP 30 : Implement Calc Tests In All Test Cases
STEP 31 : Capturing Screenshot On Failure Or Pass


Selenium WebDriver data driven Framework key features
  • It will support only .xls files as Input data feed.
  • It will use Apache POI API to read data from .xls files and write results In .xls files.
  • It will use TestNG-XSLT Reports to generate results reports In HTML format.
  • You can feed multiple combinations of test data for executing single test case. Example : Validating Log in form's username and password fields with different sets of data.
  • You can set Test suite execution mode (Test Suite To Be Executed or Not) In .xls file.
  • You can set Test case execution mode (Test Case To Be Executed or Not) In .xls file.
  • You can set Test data execution mode (Test Data To Be Executed or Not) In .xls file.
  • Reporting test case execution results (Pass, Fail or Skip) In .xls file after test case execution.
  • Reporting test data execution results (Pass, Fail or Skip) In .xls file after test data execution.
  • It will use Log4j - Apache Logging Services to generate execution log In applog.log file.
  • Easy to maintain software web application's web page elements as It will use object repository to fetch web page element.
  • Easy to understand, maintain and integrate with any software web application's test process.
selenium webdriver, selenium webdriver framework, selenium framework, selenium webdriver tutorial, framework in selenium, selenium automation framework, selenium testing, automation framework, selenium testing framework, selenium automation, selenium test framework, framework for selenium, selenium webdriver, webdriver.


  1. can you also provide tutorial of selenium with jenkins.

    1. At present, I do not have any tutorial on selenium with jenkins.

    2. Can u please guide me with Selenium webdriver + TestNG + maven + GRID + Jenkins which is widely used in industry as per my knowledge

    3. Great work Aravind....!!! Very helpful for beginners like me...Thank you so much... Plz keep on updating...nice way to learn from you...God Bless you..!!!

    4. Please keep on updating more article
      it is very helpfull for selenium learner

  2. you have done such a great job. It helps a lot for people like us who are completely new to automation.

  3. Excellent tutorials...great work. thanks for all the information provided...

  4. Awesome Articles

    Please provide guidelines for framework development.

  5. Replies
    1. Click on Steps link to go to tutorial page.

  6. Awesome Blog...

    Please do share the page object model framework guidelines also

  7. Excellent blog..very helpful for learners.

  8. Thanks for Data Driven Framework knowledge, sharing it would be great if you will able to share knowledge on hybrid Framework

  9. where can i get the complete code for data driven testing?

  10. hi

    nice blogspot on selenium
    can you give example on details for hybrid framework (data driven + page object) mainly on how to reuse common function

    thanks in advanced!

  11. hi

    I love your tutorial
    currently your framework only have read input data from excel file
    If I want to separate input and output excel file
    Can you show us an example on how to write test result to output excel file, it is because in a test case, I have many items to verify/check and write the test result & print message into Output excel file.

    looking forward on your tutorial on this features, thank you.

  12. Hi can you show example on how to use testng parameter with CSV files

  13. Do you have tutorials for Hybrid Framework ?

    1. This is hybrid framework, modular + data driven.

  14. Hi,

    In data driven framework, how do i validate if i supply empty form fields through csv file

  15. Great work .. really .. You have talent and patience .. I have been giving seminars in my company.. but this is the perfect way of teaching.
    I am waiting for next steps...

  16. How to email XSLT reports using ANT and Java code

  17. Hi can you show how to do this with csv data provider instead of excel xls

  18. Aravind can you provide tutorials for keyword driven framework.

  19. This is great stuff! It would really helpful, if you could share something on the POM (Page Object Model)

  20. Great Work Aravind and its very very useful to All. God Bless You!!!!!!!!!!!! Waiting for More and More Tutorials......

    Appreciating ur work from bottom of my Heart....

    Stay Blessed,

  21. Good Material for references. Thanks Aravind. Keep posting new topics.

  22. Hi Aravind, Appreciating your work from the bottom of my heart!!!

  23. Hi Aravind,

    Can you plz help me here,i had started writing selenium web driver scripts using java,i need to run my scripts on server,i had searched for this not got any clear idea

  24. HI ArAVIND,
    Really nice blog and appreciate your helping nature and giving detail explanantion of the framework from scratch.If possible can you please help doing it using Cucumber Framework as well.
    thanks a ton

  25. Very good Blog Aravind. Can you please more blog for keyword framework and hybrid framework.

  26. Hai all plz provide keyword driven framework tutorials

  27. Hai all plz provide keyword driven framework tutorials

  28. If you provide video for every step it will be helpful more and more................

  29. This is really good one.. thankzz for providing such a good tutorial

  30. Thank you for the all the tutorials...well explained..very helpful!!

  31. Thank you for all the tutorials..well explained..really helpful!! Appreciate it..

  32. Nice article..suppose we have 200 testcases Do we need to use 200 sheets for reading the inputs right?Isn't that going to be tedious task?

  33. Hi Aravind,

    Thank you so much for this wonderful blog. Many times I was stuck in setting up environment and I was never able to move forward. Your blog helped me in understanding framework and actually able to automate different scenarios. I can not thank you enough and please consider this as my gratitude for your support to the community.


  34. Hi, Aravind,
    can you provide apache POI tutorials. which are very helpful go build advanced automation framework.

  35. I am new to Selenium Webdriver Testng and trying to Develop Data Driven framework using CSVReader (Open CSV)

    I have 5 tests in Testng and have to run those all on different urls (from CSV file). So basically I have to pick a different url and client, but other pages, elements remain same.

    My Question is, Where do I put while loop so that it reads first line and execute all the tests and then read second line and so on.

    I tried initialize CSV reader at class level, before suite, before method etc. but it throws error, it works for a particular test if I am putting insside @Test but that doesn't resolve the purpose, I couldn't find any relevant answer on the internet.

  36. Hi .. this is full tutorial for automation framework after 31 steps? Or still more is pending?

  37. How to get access to download the code ? requested for drive access but not reply.
    Kindly some one help ?