
Discover how Selenium automates the testing process as a popular test automation tool that runs tests on behalf of testers.
Discover that Selenium is a free, open source test automation tool with openly available code on GitHub; download, view, modify it, and even create new tools from it.
Learn about the four components that form Selenium—Selenium IDE, Selenium RC, WebDriver, and Selenium Grid—and how Selenium is a set of tools with WebDriver as the major component.
Discover Python's popularity, open source and free nature, and ease of learning, as it powers machine learning, AI, and data science.
Learn how Python variables store data in memory, initialize and update values, print results, and apply snake_case naming, case sensitivity, and multi-variable assignment.
Master Python operators through practical demos of arithmetic, assignment, relational, and logical operators, exploring operands and operator usage with clear examples.
Learn to format Python print statements using concatenation, comma separation, and string formatting with curly braces, indexing, and percent formatting, including typecasting integers and handling spaces for clean output.
Master the while loop in Python by understanding condition, iteration, and indentation, with examples of counting 1 to 10 and 10 to 1, including the while-else construct.
Explore default arguments in Python functions and learn how to call a function without passing a value, using a default argument to avoid errors.
Learn how to use pass statements in Python to create placeholder functions, loops, and conditions for future implementation, with practical examples.
Master Python sets, a collection with curly braces syntax, and learn how they differ from lists and tuples. Practice set operations and methods like add, update, discard, pop, and clear.
Compare lists, tuples, sets, and dictionaries in Python, covering syntax, indexing, order, mutability, and how duplicates and unique keys are handled.
Learn Python strings through hands-on creation, indexing, slicing, and key methods such as upper, lower, strip, replace, split, capitalize, title, count, and find, plus string immutability.
Demonstrate how to use in and not in operators with lists, tuples, and sets, and apply them in for loops (range and for each) and strings in Python.
Learn how objects and classes in Python represent real-world entities, using class templates to create objects, access properties via object references, and distinguish methods from functions.
Demonstrate the self keyword in Python with a car class, showing how self accesses wheels and calls car methods, and contrasts with object references.
Learn how to assign method parameters to class variables in Python using the self keyword, and access these properties across methods in a car class example.
Explore Python inheritance by comparing real-world parent-child property transfer, and demonstrate how a child class inherits attributes and methods from a parent class via a child object.
Explore and demonstrate the five types of inheritance in Python: single, multi-level, hierarchical, multiple, and hybrid, with practical code examples in PyCharm.
Learn how to use star arcs in Python to accept any number of input arguments and demonstrate calling with a list using the star syntax.
Explore the complex data type in Python, learn its syntax real plus imaginary j, and inspect the real and imaginary parts and basic operations.
Learn to write shorthand if and else statements in Python using single-line conditionals, with practical examples comparing A and B and printing which is greater.
Learn how to use the iter function in Python with list, tuple, set, and dictionary, create an iterator, and traverse elements with next, including dictionary keys by default.
Learn to add a web page title with the HTML title tag in the head, plus a practical demonstration of default title behavior.
Learn how to add line breaks to an HTML page using the self-closing br tag with a practical demo. Grounded in HTML basics, it prepares you for Selenium automation.
Learn how Selectors Hub speeds up Selenium scripting by auto-generating and manually crafting XPath and CSS selectors, with a practical Chrome install and real-world examples.
Learn to download, install, and configure Python for Selenium WebDriver on Windows, verify the setup with python --version, and prepare for PyCharm in upcoming sessions.
Type text into text box, text area, and password fields using Selenium Python's send_keys command, locating elements by id or name, and handling multi-line input and password visibility.
Store the found Selenium web element in a variable and perform multiple operations on the same element, using clear and send_keys to interact with the text field.
Learn to clear text from text fields in Selenium Python using the clear command, locating elements by id or XPath in a live web app.
Learn how to refresh a web page in Selenium Python using the driver.refresh command, a browser-level action demonstrated with Firefox, a sample URL, and a timed refresh.
Selenium Python demonstrates retrieving the HTML source code of an entire web page using the browser-level page_source command via driver.page_source, printing the HTML string from a sample page.
Learn to view a web page in full screen mode with Selenium Python using the driver.full_screen_window command across Chrome and Firefox.
Learn to retrieve a web element's HTML tag name in Selenium Python using the tag_name command, locating by id, printing the tag name, and closing the browser.
Learn to locate a web element in Selenium Python using the location command, which returns a dictionary with x and y coordinates, demonstrated with a name locator.
Set the page load timeout in Selenium Python using driver.set_page_load_timeout with a seconds value. Shows timeout exceptions when a page exceeds the limit, with a demo using Firefox and blogspot.com.
Learn how to use Selenium Python to find multiple elements on a page with find_elements, iterate through them, extract text with element.text, and retrieve URLs via get_attribute('href').
Learn to handle JavaScript alerts in Selenium Python by switching to the alert, reading its text, and accepting or dismissing, with coverage of common exceptions.
Master handling basic authentication popups in Selenium Python by embedding credentials in the url, enabling automated access to protected pages without using element locators.
Learn to handle nested frames in Selenium Python by switching from the page to a parent frame, then to a child frame, and interacting with elements inside.
Master selenium python mouse events using action chains to move to elements, perform the command, and simulate left click, right click, double click, and drag and drop.
Learn to automate mouse hovering in Selenium Python by using the move to element command via actions chains, hovering first on the blocks menu then on Selenium 143.
Automate mouse click and hold and release in Selenium Python using ActionChains, including click and hold, move to element, and release for drag and drop.
Learn to automate dragging an element and dropping it onto another using Selenium Python's drag and drop command, via ActionChains, with source and target elements and a single perform call.
Learn how to take screenshots in Selenium Python using driver.save_screenshot, naming files like homepage.png and search_page.png, and capture multiple screenshots at different steps during the script.
Learn to launch the Chrome browser directly in maximized mode using Selenium Python by configuring ChromeOptions with the start-maximized argument, and applying options to WebDriver.
Learn how to wait for an element to be clickable in Selenium Python using WebDriverWait and expected conditions to handle dynamic page loading and click a checkbox.
Learn to handle ajax calls in selenium python by implementing implicit, explicit, and fluent waits to synchronize elements that load asynchronously without page reloads.
Automate calendar type 1 handling in selenium python using a JavaScript backup method to set the date by id with a single execute_script statement when needed.
Automate calendar type file in selenium python, handling previous, current, and next month dates, and click the active date with an XPath after selecting month and year using explicit waits.
Retrieve the first row of a web table using an XPath in Selenium Python, and print the data to the console during a live project.
Learn to retrieve table data from specific rows using Selenium Python, constructing XPath and using find elements to access second, third, and fourth rows.
Compare static and dynamic tables in Selenium Python, and learn how dynamic tables update with real user activity, including front-end versus back-end contexts and automation challenges.
Learn to automate dynamic tables with Selenium Python, addressing real-time changes and using XPath to reliably select the correct records in a sales orders table.
Learn dom basics for selenium, including get element by id, get elements by name, get elements by class name, and query selector, plus innerHTML and style to interact with page.
Learn to flash a web element in Selenium Python by executing JavaScript to toggle the element's background color, looping through color changes and returning to the default color.
Learn to scrap the text from a web page using Selenium Python by executing JavaScript DOM statements, such as document.documentElement.innerText, and printing the results from the browser console.
Explore how pytest, a free and open source testing framework, lets you write small tests and access or download the public source code from GitHub.
Install pytest-html in PyCharm and configure the Python interpreter. Generate an HTML report with pytest using the --html option and view test results with environment details.
Explain and demonstrate how to use the autouse attribute in a pytest fixture to automatically run setup and teardown before every test method, without listing the fixture in tests.
Install pytest-xdist and run selenium python tests in parallel to execute six tests at once. The session demonstrates parallel execution by launching six browsers and running tests simultaneously.
Learn how to structure Selenium Python tests across multiple files using fixtures for setup and teardown, implement login and register tests, and remove duplication with pytest.
Add severity levels to Allure reports in Selenium Python tests using pytest decorators, with test and class level examples, and generate HTML reports reflecting severities like minor, normal, and critical.
Learn how to share selenium python pytest reports by converting temporary json and html outputs into a permanent link using netlify, ensuring accessible, shareable results.
Learn to take screenshots only for failed tests in selenium python with pytest by wiring a fixture that captures and attaches the image to reports.
Parameterize fixtures with pytest's params to run tests on Chrome, Firefox, and Edge. Use request.param to select the browser and perform setup and teardown.
learn to pass options from pytest commands, add a browser option, and read it in fixtures to run tests on Chrome, Firefox, or Edge.
Create and use utilities in real-time Selenium Python projects, including logging, reading configurations, reading and writing Excel data, with reusable methods.
This is a detailed course on Selenium Python, starting from basics including all the pre-requisites required for learning Selenium. This course starts with the below introduction topics:
What is Manual Testing?
What is Automation Testing?
How can an Automation Tool perform Testing?
What is Selenium?
Types of Applications that Selenium can Automate?
Official Website of Selenium
Is Selenium free or paid?
Is Selenium is Open Source?
Different Browsers supported by Selenium
Different Operating Systems supported by Selenium
Different Programming Languages supported by Selenium
Different Components in Selenium
Different versions of Selenium
Finding out the Future of Selenium using ChatGPT AI
Pre-requisites required for learning Selenium
Some basic knowledge of Software Testing is required for understanding this course. The below are the different topics on Software Testing that are covered in this course:
What is Software Testing?
How Testing is performed manually?
Why we have to go for automation testing?
In this course, we have to learn Python programming language as a pre-requisite for automating in Selenium. The below are the different topics on Python programming language that are covered in this course:
Introduction to Python
Downloading, Installing and Configuring Python
Downloading, Installing and Using PyCharm IDE
Printing in Python using Print statements
Variables in Python
Data Types in Python
Type Casting in Python
Operators in Python
Comments in Python
Operator Precedence in Python
Deleting a variable in Python
Using + for String concatenation
Storing Multi-line preformatted String text into a variable
Storing a lengthy text into a variable
Formatting Print statements in Python
Control Flow Statements in Python
Selection/Decision Control Statements in Python - if, else, elif
while loop in Python
for loop with range() in Python
break and continue statements in Python - Transfer/Jump Statements
Functions - Getting started
Function can be called multiple times
Parameterizing functions
Default Arguments in functions
Function with multiple parameters
Functions can return data
Purpose of functions
Multiple functions can be created
Collecting input from User using input() in-built function
max() and min() in-built functions in python
Local and Global Variables in Python
pass statement in Python
Collections in Python
List - Collections
Tuple - Collections
Set - Collections
Dictionary - Collections
List Versus Tuple Versus Set Versus Dictionary
Strings
in and not in operators
File Handling
Getting started with Object Oriented Programming - Classes and Objects
self in Python
Assigning method parameters to class variables using self keyword
Initializing Class Variables using methods in Python
__init__ method in Python
Static Variables, Static Methods, Instance Variables, Instance Methods
Inheritance
Types of Inheritance
Polymorphism - Method Overriding
Overloading Methods is not directly supported by Python
super() in Python
Private Variable and Private Methods in Python
Using Getter and Setter Methods with private variables in Python
Encapsulation in Python
Abstraction in Python - Abstract Classes and Abstract Methods
Modules in Python
Packages in Python
Exception Handling in Python
Lambda function in Python
Using *args in Python
Using **kwargs in Python
Unpacking Collections or range() into individual variables
Complex Data Type in Python
range Data Type in Python
Complete List of Data Types in Python
Generating Random numbers in Python
Escape Characters in Python
Using bool() function in python for evaluating values as True or False
Short Hand if and if .. else Statements in Python
User iter() function in Python with List, Tuple, Set and Dictionary
Date and Time in Python
Regular Expressions in Python
Basic knowledge of HTML is required for understanding locators which help Selenium in finding web elements on the web page. The below are the different topics on HTML Basics covered in this course:
What is HTML?
HTML Tags, Attribute Names, Attribute Values, enclosed Text and HTML Elements
Structure of HTML
Adding Title to the HTML Web Page
Adding Paragraphs to HTML Web Page
Adding Bold, Italic and Underlined text to HTML Web Page
Adding different sizes of headings
Adding hyperlinks to the web page
Adding rulers to the web page
Adding images to web page
Adding line breaks to web page
Adding table to web page
Locators is one of the pre-requisite we have to learning for learning Selenium. There are different types of locators which help Selenium in finding the elements on the web page. The below are the different topics on locators which are covered in this course:
What are Locators?
Different types of Locators
Demonstrating ID locator
Demonstrating Name Locator
Demonstrating Class Name locator
Demonstrating Link Text locator
Demonstrating CSS Selector locator
Demonstrating XPath locator
Demonstrating DOM locator
Priority of Locators
XPath Expressions in detail
CSS Selecorts in detail
SelectorsHub
XPath Expressions and CSS Selectors in detail
Selenium WebDriver is the main component of Selenium, which needs to be learnt for Selenium Automation. The below are the detailed topics which are covered in this course as part of Selenium WebDriver:
Downloading, Installing and Configuring Python
Installing, Launching and using PyCharm IDE
Installing Selenium for Python
Opening different browsers using Selenium Python on Windows
Maximizing the browser window
Opening the Application URL in Browser
Minimizing the browser window
Finding element using different locators
Clicking on different types of Web Elements
Typing text into Text Fields
Storing the Element to perform multiple operations on same element
Clearing the text from Text Fields
Retrieving the text between HTML tags
Retrieving the title of the current web page
Retrieving the URL of the current web page
Closing the current browser window
Closing all the browser windows
Retrieving the value of any HTML elements attribute
Checking whether the element is displayed on the page
Checking the display status of hidden elements on the page
Checking whether the element is enabled or disabled
Checking the selection status of radio buttons and check box fields
Navigate forward and backward in Browser
Refreshing the Web Page
View the Web Page in Full Screen Mode
Set the size of a window
Submitting the form
Taking screen-shot of the web page
Retrieving the HTML tag name of Web Element on Page
Finding the size of the web element
Finding the location of the Web Element
Finding both size and location of the Web Element
Setting page load time out for the website to open
Finding multiple elements on the web page
Finding element or elements using Tag Name
Handling JavaScript Alerts
Handling JavaScript Confirmation Dialogs
Handling JavaScript Prompts
Handling Authentication Popups
Handling Application Web Push Notifications (Permission Pop-ups)
Handling Bootstrap Dropdown
Handling JQuery dropdown
Handling Radio buttons and checkbox fields
Handling Hyperlinks
Handling StaleElementReferenceException
And many more topics
Along with the above, several topics like PyTest, Utilities, Frameworks, Jenkins, Git, GitHub, BDD Behave and Selenium Grid are covered in-depth from scratch to the advanced level in this course.