What’s the focus of this course?
Selenium training has been designed to help developers and manual testers learn how to automate web applications with a robust framework, and integrate it within the DevOps processes of an organization. The course contains a lot of real-life examples and situations to demonstrate how to use Selenium WebDriver effectively.
The training starts with a refresher course on core Java concepts and covers the basics of Test Automation and its importance in the industry. The course includes basic as well as advance concepts of WebDriver and other tools/frameworks like TestNG, Maven, AutoIT, Sikuli, log4j.
Special focus is given on building a robust framework with Page Object Design Pattern, Data Driven Approach, and creating reusable components to improve productivity.
The course also covers Selenium Grid, which along with TestNG helps achieve parallel execution to improve coverage and reduce execution time for faster feedback.
Appium is an open source test automation framework for use with native, hybrid, and mobile web applications.
The course includes a project where you have to create the test automation for an eCommerce application with a framework and reporting.
What are the course objectives?
This course will enable you to:
- Revise the core Java concepts which are essential for learning Selenium WebDriver
- Understand the scope of Test Automation in DevOps and fundamentals of Test Automation
- Create Test Cases using Selenium IDE – Record and Playback tool
- Understand Selenium WebDriver architecture and various layers of interaction
- Set up WebDriver project in Eclipse and write test cases using TestNG
- Locate elements using various locating techniques
- Work with various WebDriver commands to drive web browser and various WebElement commands to deal with various web components
- Learn to deal with various possible scenarios in terms of pop ups, multiple Windows, frames, taking screenshots
- Implement Page Object Design Pattern and Data Driven Testing
- Understand how to use Maven, ANT, AutoIT, Sikuli, log4j, and listeners
- Learn to use Selenium Grid with TestNG for parallel execution
- Execute a project from scratch by building automation framework and automating a few test scenarios
Who should take this course?
The course is ideal for :
- Test Managers
- Test Engineers
- Test Lead
- Test Analyst
- QA Engineers
- Software Developers
- Engineers who want to learn Automation testing
What are the prerequisites for this course?
Basic knowledge of Core Java. This course starts with a refresher on core Java where basic concepts are explained.
What project will you be working on?
Projects for Submission to unlock Certification
- Ethnic Store Project 1 - The Ethnic Store is an ecommerce application selling specialized ethnic products like jewellery, clothing for men, women and kids. This application hosts range of products from different manufacturers where one can register with the website and purchase various products.
- Ethnic Store Project 2 - In this project, you will be able to purchase any product, add it to the shopping cart, view the orders placed all the way till the confirm order section. You will also work on implementing most of the eCommerce application features which are typically found on any eCommerce website.
- Lesson 01 - Core Java Refresher
- 1.1 Keywords and Syntax
- 1.2 variables, operators, and control flows
- 1.3 OOPs overview from Java context
- 1.4 Exception Handling, File and DB handling
- 1.5 Collections overview, and ArrayList example
- Lesson 02 - Automation Basics
- 2.1 Fundamentals of test automation
- 2.2 ROI in Automation
- 2.3 Automation framework
- 2.4 Various tools and comparison with Selenium
- Leson 03 - Introduction to Selenium WebDriver
- 3.1 What Selenium is and how it is used in the industry
- 3.2 Features of Selenium
- 3.3 Selenium IDE - Overview with a couple of examples
- 3.4 WebDriver Architecture
- 3.5 Installation of Selenium and supporting tools/Frameworks
- Lesson 04 - Locating Techniques
- 4.1 Simple WebDriver Program Demonstration
- 4.2 Basics of HTML page, tags, attributes, and visible texts
- 4.3 Importance of attributes in locating elements
- 4.4 Installation of Firebug and Firepath in Firefox browser
- 4.5 Locators and Eight Locating Techniques
- 4.6 Creating robust locators using CSS and XPath
- Lesson 05 - WebDriver Basics – I
- 5.1 Execute Tests in Firefox, Chrome, and Internet Explorer
- 5.2 WebDriver Commands: Driving Browsers and Handling Cookies
- 5.3 WebElement Commands
- 5.4 Handling Various WebElements
- 5.5 WebDriver Timeout Methods
- Lesson 06 - WebDriver Basics – II
- 6.1 Handling Multiple elements using findElements() method
- 6.2 Handling Alerts, Pop-ups, and Frames
- 6.3 Limitation of Implicit Wait and how Explicit Wait helps
- 6.4 Advanced User Interactions
- 6.5 Taking Screenshots
- 6.6 Working with Firefox profiles
- 6.7 Handling File Uploads Using AutoIT
- 6.8 Introduction to Flash Application Testing using Selenium WebDriver
- Lesson 07 – TestNG
- 7.1 Arranging Tests in 3-As format
- 7.2 F.I.R.S.T Principles and SRP
- 7.3 Various Annotations in TestNG
- 7.4 TestNG configuration file
- 7.5 Configuration Annotations
- 7.6 Attributes of @Test
- 7.7 Parallel Test Execution Capability
- 7.8 Assertion APIs
- 7.9 Passing Parameters to Tests
- 7.10 Configuring Test Suites
- 7.11 Reports using TestNG
- 7.12 Reports using ReportNG
- Lesson 08 - WebDriver – Framework
- 8.1 Introduction to various frameworks
- 8.2 Page Object Design Pattern
- 8.3 Data Driven Tests using TestNG and POI
- 8.4 Introduction to Maven and ANT
- 8.5 Use of Log4j
- 8.6 Use of Listeners
- 8.7 Typical components of a framework
- 8.8 Overview of BDD, TDD
- 8.9 Code Coverage in Java
- 8.10 Overview of Sikuli tool for UI testing
- 8.11 Introduction to Jenkins
- 8.12 Configuring Jenkins to invoke Selenium Tests
- Lesson 09 - Selenium Grid
- 9.1 What is Selenium Grid?
- 9.2 When to Use Selenium Grid
- 9.3 Setting up Grid - Hub and Nodes?
- 9.4 Configuring TestNG.xml to run tests on Grid
- Lesson 10 - Project Execution
- 10.1 Automate an eCommerce Application
- 10.2 Test Automation Requirements Description
- 10.3 What Next ? How to Start?
- 10.4 High Level Framework
- 10.5 Configurability—No To Hard-Coding
- 10.6 Modularity—Re-Use And DRY
- 10.7 Test Data Management
- 10.8 Logging And Reporting
- Lesson 11 - Mobile App Test Automation Using Appium
- 11.1 Introduction Mobile App Test Automation
- 11.2 Introduction to Appium
- 11.3 UIAutomator with Appium
- 11.4 Locating Elements - UIAutomator framework
- 11.5 DesiredCapabilities for Android