SELENIUM BASICS:

  • What is Automation Testing - Advantages & Types of Tools
  • What is Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Grid?
  • Selenium IDE, Firebug & Firepath Installation

  • SELENIUM WEBDRIVER:

  • Selenium WebDriver Architecture
  • Selenium Installation
  • Challenges and Limitations of Selenium
  • First Selenium WebDriver Script
  • Working with Firefox Browser
  • Solution - Failed To Launch Browser Using Selenium WebDriver
  • Working with Chrome Browser
  • Working with IE Browser
  • Difference Between FindElement & FindElements
  • Install Firebug, Fire path and other add on for Selenium
  • Locators in Selenium
  • Dynamic Xpath
  • Dynamic CSS
  • Handle drop-downs
  • How to work with file upload
  • Handle Alerts & Popups
  • Handle Multiple Windows
  • Mouse Hover event in Selenium
  • Right Click
  • Double Click
  • Drag and Drop
  • Capture Screenshots in Selenium
  • Parameterization
  • Synchronization
  • Implicit Wait, Explicit Wait and Fluent Wait in Selenium
  • Implicit Waits
  • Explicit WebDriver Waits
  • Fluent Wait In Selenium
  • Apache POI
  • How To Read Data From Excel File
  • How To Write Data In Excel File
  • Database Testing Using MSSQL
  • Database Testing Using MySQL
  • Database Testing Using DB2
  • Handle Ajax Call in Selenium
  • Listeners in Selenium
  • Handling JavaScript in Selenium
  • Stale Element Reference Exception in Selenium
  • Integrate Sikuli with Selenium
  • Headless Browser Testing 
  • Headless Browser Testing using HtmlUnitDriver
  • Headless Browser Testing using PhanthomJSDriver

  • TESTNG:

  • TestNG Installation
  • TestNG Complete Tutorial

  • REPORTS:

  • Extent Reports Introduction
  • Extent Reports Generation
  • Capturing Screenshots & Including In Extent Reports
  • Extent Reports Version 4

  • BUILD & CONTINUOUS INTEGRATION TOOLS:

  • ANT Build Tool - How To Download & Install
  • Maven Build Tool - How To Download & Install
  • Creating Maven Selenium Project
  • GIT Integration with Selenium
  • Jenkins - How To Download & Install
  • Jenkins - Executing TestNG Scripts
  • Jenkins - Generating Reports After Test Execution
  • Jenkins - Executing Maven Project
  • Create build and Execute build for nightly execution
  • Send Email report based on build Status
  • Selenium Continuous Integration with Jenkins [Selenium – Maven – Git – Jenkins] – Step By Step Guide

  • CROSS BROWSER TESTING:

  • Running Selenium Tests On BrowserStack
  • Kobiton - Mobile Testing Platform with Real Devices

  • MOBILE TESTING:

  • Mobile Testing Platform with Real Devices

  • AUTOMATION FRAMEWORKS:

  • What is Framework & Types of Framework
  • Page Object Model Design Pattern
  • Data Driven Framework
  • How to explain Test Automation Framework or Selenium Automation Framework Architecture In Interview

  • API Testing:

  • Learn API Testing
  • Postman Tutorial (API Testing with Postman)

  • INTERVIEW QUESTIONS:

  • Test Automation Framework Interview Questions
  • Selenium Interview Questions
  • TestNG Interview Questions
  • Java Interview Questions
  • Python Interview Questions
  • API Testing Interview Questions

  • SAMPLE RESUME:

  • Automation Tester Resume
  • Types of Test Automation Frameworks | Software Testing Material

    Types of Test Automation Frameworks:

    Earlier in this Selenium Tutorial series, we have seen basic concepts of Selenium. In this post, we will learn Types of Selenium Automation Framework (Test Automation Frameworks) – Data-Driven, Keyword Driven, and Hybrid Framework. This will help you to clear your Selenium Interview.

    Before discussing the types of test automation frameworks, let’s see what is a framework.

    What is a framework?

    framework defines a set of rules or best practices that we can follow in a systematic way to achieve the desired results. So the above-mentioned test automation frameworks deal with best practices to achieve the goals of our automation project.

    What is Selenium Framework?

    Selenium framework’s code structure helps you to reuse the code, reduce code maintenance, higher code readability, and allows multiple users to work on the same piece of the program.

    Why do we need the Selenium Framework?

    • Easy code maintenance
    • Increase in code re-usage
    • Higher code readability
    • Reduced script maintenance cost
    • Reduced tests’ time execution
    • Reduced human resources
    • Easy reporting

    Types of Selenium Automation Frameworks

    Here in this post, I will explain the most popular Test Automation Frameworks.

    Types of Test Automation Frameworks

    How to explain Test Automation Framework to the interviewer.

    Check the below video to watch “Types of Automation Frameworks In Selenium / Types of Automation Frameworks in QTP/UFT”

    Please be patient. The video will load in some time.

    Linear Scripting Framework:

    Linear Scripting Framework is a basic level test automation framework that is in the form of ‘Record and Playback’ in a linear fashion. This framework is also known as the ‘Record and Playback’ framework. This type of framework is used to test small-sized applications. In this type, creation, and execution of test script are done individually for each test case individually.

    Using this framework, we could generate test scripts (Record and playback) without planning much or consume much time but it has its own drawbacks such as lack of reusability and hard coding the data does not allow us to run with multiple data sets.

    Modular Testing Framework:

    In the modular testing framework, testers create test scripts on module wise by breaking down the complete application under test into smaller, independent tests. In simple words, testers divide the application into multiple modules and create test scripts individually. These individual test scripts can be combined to make larger test scripts by using a master script to achieve the required scenarios. This master script is used to invoke the individual modules to run end to end test scenarios. In this framework, testers write function libraries to use it whenever required. This is AKA modularity framework or module-based framework.

    Framework Interview Questions

    Data-driven Framework:

    Data-driven test automation framework is focused on separating the test scripts logic and the test data from each other. It allows us to create test automation scripts by passing different sets of test data. The test data set is kept in the external files or resources such as MS Excel Sheets, MS Access Tables, SQL Database, XML files, etc., The test scripts connect to the external resources to get the test data. By using this framework we could easily make the test scripts work properly for different sets of test data. This framework significantly reduces the number of test scripts compared to module-based framework.

    This framework gives more test coverage with reusable tests and flexibility in the execution of tests only when required and by changing only the input test data and reliable in terms of no impact on tests by changing the test data but it has its own drawbacks such as testers who work on this framework needs to have the hands-on programming knowledge to develop test scripts

    How to handle excel sheets using Selenium for Data Driven Testing Framework

    Keyword Driven Testing Framework:

    It is also known as table-driven testing or action word based testing. In Keyword-driven testing, we use a table format to define keywords or action words for each function or method that we would execute. It performs automation test scripts based on the keywords specified in the excel sheet. By using this Framework, testers can work with keywords to develop any test automation script, testers with less programming knowledge would also be able to work on the test scripts. The logic to read keywords and call the required action mentioned in the external excel sheet is placed in the main class. Keyword-driven testing is similar to data-driven testing.

    Even though to work on this framework doesn’t require much programming skills but the initial setup ( implement the framework) requires more expertise.

    Hybrid Driven Testing Framework:

    Hybrid Test automation framework is the combination of two or more frameworks mentioned above. It attempts to leverage the strengths and benefits of other frameworks for the particular test environment it manages. Most of the teams are building this hybrid driven framework in the current market.

    Behavior Driven Development Testing Framework:

    The purpose of this Behavior Driven Development framework is to create a platform that allows everyone (such as Business Analysts, Developers, Testers, etc,) to participate actively. It requires increased collaboration between Development and Test Teams.  It doesn’t require the users to be acquainted with a programming language. We use non-technical, natural language to create test specifications. Some of the tools available in the market for Behavior Driven Development is JBehave, Cucumber, etc.,

    The frameworks stated above are some of the most popular Test Automation Frameworks used by the automation testers.

    Conclusion:

    • Even though we have seen different types of test automation frameworks. Popular test automation frameworks out of all are Data driven framework, Keyword driven framework, and Hybrid framework.
    • In the Data-Driven Framework, we keep test data in excel sheets & use TestNG’s data provider to execute test cases.
    • In Keyword driven framework, we define keywords in the excel sheet and the code will call this file to execute the test cases
    • The hybrid framework is a combination of both Data-driven and Keyword driven frameworks.

    Related Posts:

    Types of Test Automation Frameworks

    Get our latest blog posts delivered to your inbox

    Subscribe and get popular blog posts about software testing industry.

    Rajkumar

    11 thoughts on “Types of Test Automation Frameworks | Software Testing Material”

    1. Nice article

      • Thanks Mohamed.

    2. Do you have any video on appium.I am trying to learn appium bt i am facing below error.Could you help me to resolve this error:

      Exception in thread “main” org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: com.facebook.lite/.MainActivity never started. Current: com.facebook.lite/.MainActivity,)
      (WARNING: The server did not provide any stacktrace information)

    3. HI Rajkumar,

      The way you are explaining about the automation framework is very nice, Appreciated your effort. This website is really useful for many people.

      Thanks a lot,
      Manick

      • Thanks for your kind words Manick.

    4. Hi Rajkumar,

      your articles are good. Are you conducting any course for Se to join?

      Thanks and I appreciate your response

      Reeva

      • Hi Reeva,
        Yes. Please contact us using our contact form
        Thanks,
        Rajkumar

    5. Dear Rajkumar,

      V.good and V.useful information, thanks a lot for your effort and service.

      • Thanks for your kind words Anand

    6. Well articulated and gave a good overview of frameworks.

      Well done!!

      Thank you,

      RajKumar

    7. Thank you very well explained

    Leave a Comment

    Share via
    Copy link
    Powered by Social Snap