
Learn manual testing, where a software tester uses eyes and hands to test an application without automation tools, such as validating search results in an e-commerce site.
Discover what automation testing is and how it differs from manual testing, using Selenium in Python to illustrate test automation tools running tests on behalf of testers.
Discover how automation tools like Selenium execute tests only after testers write automation code, feed it to the tool, and instruct it to open browsers and run scripts.
Discover how Selenium automates the testing process as a popular test automation tool that runs tests on behalf of testers.
Explore how Selenium automates web applications that run in browsers, while desktop and mobile apps fall outside its scope.
Explore the official selenium.dev site to access downloads, documentation, projects, and support, and learn where to find updates and blog posts for selenium.
Selenium is a free tool with no license fees, and this session demonstrates downloading and installing Selenium for Python from selenium.dev, while noting language-specific setup.
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.
Explore the browsers Selenium supports—Chrome, Firefox, Edge, Internet Explorer, Opera, and Safari—and note Internet Explorer deprecation and Opera removal; verify the current list on the official Selenium site.
Identify the operating systems Selenium supports—Windows, Mac, and Linux—along with Ubuntu as a Linux flavor, and verify the latest list on the official selenium.dev downloads page.
Identify major languages supported by Selenium—Java, Python, C#, Ruby, and JavaScript—and other languages like Go, Haskell, Perl, PHP, R, and Pharo Smalltalk, with updates at the official Selenium website.
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.
Trace Selenium's version history from 1 to 4, note the current Python binding 4.8.x, and learn to verify updates on selenium.dev while focusing on changes across versions.
Discover the future of selenium test automation through ChatGPT insights, exploring its evolving ecosystem, cloud-based testing adoption, tool integrations, and mobile testing potential with Appium.
Identify the essential prerequisites for learning selenium, including web technologies basics (html, css, dom), software testing concepts, locators, sql, and basic programming with python.
Discover the basics of software testing, including manual testing and automation with Selenium. See how regression testing and automated test cases streamline checks across versions.
Explore Python as the starter language for Selenium, explain choosing Python or another language, and preview upcoming topics from installation to advanced Python concepts used in Selenium.
Discover Python's popularity, open source and free nature, and ease of learning, as it powers machine learning, AI, and data science.
Learn to download, install, and configure Python on Windows, add Python to the system PATH, and verify the installation by checking the Python version in the command prompt.
Download and install PyCharm IDE (community edition) and learn to create a new Python project. Apply camelcase naming and run a simple print demo to verify output.
Learn to use Python print statements to print text and numbers, using quotes for text and direct numbers. Explore using end to keep output on one line and add spaces.
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.
Explore data types in Python using the type function to identify int, float, string, boolean, list, tuple, and dictionary, and see dynamic typing in action.
Learn type casting in Python by converting between int, float, and string, with practical examples like 1.25, numeric strings, and handling type errors.
Master Python operators through practical demos of arithmetic, assignment, relational, and logical operators, exploring operands and operator usage with clear examples.
Learn how to use Python comments to explain code and disable sections, using single-line hashes and multi-line triple quotes, with practical demonstrations.
Explore Python operator precedence: parentheses have the highest priority, exponential first, then multiplication, division, modulus, and finally addition and subtraction; equal-priority operators evaluate left to right.
Delete a variable in Python using the del keyword, demonstrated in PyCharm. See how printing the variable after deletion triggers a name not defined error.
Learn python string concatenation with the plus operator, join first and last names with space, and resolve type errors by converting numbers with str() or using a comma.
Learn to store multi-line preformatted text in Python by assigning a poem to a variable using triple quotes, preserving exact line breaks and spaces.
Learn how to store a lengthy text in a Python variable using line continuations with backward slashes in PyCharm, and print it with multi-line formatting using \n for new lines.
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.
Explore how Python control flow statements alter execution order, covering selection statements (if, elif, else), loops, and transfer statements (break, continue, return, try/except).
Explore Python's selection statements—if, else, and elif—and how they control code flow based on conditions. See practical demonstrations of indentation, true and false branches, and end-of-program printing.
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.
Master Python for loops with range by exploring start, stop, and step, printing sequences from 0 to 9 or 1 to 10, and using an else block to signal completion.
Explore python break and continue statements, transfer or jump statements in control flow, with for and while loops; learn how break exits a loop and continue skips the current iteration.
Learn how to define and use functions in Python, using the def keyword and snake_case naming, understand function blocks, indentation, and why calling a function executes its code.
Learn how to call the same function multiple times in Python, see how the function body executes on each call, and observe the printed results across repeated invocations.
Learn how to parameterize Python functions by adding parameters with def, and understand the difference between parameters and arguments through practical code in PyCharm.
Explore default arguments in Python functions and learn how to call a function without passing a value, using a default argument to avoid errors.
Create and use a Python function with multiple parameters, then call it with four arguments to print their sum. The example passes 3, 2, 9, and 6, yielding 20.
Explore how Python functions return data with the return keyword, converting from print to return, and passing arguments to capture results in variables.
Learn how Python functions encapsulate a block of code to avoid repetition, call them with arguments to compute sums, and print results.
Learn to create multiple functions in a single Python file and practice basic arithmetic operations—add, subtract, multiply, and divide—with practical function examples.
Learn how to collect input from users in Python using the inbuilt input() function, understand that inputs are strings by default, and convert them to integers for arithmetic and formatting.
Learn how to use the max() and min() inbuilt functions in Python to find the largest and smallest numbers in a list, and apply them to strings to compare alphabetically.
Explore local and global variables in Python, learn variable scope inside and outside functions, and use the global keyword to modify global state.
Learn how to use pass statements in Python to create placeholder functions, loops, and conditions for future implementation, with practical examples.
Explore how collections in Python are data types that store multiple values in a single variable, including list, tuple, set, and dictionary, with a practical colors list example.
Master Python lists: creation, indexing, slicing, looping, updating, appending, inserting, removing, sorting, nesting, and common methods like count, max, min, sum.
Explore Python tuples as immutable collections, contrasting them with mutable lists and covering creation with parentheses, indexing, slicing, and common operations like count, min, and max.
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.
Explore Python dictionaries, a collection of key-value pairs, by creating, printing, retrieving values with get or brackets, iterating with for loops, and using keys, values, and items.
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.
Master Python file handling by opening, writing, reading, and closing files, using write, read, readlines, read line, and append mode to manage text with newlines.
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.
Learn how to initialize class variables using a method in Python by defining a car class with an initialization method that sets brand, model, price, and mileage for each object.
Discover how the __init__ method in Python serves as a constructor to initialize class variables automatically during object creation, reducing boilerplate by passing arguments at instantiation.
Explore static variables and static methods versus instance variables and instance methods, including class memory versus object memory, and accessing static members via the class name, car 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.
Explore method overriding in Python and see how child classes override parent properties and methods, including variables, driving polymorphism.
Python does not support direct method overloading; learn an alternative using a single method with default parameters and conditional logic to handle no arguments, one argument, or two arguments.
Learn how super in python accesses parent class properties and calls the parent __init__ from a child class, demonstrated with class A and class B in practical examples.
Demonstrates private variables and private methods in Python, showing how they stay accessible inside a class but are inaccessible from outside, with a class example and print details method.
Learn to access private variables in Python from outside the class by implementing non-private getter and setter methods to read and set a class-level private variable.
Encapsulation wraps data and code inside a class, creating a unit where variables are private. Use getter and setter methods to access and modify private variables.
Learn how Python uses abstract classes and abstract methods with the ABC module to enable partial implementation, enforce implementing all methods in subclasses, and use constructors in abstract classes.
Learn how to create python modules with functions and classes, import and call module methods, and use built-in math and random modules for sqrt, pi, and choice.
Learn how to organize Python projects with packages, moving modules into folders, and access them via import statements such as package.module, including parent and child packages.
Learn how to handle runtime errors in Python using try-except blocks, manage zero division, type errors, and name errors, and use else, finally, and raise for robust code.
Explore nameless lambda functions in Python that can take any number of arguments and return a single expression, demonstrated with practical examples using the lambda keyword 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.
Learn how kwargs (the double star) in python enables passing any number of key-value arguments to a function and unpacking dictionaries with **. Compare this with *args for positional values.
Learn how to unpack lists, tuples, sets, and dictionaries into individual Python variables, and how to unpack ranges, with practical PyCharm examples that illustrate keys, values, and order.
Explore the complex data type in Python, learn its syntax real plus imaginary j, and inspect the real and imaginary parts and basic operations.
Demonstrates the Python range datatype with practical examples using for loops, indexing, and slicing to produce sequences like 0–2 and 1–4, controlled by begin, end, and step.
Master the complete list of Python data types, including string, int, float, complex, list, tuple, range, dictionary, set, and frozenset. Learn how sets are mutable and frozenset is immutable.
Learn to generate random numbers in Python using the random module, with examples using random, randint, and randrange, including inclusive ranges and the key difference between randint and randrange.
Explore how Python handles escape characters, including backslash escapes for quotes, backslashes, newlines, tabs, carriage returns, and backspaces, with practical demonstrations.
Learn how the bool() function in python evaluates values to true or false, with examples for numbers, strings, lists, tuples, sets, dictionaries, None, and booleans.
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.
Explore working with dates and times in Python using the datetime module. Learn to print date and time portions, extract year, month, day, hour, minute, second, microsecond, format with strftime.
Master regular expressions in Python by using the re module to search patterns in text, with practical examples of starts with, ends with, character classes, and pattern matching.
Explore HTML basics as a prerequisite for Selenium, and learn how HTML elements power locators, with an overview of tags, attributes, and page structures.
Learn html basics, including what html stands for and how it builds web pages, and how to view and inspect html source for Selenium id and locators.
Master HTML basics for selenium, including tags, attribute names and values, enclosed text, and HTML elements, with practical demonstrations of start and end tags and single tags.
Learn the structure of HTML through a practical walkthrough of the HTML, head, and body tags, and see how the title tag defines the page title.
Learn to add a web page title with the HTML title tag in the head, plus a practical demonstration of default title behavior.
Demonstrates how to add paragraphs to HTML pages using p tags inside the body, with practical steps in notepad++ and saving as paragraphs.html.
Learn to add bold, italic, and underlined text in HTML using b, i, and u tags. The tutorial demonstrates practical HTML coding and viewing results in a browser.
Explore how to add different sizes of headings to HTML pages using h1 through h6 and learn heading hierarchy, reinforcing selenium basics for web pages.
Add hyperlinks to HTML pages using the anchor tag and href attribute, and open links in a new tab with target _blank.
Explore HTML basics for Selenium by demonstrating how to add horizontal rulers to a web page using self-closing tags, in a notepad plus plus file and preview in Chrome.
Add and display images on HTML pages using the img tag and its src attribute. See a practical demo that saves images.html and renders a logo in the body.
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 to build an HTML table with two columns (ID and name), include a heading row and data rows, and add a border for clear display.
Explore locators as prerequisites for Selenium, and learn various locator types such as name, class name, link text, CSS selectors, XPath, and DOM locator, including building your own expressions.
Discover what locators are and why Selenium relies on them to locate UI elements, then see a practical demo locating a search box and a button on an e-commerce page.
Learn the different types of locators in Selenium, including id, name, class name, link text, CSS selectors, XPath, and DOM, and how Selenium IDE demonstrates locating elements.
Explore using the id locator in Selenium to locate a button, including inspecting the element and copying its id attribute value for a live demonstration.
Demonstrate locating a text box with the name locator in Selenium IDE, verify the name attribute in HTML, and build a practical locator value for the omega.blogspot.com example.
Learn how to use the class name locator in selenium, see why selenium IDE cannot demonstrate it, and note that future webdriver sessions will cover it once available.
Demonstrates the link text locator in selenium, locating a hyperlink by its anchor text through a practical selenium ide demo on a sample page, highlighting the link to verify detection.
Demonstrate the css selector locator in selenium ide. Show how to generate and copy the selector, then locate the button and trigger the alert.
Demonstrates using the XPath locator in Selenium, including the syntax 'XPath is equal to', generating and verifying an autogenerated XPath to locate a web button with Selenium IDE.
Demonstrate dom locators in Selenium by locating elements with dom methods in Chrome, validating their accuracy, and introducing locator priority for choosing the best locator.
Identify the priority of locators in selenium, showing how the same element can be found by id, name, class name, link text, CSS selector, XPath, or DOM locator.
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 craft XPath expressions and CSS selectors from scratch, understand absolute vs relative locators, XPath axes, and practical steps without relying on auto generation tools.
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.
Install, launch, and use PyCharm IDE (community edition) on Windows to write and run selenium Python automation scripts; create a sample project and run a simple Python print.
Install Selenium for Python using pip, set up in PyCharm, and run a sample WebDriver script to launch Chrome. Learn basic setup steps and start writing Selenium Python code.
Open Chrome, Firefox, and Edge using Selenium WebDriver in Python on Windows, with import guidance and practical demos, while noting Safari on Mac and browser support limitations.
Master how to maximize the browser window in Selenium Python using the driver maximize window command, demonstrated with Firefox and WebDriver in a practical setup.
Learn to open a web app URL in a browser with Selenium Python using the driver.get command, and ensure a valid http/https URL is copied to avoid invalid argument errors.
Learn how to minimize a browser window with Selenium Python using the minimize_window command, demonstrated via a live demo that maximizes, waits, and then minimizes Firefox through WebDriver.
Explore how to locate web elements in Selenium Python using id, name, class name, link text, XPath, and CSS selectors, and execute actions with the find_element command, send_keys, and click.
Learn to use Selenium Python click command to interact with buttons, hyperlinks, checkboxes, radio buttons, text fields and text areas, and dropdowns by locating elements and applying click in WebDriver.
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 to retrieve text between HTML tags with Selenium Python using the text command, locating elements by id, printing the result, and recognizing cases where text isn't between tags.
Learn to retrieve the current page title in Selenium Python using the browser level command driver.title, print it, then click a link to get and print the updated title.
Learn how to retrieve the current page URL in selenium python using driver.current_url, print it, and handle navigation between pages with clicks.
Demonstrates closing the current browser window in Selenium Python with driver.close, showing it closes only the active window, not child or popup windows, while focus stays on the parent.
Learn how the Selenium Python quit command closes all browser windows, including current and child windows, and how it differs from the close command, with a live demonstration.
Master retrieving any HTML element attribute in Selenium Python using the get_attribute command, including extracting textarea columns and button labels by locating elements and reading attribute values.
Learn to verify element visibility in Selenium Python using the is_displayed command, with practical examples on text areas and login pages using various locators.
Learn how to verify the display status of hidden elements with selenium python using the is_displayed command, showing how a hidden button on blogspot.com returns false.
Learn how to check if an element is enabled or disabled in Selenium Python using is_enabled. See practical examples comparing an enabled button and a disabled button.
Demonstrates using Selenium Python to check if radio buttons and checkboxes are selected with the is_selected command, using id and XPath locators in a Firefox session.
Navigate forward and backward in the browser using Selenium Python's driver.back and driver.forward, a browser-level command demonstration in this live project.
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 set the browser window size in Selenium Python with the set_window_size command, demonstrated in a Firefox session using driver.set_window_size(width, height) and a practical example.
Learn to submit a form in Selenium Python using the submit command on a form element, demonstrated with a login page and email, password fields.
learn to take web page screenshots in selenium python using save_screenshot and get_screenshot_as_file, including browser level commands, file paths, and practical login page examples.
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.
Discover how to find a web element’s size in selenium python by using the size command to retrieve a height and width dictionary, then access values with dictionary get.
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.
Learn to use the rect command in Selenium Python to obtain a web element's size and location, including x, y coordinates, width, and height, in a single call.
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').
Explore locating elements in Selenium Python using by.tag_name with find_element and find_elements. See practical examples with text area and anchor tags, and retrieve href attributes.
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.
Learn to handle JavaScript confirmation dialogs in Selenium Python by switching to the alert, reading text, and choosing accept or dismiss; distinguish from information alerts.
Learn to handle javascript prompts in selenium python by switching to prompt alerts, using a text entry step with send_keys, and choosing accept or dismiss to submit or cancel.
Master handling basic authentication popups in Selenium Python by embedding credentials in the url, enabling automated access to protected pages without using element locators.
Disable web push notifications (permission popups) in Chrome using Selenium Python by configuring Chrome options, passing them to the WebDriver, and using the --disable-notifications argument.
Learn how to automate bootstrap modal dialogs with Selenium Python, locating elements on the same page, retrieving heading and text, and closing the dialog using Selenium waits.
Learn to handle accept all cookies dialogs with Selenium Python by locating the dialog with XPath and clicking it, then continue automating web page actions.
Learn how to handle lightboxes in Selenium Python by locating and closing the lightbox directly on the same page using XPath, without switching to alerts.
Understand selenium's default page load timeout of five minutes for web pages, after which a timeout exception occurs; the driver waits for a full page load before actions.
Learn to handle html dropdown fields with selenium python by creating a select class object and using visible text, index, and value to select options.
learn to handle multi selection box fields (list boxes) in selenium python. use the select class to select and deselect options by visible text, index, and value, enabling multiple selections.
Explore handling bootstrap dropdowns with Selenium Python by clicking the dropdown button and selecting an option via XPath, using id-based locators when possible.
Automate jQuery dropdowns with Selenium and Python, showing how to click the dropdown, select multiple options via XPath, and close the menu using robust locators.
Learn to automate radio buttons and checkbox fields in Selenium Python using click and is selected, with practical examples of selecting, deselecting, and state verification.
Master hyperlink automation with selenium python by clicking links, counting hyperlinks via find_elements and xpath, and using dynamic xpath to avoid stale element reference exceptions after navigation.
Learn to diagnose and fix stale element reference exceptions in Selenium Python by reattaching the web element after navigating away and returning, or by reusing driver.find_element to perform actions again.
Discover the difference between iframes and frames, and learn practical techniques to switch to the correct frame in Selenium Python using id, name, web element, or index.
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.
Learn to handle parent, child, and sibling frames in Selenium Python by switching between frames, returning to the parent when needed, and extracting text with xpath and id.
Learn how to handle and disable the Chrome info bar during Selenium Python automation by configuring Chrome options with exclude switches, enable automation, and disable the use automation extension.
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.
Learn to automate a mouse left click in Selenium Python using ActionChains, identifying the target by id and clicking a link with a driver, including timing.
Automate sliders in Selenium Python using mouse events and drag-and-drop by offset with ActionChains, handling horizontal and vertical sliders via XPath locators and offset values.
Learn to automate mouse right click in Selenium Python using the context click from ActionChains. Apply it to a search box web element and observe the right-click options.
Learn to automate the mouse double click in selenium python using the action chains double_click command, identifying the target element by id, and executing the action to reveal dropdown options.
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 use selenium python keys class to simulate keyboard input, pressing enter or tab via sendkeys or action chains for login automation.
Master Selenium Python's key down and key up commands via action chains to hold the Ctrl key, click links, and open them in new tabs.
Learn to handle auto-suggestive dropdowns with selenium python, including typing, using arrow keys, and pressing enter on the makemytrip example.
Learn to resize a web element in Selenium Python by dragging with an offset, switching to frames, and using action chains to perform the drag and drop.
Learn to automate a jQuery right-click menu with Selenium Python. Use an action chain to perform a context click on a button, then choose the quit option.
Demonstrate using selenium python actionchains to pause and send keys, simulate tab and spacebar navigation, and fill a registration form with delays and a final continue action.
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 how to take screenshots in Selenium Python using get_screenshot_as_file, compare it to save_screenshot, and capture multiple pages (homepage and search page) as PNG files.
Learn to capture a screenshot of a specific web element in Selenium Python by locating the element with XPath and using the element's screenshot command, saving as a PNG file.
Learn to take a screenshot of a page section with selenium python by locating the section via its id and saving the image as section.png.
Execute JavaScript in Selenium Python with the execute script command to run code, such as displaying an alert on a web page during a browser session.
Learn to compute a web page's total height in selenium python by executing javascript to return the maximum of body and document element heights, enabling dynamic page sizing.
Learn to run Selenium Python scripts on Chrome in headless mode. Create Chrome options, add the headless argument, and pass options to the Chrome constructor for invisible execution.
Capture full-page screenshots in Selenium Python by running headless, computing page height with JavaScript, setting the window to full size, and saving the body screenshot as a PNG.
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 launch Chrome in full screen mode with Selenium Python by using either driver.full_screen_window or Chrome options with the kiosk argument.
Learn to handle multiple windows and tabs in Selenium Python by switching between parent and child windows using window handles, current window handle, and driver.switch_to.window.
Explore the Selenium 4 new window command to handle multiple windows or tabs, enabling you to automate two applications in parallel within a single script.
Demonstrate handling multiple windows in Selenium Python and explain NoSuchWindowException when switching to an invalid window id with practical PyCharm examples.
Implement smart waiting in Selenium Python by using implicit waits for global timing and explicit waits for specific elements with WebDriverWait and expected conditions like visibility of element located.
Learn how to implement fluent wait in Selenium Python, an advanced explicit wait that customizes polling frequency and ignored exceptions, contrasting with implicit and normal explicit waits.
Learn how to wait for an element to be visible in Selenium Python using WebDriverWait and expected conditions, demonstrated with waiting for the Flipkart option.
Learn to wait for the presence of an element in selenium python. Distinguish visible from present, including hidden elements, using presence_of_element_located.
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 wait for an element to disappear with invisibility_of_element_located in selenium python, including dynamic loading, then retrieve the hello world text after the progress bar vanishes.
Learn how to wait for a JavaScript alert with Selenium Python, then read the alert text and accept it using an explicit wait and alert handling.
Learn to handle ajax calls in selenium python by implementing implicit, explicit, and fluent waits to synchronize elements that load asynchronously without page reloads.
Learn how Selenium synchronizes with the browser by default and apply implicit and explicit waits (including fluent wait) to handle ajax-based elements, ensuring reliable interactions.
Learn to handle dynamic XPath expressions in Selenium Python by building a dynamic XPath in a loop to click multiple links in a page section, including navigating back with pauses.
Learn to automate calendar type one with Selenium Python: wait for Ajax calendars, navigate month and year, and select a day using a reusable function.
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.
Learn to automate calendar type two with Selenium Python, adapting to a distinct calendar UI, handling ajax loading, waiting for visibility, and selecting year, month, and a travel date.
Automate selecting past dates in a web calendar with Selenium Python, handling calendar display, waiting for visibility, and navigating to August 17, 2022 using previous controls.
Learn to select past and future dates in a calendar using a single Selenium Python program. The lesson demonstrates explicit waits, dynamic date handling, and calendar navigation.
Learn to automate calendar type 3 in Selenium Python by clicking the calendar icon and using send keys to enter date and time, then submit, using name locator and XPath.
Demonstrate handling calendar type four with Selenium Python by waiting with WebDriverWait for the Ajax calendar, then selecting month and year from dropdowns and choosing the 25th date.
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.
Learn to automate calendar type six with Selenium Python by clicking the calendar icon, waiting for the ajax calendar to appear, and selecting today's date using an id-based locator.
Explore prerequisites for automating HTML tables with Selenium Python, including HTML table structure, table head and body, and crafting XPath expressions to locate tables, headings, and data.
Learn to retrieve table headings using Selenium Python by locating the table's th elements with XPath, iterating over them, and printing name, age, and place in the PyCharm console.
Learn to retrieve table data with Selenium Python by locating the table via XPath, iterating over all cells, and printing results to the output console.
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.
Retrieve the second column data from the third row of a table using Selenium Python and XPath, locate the element with driver.find_element by XPath, and print the text.
Learn to extract all data from the third column of a web table using Selenium Python, crafting an XPath to print Delhi, Pune, Bangalore, and Mumbai.
Learn to find the number of rows and columns in a table using Selenium Python with XPath and len, and print results to the console.
Learn to print an entire table using Selenium Python automation with WebDriver, including locating rows and columns, crafting dynamic XPath expressions, and printing table data to the output console.
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 to simplify Selenium dynamic table handling with XPath axes, constructing dynamic XPath expressions to locate rows by customer name and select checkboxes with minimal code.
Learn to handle dynamic tables with pagination in Selenium Python by iterating pages, locating records, and selecting checkboxes across pages.
Learn to use the JavaScript executor in Selenium Python to run JavaScript code that displays alerts, prompts, and confirmations with driver.execute_script.
Explore how JavaScript makes HTML dynamic, and how dom statements enable selenium automation with on-click events and techniques like document dot get element by id and style dot color.
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.
Discover how to click elements in Selenium Python when the native click fails by executing JavaScript, with two methods: a DOM statement or a Selenium-located element using JavaScript arguments.
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 how to highlight a web element in Selenium Python by applying a 3px solid red border using JavaScript executed from Selenium, demonstrated with a search box element.
Learn how to retrieve a web page title in Selenium Python using JavaScript, compare it to the Selenium title command, and observe a quick execute_script approach with document.title.
Learn how to retrieve a web page URL in Selenium Python by using the current URL command and a JavaScript approach with driver.execute_script, comparing speed and practicality.
Learn how to enter text in selenium python using send_keys and, when it fails, the JavaScript approach with driver.execute_script to set a field’s value.
Learn to select a date in a calendar field with Selenium Python, using normal WebDriver commands and a JavaScript execute_script backup when standard methods fail.
Learn to refresh a page in Selenium using the built-in refresh command and by executing JavaScript, including driver.execute_script and history.go(0), with practical speed comparisons.
Learn to scroll a web page in Selenium Python until a target element becomes visible by executing JavaScript with execute_script and using the scrollIntoView method on the element.
Learn to scroll a long page in Selenium Python by executing JavaScript with driver.execute_script, using window.scrollTo and the page height to reach the end.
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.
Demonstrate how to run JavaScript code from Selenium Python using execute_script and show how a missing closing bracket causes a JavaScript exception.
Explore Pytest, a Python unit testing framework, and learn how it powers Selenium automation projects with features like flexible test flow, grouped execution, parallel runs, and rich reports.
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.
Explore the official pytest website at pytest.org to access comprehensive documentation, learn how to use pytest, and start with installation steps to get started with pytest.
install pytest in the PyCharm editor by running pip install pytest in the terminal and verify with pytest --version, then install pytest via the Python interpreter settings.
Learn how to run test methods with pytest, including naming rules (test_ prefix) for files and methods, package structure, and using flags to view test output in PyCharm.
Learn how assertions in pytest determine test outcomes using the assert keyword to verify conditions, explore failing and passing cases with practical examples, and run tests with pytest.
Explore pytest flags for test discovery and output. Use -h/--help and -v for verbose names, -r for details, and -k with regex to run tests; ensure tests start with test_.
Learn to run pytest tests from the terminal or PyCharm, edit configurations, and selectively execute test methods in a package or file, with results shown as dots and failures.
Generate a JUnit XML report with pytest using the --xml=path flag. Inspect flags with pytest --help and open the resulting XML file to create customized reports.
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.
Learn how to mark pytest tests with user defined markers such as smoke and regression, and run selective tests with the -m flag or regex.
Learn to create custom markers in pytest to avoid unknown marker warnings and run tests using -m smoke or -m regression.
Learn to skip a test from running by using pytest's inbuilt skip marker, demonstrated with a sample file where the middle test is skipped during runtime.
Showcases how to use the xfail marker in pytest to tag tests that will fail or pass, and demonstrates how they appear under expected fail or expected pass categories.
Explore how to parameterize a test with pytest's built-in marker, converting it to a data-driven test that runs for multiple data sets like username and password.
Run pytest tests from the Windows command prompt, stepping beyond PyCharm to run tests from the terminal, and use -v with print statements for detailed per-test results.
Group tests in pytest using user defined markers to categorize them into smoke, regression, and sanity, then run specific groups with the -m option.
Learn how to use fixtures in PyTest to run setup and teardown code around each test, using the yield keyword to separate setup from teardown, with practical Selenium tests.
Create a centralized pytest fixture in conftest.py to run setup and teardown before and after every test, avoiding duplication across multiple files by centralizing the configuration.
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.
Learn how to use the scope attribute in pytest fixtures, with practical demonstrations of function and session scopes and their impact on setup and teardown.
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.
Switch the PyCharm default test runner from unit test to py test, then run a single py test using the run option beside the desired test.
Discover how hook functions in pytest run setup and teardown like fixtures, either before every test or once before all tests. Learn naming requirements and practical implementation.
Learn how soft assertions in pytest differ from hard assertions, enabling continued test execution and multiple verification results, with practical setup using pytest-soft-assertions and the --soft-asserts flag.
Learn how to integrate selenium code with pytest in a hands-on PyCharm project, install selenium and pytest, create test files, and run end-to-end browser tests with Chrome.
Master running multiple selenium tests with pytest in a live project, creating sequential test cases for search scenarios, validating results with assertions, and learning to reduce duplication across tests.
Create a pytest fixture to remove duplicate steps across selenium tests in Python, share a global driver, and use yield for setup and teardown.
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.
learn to centralize a duplicated pytest fixture by moving it to a common conftest-like file, import it in tests, and avoid duplication, while noting driver access may need future handling.
Apply the usefixtures decorator to pass a common driver fixture from a central config to individual test methods, organizing tests into classes and removing duplicate setup code.
Use the request fixture to share a Selenium WebDriver across PyTest tests in a Selenium Python live project, solving driver passing, self-parameter, and scope issues across multiple files.
Learn to generate advanced allure reports for Selenium Python tests by installing Java and Node.js, configuring pytest and allure, and serving an HTML report with allure serve.
Learn to attach screenshots to Allure reports in Selenium Python tests using Pytest, demonstrating taking PNG screenshots with the driver and attaching them to the report.
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.
Learn to collect and document logs during Selenium Python automation by configuring logging to write info level messages to a log file with timestamps, using logger.info to trace execution.
Learn how to read from configuration files in Python using configparser to centralize url, browser, and locators in config.ini, removing hardcoding and reducing maintenance.
Master reading data from Excel files in Python using openpyxl. Load workbooks, access sheets, and iterate rows and columns to retrieve cell values for data driven Selenium tests.
Learn how to write data into Excel files using Python and openpyxl, including creating a new role column, writing values across rows, and saving the workbook.
Create and use utilities in real-time Selenium Python projects, including logging, reading configurations, reading and writing Excel data, with reusable methods.
Learn data driven testing in selenium python by reading test data from an excel file using pytest parameterization, openpyxl, and a reusable excel reader utility. It covers setup and parameterization.
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.