End-to-End Testing with Selenium
4 Days
javajavascriptpythonc#
testingAutomation
Intermediate
testerdeveloper

This workshop coaches participants on how to automate end-to-end web testing using Selenium, which is the most widely used browser automation tool-set. With least presumption on participant's knowledge, Workshop commences with key concepts succinctly and then moves to Selenium usage as a tool for test automation for web applications. The course covers testing of static or dynamic website with html, http, ajax and more. Selenium Webdriver is covered in very complete detail including Selenium IDE, Third party tools, and introduction to distributed testing. Highlight of this workshop is extensive hands-on and demos.

Audience

Participants must be developers or software savvy testers who aspire to use Selenium to efficiently conduct their business.

Prerequisites

Participant must be able to code in core Java/C#/Python/Javascript with corresponding standard library.

Topics

Introduction
  • Web and HTTP
  • Browsers and Servers
  • HTML, CSS and JavaScript
  • Browser Developer Tools
  • Cookies, Cache, Headers
  • DOM Tree and Web flow
  • Ajax Vs Non-ajax
  • Brush up on Python, Javascript, Java or C#
  • Files and Databases
  • Key Python, Javascript, Java or C# Classes/Methods/Tools
    • Package Manager for chosen language
  • Debugging
  • Intro to Selenium Tool Set
  • Third party extensions
  • Manual Testing
  • Coded Tests and Benefits
  • Intro to Unit Testing Framework
  • Usage of Unit Testing Framework
  • AAAC structure
  • Custom Assertions
Selenium
  • Introducing WebDriver
  • Intro to Selenium IDE
  • WebDriver and Selenium-Server
  • WebDriver API Introduction
  • WebDriver API by Examples
  • Important Exceptions
  • Verifying Page Elements
  • Locating Elements
    • css, id, name, link, class, xpath, tags
    • How to generate locators
  • Getting state of DOM
  • Manipulating Elements
  • Click, double click, drag, drop, keypress
  • Input elements
  • Actions
  • Custom Selenium Assertions
  • RegEx
  • Matching Text Patterns
  • Wait Commands and Ajax
  • Implicit, Explicit, Fluent Wait
  • Flow Control
  • Alerts
Webdriver
  • Forms and Tables
  • File upload and download
  • Handing Alerts
  • Windows, Frames, Dialogs
  • Browser Window
  • Object Repository
  • Page Objects
  • Parameterization
  • Data Driven Tests
    • Hard-coded
    • Excel
    • Json
    • Csv
    • Database
  • Keyword (Table) Driven Tests
  • Guidelines for Skeleton framework
  • Test Cases Guidelines
  • Debugging
  • Different Browsers
More
  • Authentication
  • Logging
  • Handling Cookies
  • Injecting javascript
  • Taking screenshots
  • Taking partial screenshots
  • Recording tests
  • Browser Specific Options
    • Headless
    • Profile
    • Downloads
    • Extensions
  • Reporting
  • Performance Testing
  • Intro to Distributed Testing
    • Selenium Server
    • Grid configuration
    • Hubs and Nodes
  • Using command line
  • Limitations of Webdriver
  • Using AutoIt
  • Intro to Cucumber/Specflow and Gherkin
  • Intro to Azure Git/Pipeline

Exclusions

SDLC, Advanced protocol details, Advanced distributed testing

Anything not mentioned in Topics

Software Requirements

IDE of choice to do hands-on
Visual Code/Studio for C#
Visual Code for Javascript
IntelliJ for Java
PyCharm for Python
Modern browser like Chrome

Internet Requirements

Good unrestricted internet connection is required.

Hardware Requirements

Laptop capable to run MS Office

Classroom Requirements

Projector with HDMI, White Board, Markers with Eraser

Online Requirements

Appropriate meeting software e.g. Zoom, MS Teams Please make sure that camera, speaker and mic are working

If you have any query, please contact now.