Selenium with Python Course Contents


Module-1: Overview on Automation & Selenium

  • Introduction to Automation
  • Challenges in Manual Testing
  • Overcoming Challenges with Automation
  • Importance of Programming in Automation
  • Introduction to Selenium
  • Selenium Components
  • Advantages and Disadvantages of Selenium WebDriver

Module-2: Python Programming for Selenium

  • Download and Install Python
    • Overview of Python
    • Downloading Python from the official website
    • Installing Python 
  • Setup Python Environment
    • Setting up Python Path in Environment Variables
    • Verifying Python Installation
    • Introduction to pip (Python Package Installer)
  • How to use PyCharm
    • Installing PyCharm IDE
    • Setting up a new project in PyCharm
    • Navigating the PyCharm interface
  • Basic Python Program
    • Writing the first Python script
    • Understanding the Python file structure
    • Running the Python script
  • Run a Python Program
    • Running Python programs from the command line
    • Running Python scripts in PyCharm
  • Understanding Console Output
    • Using the print() function
    • Formatting console output
  • Python Variables and Data Types
    • Variable declaration and initialization
    • Different data types (int, float, string, boolean)
    • Type casting
  • Python Operators
    • Arithmetic operators
    • Comparison operators
    • Logical operators
    • Assignment operators
  • Conditional Statements
    • if statement
    • if-else statement
    • elif statement
    • Nested if statements
  • Looping Statements
    • for loop
    • while loop
    • Nested loops
    • Loop control statements (break, continue, pass)
  • Lists and Tuple
    • Creating and accessing lists
    • List methods
    • Tuples and their characteristics
    • Tuple operations
  • String
    • String declaration
    • String methods and operations
    • String formatting
  • Dictionary and Set
    • Creating and accessing dictionaries
    • Dictionary methods
    • Creating and accessing sets
    • Set operations and methods

 Module 3: Python Object Oriented Programming 

  • Classes and Objects in Python
    • Defining a class
    • Creating objects from a class
    • Instance variables and methods
  • Functions and Methods in Python
    • Defining functions inside and outside of a class
    • Calling methods
  • Passing Parameters to Methods
    • Positional arguments
    • Keyword arguments
    • Default parameters
  • Python Constructor
    • Understanding the __init__ method
    • Creating constructors
    • Constructor overloading with default arguments
  • Method Overloading
    • Concept of method overloading in Python
    • Using default arguments for method overloading
  • Constructor Overloading
    • Simulating constructor overloading with default arguments
  • Static Variables and Methods
    • Defining static variables
    • Defining static methods using @staticmethod decorator
  • Python Inheritance
    • Single inheritance
    • Multiple inheritance
    • Multilevel inheritance
    • Hierarchical inheritance
  • Method Overriding
    • Concept of method overriding
    • Using super() to call parent class methods
  • Python Packages
    • Creating and using packages
    • Importing modules from packages
    • Managing namespaces
  • Exception Handling
    • Understanding exceptions
    • Try, except, else, and finally blocks
    • Raising exceptions
    • Custom exceptions

Module-4: Selenium WebDriver (Latest Version)

  • Introduction to WebDriver and Architecture
    • Overview of Selenium WebDriver
    • Architecture of Selenium WebDriver
  • Environment Setup & WebDriver Configuration
    • Setting up WebDriver in PyChamp
  • How to Create Automated Test Case in WebDriver?
    • Setting Up a Basic Test Case Structure
    • Writing and Running Simple WebDriver Test Cases
  • Execute Test Case on Multiple Browsers
    • Cross-Browser Testing
    • Running Tests on Different Browsers
  • Understanding HTML Tags and Attributes
    • HTML Basics for Selenium Testers
    • Locating Elements Using HTML Tags and Attributes
  • Basic Locators
    • Name Locator
    • ID Locator
    • LinkText Locator
    • PartialLinkText Locator
  • Advanced Locators
    • CSS Locators
    • XPath Locators
    • XPath Axes
  • Relative Locators
    • .above, .below, .to_left_of, .to_right_of, .near
  • How to Use SelectorsHub & Features of Selectors Hub
    • Overview of SelectorsHub
    • Features and Benefits
  • WebDriver Methods
    • Opening Page URL
    • Verifying Page Title
    • Getting Page Source
    • Getting Page URL
    • Conditional Methods
      • Visibility of WebElements
      • Enable/Disable Status of Web Elements
  • Waits
    • Implicit Waits
    • Explicit Waits
    • Page Load Time
  • Navigation Methods
    • Navigating Back & Forward
    • Refreshing Page
  • Browser Commands
    • close() and quit()
  • Working with Web Elements
    • Handling Input Boxes
    • Handling Checkboxes & Radio Buttons
    • Handling Links 
  • Handling Alerts/Popups
    • Handling Alert Boxes
    • Handling Confirmation Boxes
    • Handling Prompt Boxes
  • Handling Iframes & Inner Iframes
    • Switching to Iframes
    • Working with Nested Iframes
  • Handling Drop Downs
    • Select type Drop down
    • Bootstrap Drop Downs
    • Multi Select Drop Down
    • Auto Suggest Drop Down
  • Working with Browser Windows
    • Switching Between Browser Windows
    • Handling Tabs and Windows
  • Handling Static & Dynamic Web Tables
    • Strategies for Handling Tables
    • Handling Static Tables
    • Handling Dynamic Tables
    • Pagination Tables
  • Handling Date Pickers
    • Strategies for Handling Date Pickers
  • Handling Mouse Actions
    • Using Actions Class
    • Right Click, Double Click, Mouse Over
    • Drag and Drop Actions
  • Handling Keyboard Actions and Shortcuts
    • Using Actions Class for Keyboard Actions
  • Executing Javascript code in Selenium
  • Scrolling Web Page
    • Scrolling Up and Down the Page
  • Zoom In & Zoom Out, Maximize, Minimize Web Page
    • Managing Browser Window Size
  • Opening Links in New Tab
    • Handling New Tabs
  • Working with Tabs and Windows
    • Switching Between Tabs and Windows
  • Capturing Screenshots
    • Taking Screenshots in Selenium
  • Working with Cookies
    • Managing Cookies in Selenium
  • Headless Browser Testing
    • Overview of Headless Testing
    • Advantages and Disadvantages
  • SSL Certificate Handling
    • Handling SSL Certificates
  • Browser Settings with ChromeOptions
    • Customizing Chrome Browser Settings
  • Enable Extensions on Browser at Runtime
    • Managing Browser Extensions
  • Blocking Ads on WebPage at Runtime
    • Blocking Ads Using WebDriver
  • Run Tests in Incognito Mode
    • Running Tests in Incognito/Private Mode
  • How to Handle Upload Files (Single and Multiple)
    • Uploading Files in Selenium
  • Handling Broken Links
    • What is Broken link?
    • How to find Broken links in web page
  • Handling shadowDOM, SVG Elements
    • Strategies for Handling shadowDOM and SVG Elements
  • Working with Excel Files Using Apache POI API
    • Reading and Writing Excel Files
  • Data-Driven Testing
    • Strategies for Data-Driven Testing
    • Implementing Data-Driven Tests in Selenium
  • Reading Properties File

Module-5: PyTest

  • Introduction to PyTest
    • Overview of PyTest
    • Key Features and Benefits
  • PyTest Installation
    • Installing PyTest via pip
    • Verifying the Installation
  • PyTest Naming Conventions
    • Standard Naming Conventions for Test Files and Test Functions
    • Importance of Naming Conventions
  • PyTest Test Case
    • Writing Simple Test Cases
    • Understanding Assertion Methods in PyTest
  • PyTest Fixtures
    • Introduction to Fixtures
    • Creating and Using Fixtures
    • Scope of Fixtures (Function, Class, Module, Session)
  • How to Use Common Fixtures in Multiple Modules
    • Sharing Fixtures Across Multiple Test Modules
    • Using conftest.py for Common Fixtures
  • Run All the Modules in a Package
    • Running Tests from All Modules in a Package
    • Configuring PyTest to Discover and Run Tests
  • Run Specific Module from a Package
    • Command to Run Specific Test Modules
    • Use Cases for Running Specific Modules
  • Run Specific Test Method from a Module
    • Running Individual Test Methods
    • Specifying Test Methods in the Command Line
  • Grouping Tests
    • Organizing Tests into Groups
    • Using Markers to Group Tests
  • Skipping Tests
    • Skipping Tests Conditionally
    • Using pytest.mark.skip and pytest.mark.skipif
  • Ordering Tests
    • Controlling the Order of Test Execution
    • Using pytest-ordering Plugin
  • Parallel Testing using PyTest xdist-plugin
    • Introduction to Parallel Testing
    • Installing and Using pytest-xdist for Parallel Execution
    • Configuring Number of Parallel Processes
  • Parameterization
    • Parameterizing Tests for Different Input Data
    • Using pytest.mark.parametrize for Test Cases
  • Command Line Arguments
    • Common Command Line Options
    • Custom Command Line Arguments
  • Structure Tests in a Test Class
    • Organizing Tests in Classes
    • Setup and Teardown Methods in Test Classes
  • Return a Value from Fixture
    • Returning Values from Fixtures
    • Using the Return Value in Test Functions
  • PyTest HTML Report Generation
    • Generating HTML Reports
    • Using pytest-html Plugin
    • Customizing the HTML Report

Module-6: Extent Reports, Logging & Page Object Model Pattern

  • Generating Extent Reports
  • Python Logging module for Logging
  • Page Object Model (POM) Pattern
  • Creating Page Object Classes without Page Factory
  • Creating Page Object Classes using Page Factory

Module-7: Selenium Grid

  • Introduction to Selenium Grid
  • Setting Up Grid Environment (Stand Alone, Hub with Nodes)
  • Running Selenium Tests on Grid

Module-8: Docker

  • What is Docker
  • What is Docker Image
  • What is Docker Container
  • How to create account on Docker Hub
  • Download Images from Docker Hub
  • Docker UI Application
  • Selenium Grid Configuration on Docker Hub
  • Run your test cases on Dockerized Selenium Grid
  • Setup Infrastructure using Docker Compose yml
  • Scale up the browsers at the run time
  • Shut down the Docker Infrastructure

Module-9: Introduction to Automation Frameworks

  • Introduction to Automation Frameworks
  • Types of Frameworks
  • Phases in Designing Framework
  • Choosing Test Cases for Automation

Module-10: Hybrid Framework with POM (Page Object Model) – Project

  • Creating New Project and add required plugins
  • Creating Folder Structure
  • Creating Page Objects and Object Repository
  • Creating Utility files
  • Generating Reports
  • Generating Logs using python Logging module
  • Creating Configuration Files
  • Creating Automation Test Cases
  • Creating Data-Driven Test Cases
  • Creating Database Test Cases
  • Executing Test Scripts 
  • Emailing Test Reports
  • Executing Test Scripts through Command Line
  • Executing Test Scripts using Batch File
  • Executing Test Scripts on Selenium Grid
  • Executing Script on Docker Container

Module-11: CI & CD Concepts( Git, Github & Jenkins)

  • Version Control System Overview
  • Git and GitHub
  • Git Commands
  • Continuous Integration (CI) and Continuous Delivery (CD)
  • Jenkins Overview
  • Maven Integration with Jenkins
  • Running Selenium Tests through Jenkins



Total Pageviews

YOUTUBE