Automation Framework

Automation Framework, Selenium, Selenium Training In Bangalore, Selenium Course Training In Bangalore, Selenium Course Training in Mathikere, Malleshwaram, Rajajinagar, Jayanagar, Bangalore, Selenium Training In Near MeAutomation Framework- is an organized way of delivering the test automation, which would enable the robustness, scalability, agility, maintainability etc., of the overall automation testing. Some of the key components of the automation framework are Objects, actions, test cases, test data, configuration, drivers, reports, utilities like screenshots, video, logs etc.,

1. Advanced Selenium and Automation Framework

1.1. Overview of test Automation Framework

Frameworks to automate manual test cases using Selenium WebDriver are:

  • Why and how to automate?

  • When and what to automate?

  • Automation Workflow?

  • Proof of concept for Test Automation tool and project.

  • Data Driven Framework

  • Keyword Driven Framework

  • Hybrid Framework

1.2. Recap Selenium and Scripting Language

A complete recap of Selenium Tool basic usage and the scripting language (Java or C# or Python) before proceeding to the next important topics.

The refresher session will help in regaining the knowledge and brushing up on the topics which is much needed for in-depth Automation Framework learning.

1.3. Hybrid Automation Framework

Hybrid Framework is a combination of two or more frameworks.

Selenium Framework, Data Driven Framework, Hybrid Framework, Keyword Driven Framework

1.1. Design Pattern – Page Object and Page Action

A design pattern named as Page Object Model is used to create Object and Actions Repository for web UI elements.

In POM, for each web page of the application, corresponding page class should be available.

The Page class will find the WebElements of that respective web page and also contains Page methods which perform operations on those respective WebElements.

  • Why Page Object Model?

  • How to Implement POM?

  • Advantages of POM

  • What is POM with Page Factory?

  • What is POM without Page Factory?

1.2. Driver Utility (Different Browsers and RemoteBrowser)

An utility created for generic webdriver/browser related functionalities like driveroptions, driverprofiles, remotewebdriver configuration, killing the browser, etc.

Local Browsers – FirefoxDriver, ChromeDriver, OperaDriver, InternetExplorerDriver etc.,

Remote Browsers – RemoteWebDriver

1.3. File Handling (Excel)

File Handling is an important topic to develop framework for Selenium Automation. Some of the key file types used are Excel, CSV, XML etc.,

This topic covers:

  • New file creation

  • Read from the file

  • Write to the file

  • Delete the file

  • Upload the file

  • Download the file

1.4. Database Handling

All application maintains a database to store all its data such as My SQL, Oracle or any other databases. Selenium Webdriver is used for web application testing, where web applications perform operations like submitting data, retrieving and validating the data.

In Selenium, APIs are used for getting Data from the database. These APIs help in interacting with database like JDBC.

How to Connect to database using JDBC?

  1. Load and Registering the Driver

  2. Establishing Connection

  3. Creating Statement Object

  4. Execute the Statement

  5. Closing the connection


  • How to retrieve records?

  • How to update Records?

  • How to verify the results?

1.5. Test NG  / NUnit (Reports/Listener’s/Annotations)

TestNG is a testing framework designed to simplify a broad range of testing needs, from unit testing (testing a class in isolation of the others) to integration testing. It provides various solutions like parameterizing, parallel execution, sequential execution, group/suite execution and many more.

  • TestNG & Why TestNG with Selenium?

  • Advantages of TestNG

  • TestNG Annotations

  • Creation of New TestNG File

  • Reports created by TestNG

  • Annotations used in TestNG

  • TestNG XML file

  • TestNG reports

  • TestNG Listeners

1.6. Reporting Mechanism

ReportNG is a simple HTML reporting plug-in for the TestNG unit-testing framework. It is intended as a replacement for the default TestNG HTML report. The default report is comprehensive but is not so easy to understand at-a-glance. ReportNG provides a simple, colour-coded view of the test results.

ExtentReports – A third-party API used for custom reporting, which provides a usefull way of representing the test results.

1.7. GRID (Hub/Node Configurations)

Selenium Grid helps to achieve the execution of multiple tests in parallel, at the same time against different machines with various operating systems, in different browsers.

Selenium grid consists of a hub and one or more nodes. The hub receives a test to be executed along with information such as which Operating System platform and which browser where the test should be run.

Using the specified information, it selects an available node. Once the node is selected, Selenium commands initiated by the test are sent to the hub, which passes them to the node assigned to that test. The node takes case of execution – runs the browser, executes the Selenium commands against the specified application.

  • Installation

  • Starting Selenium-Grid

  • Configuring Selenium-Grid

  • Hub Configuration

  • Node Configuration

  • Timing Parameters

  • Customizing the Grid

  • End-to-End Lab setup, creating tests, running the tests on GRID, report generation.

1.8. Headless Scripting (HTMLUnit Driver)

  • What is a headless browser?

  • What is the use of headless browsers?

  • Points to consider before you run your tests on Headless browser

  • HtmlUnitDriver – Selenium’s headless browser class

  • Java script support in HtmlUnitWebDriver

  • Testing on different browser versions

1.9. Logging Mechanism

The logging mechanism is used to identify fault conditions in deployed services which helps to troubleshoot issues efficiently.

  • Why use Log4j?

  • How log4j is configured?

  • How log4j is used within script?

  • Log4j with Selenium

1.10. Integrating with Test Management tools (GitHub/Jenkins)

Working with GitHub/Jenkins

  • How to use GitHub for Sourse Control of Automated scripts

  • How to configure Jenkins for Continuous Integration Tests

1.11. Case studies:

Selenium community (Ayutomationpractice.com , mercurytours.com, phptravels.net)

1.12. Tools Used:

  • Selenium (WebDriver, Grid, IDE)

  • Java / C#

  • Eclipse / Visual Studio-Community

  • NUnit / TestNG

  • GitHub

  • Jenkins