
Explore Python’s general purpose, interactive, object oriented, high level design, its open source nature, cross platform support, and its use in data science, machine learning, web and more.
Install Python on Windows by downloading the exe from the Python website, running the installer, updating the Python path in the environment variables, and verify with python --version and pip.
Download the latest version of Python from python.org/downloads for Mac, run the installer and complete setup, then verify success by opening Terminal and executing python3 --version and pip3 --version.
Explore the editor concepts and install PyCharm for Python development, including downloading, installing, and launching on Mac and Windows, with a preview of Eclipse as an alternative.
Create a PyCharm project, add a Python file, and write code with comments to improve readability, using # for single-line and triple quotes for multi-line comments, and print hello world.
Explore how Python handles variables and data types, including integers, floats, and strings. Develop meaningful names, perform arithmetic, print results, and use type and isinstance to verify data types.
Explore Python lists: store multiple items of mixed types in an ordered, mutable container, access by index, and use append, insert, remove, and len to manage data.
Explore Python lists with indexing, negative indexing, slicing, and the in operator; practice count, sorting (ascending and descending), reverse, and modifications with remove, pop, del, and copy.
Explore Python set operations with add, update, discard, remove, and pop on two sets; test membership, copy, clear, and compute intersection and union.
Explore tuples as immutable collections similar to lists; learn how to access values by index, maintain insertion order, allow duplicates, and use length to count elements.
Learn how tuples remain immutable in Python, perform index-based access and slicing, check presence with in, count occurrences, and convert to a list for modifications before converting back.
Explore Python dictionaries through three definition approaches, learn insertion order, and master add, delete with del or pop, clear, and access with get, items, keys, and values.
Demonstrate while loop usage in Python, contrast with for loops, control execution with a condition, prevent infinity loops, and increment a until ten, noting < vs <=, with WebDriver examples.
Create a Python function with arbitrary arguments to sum inputs, using a tuple and a for loop. Clarify function versus method and returning multiple values as a tuple.
Explore the scope of variables in Python, distinguishing local and global variables, and using the global keyword to access and update globals inside functions.
Learn how to define a class, the blueprint for objects, in Python's object oriented programming language, create objects, and use attributes, behaviors, docstrings, and self in methods.
Explore static methods in Python, learn how to define them with a decorator, access them via class or object, and distinguish from instance methods through a practical student example.
Explore inheritance by showing how a parent class passes information to a child class and outline single level, multi level, hierarchical, and multiple inheritance.
Explore how overriding lets a child class replace a parent method’s logic, using a parent buy land example and a child’s overridden buy land method.
Learn what a Python module is and how it enables reusability by grouping functions in a file. Import whole modules or specific functions for Playwright scripting.
Learn how to access a class defined in another Python file by importing the module and instantiating the parent class, or by directly importing the class and calling its greeting.
Learn about anonymous lambda functions in Python, defined with the lambda keyword for single-line expressions. Discover how lambdas enable concise, readable code and high order functions.
Explore Python exception handling with try, else, and finally blocks; learn when the else runs after a successful try and how finally executes regardless of errors, including practical examples.
Learn how to configure pytest in PyCharm, create basic test scenarios named with test, and run login and logout tests to generate execution reports.
define preconditions and postconditions in pytest using function- and module-level setup and teardown, and replace duplicate code with fixtures and decorators using scope function or module and yield for teardown.
Learn to group, skip, and run focused tests with pytest markers like sanity and smoke, and use parameterized data for login tests.
Learn to control test execution order in pytest using the Pi tester order, assign numeric orders to login, search, create, edit, delete, logout, and use before/after to enforce sequence.
Explore Playwright, an open source framework by Microsoft for web automation testing across desktop and mobile browsers. Leverage its support for multiple languages, headless or headed mode, and built-in reporting.
Explore how Playwright Python bridges code to the browser via the core, with browser, browser context, and page layers, using lean builds of Chromium, WebKit, and Firefox.
Install Playwright for Python by upgrading pip, installing the Playwright package, and running Playwright install to download browser engines, demonstrated within a PyCharm project.
Explore the differences between Python's sync and async Playwright APIs, including when to use await, how concurrency enhances performance, and practical examples contrasting sequential vs parallel execution.
Explore a first Playwright script in Python using the sync API to launch Chromium, open a page, print its title, and close the browser, with notes on the async API.
Install pytest-playwright and compare it with the traditional playwright setup to run browsers in headed or headless mode and capture screenshots, videos, and traces.
Execute tests in headed mode with pi tester to launch the browser visually. Use --browser to pick chromium, firefox, or webkit, and enable video or screenshot capture as needed.
Record and generate Playwright tests with codegen by capturing interactions, create locators and assertions, and convert the output to Python pytest scripts for headless browser testing.
Explore the Playwright trace view to record, view, and analyze test traces with the trace viewer, tracing options, and trace zip data, including actions, metadata, and locators.
Explore how locators identify unique elements on web pages for Playwright automation, using attributes, DOM insights, and built-in strategies like by role, by text, by label, by placeholder.
Explore using page.get_by_label to locate and fill form fields by label in a Salesforce signup form, and learn how to integrate GitHub Copilot AI in PyCharm for easier test automation.
Explore locating form fields by placeholder text with page.get_by_placeholder in Playwright. Fill username and password fields on a label-less login form using the placeholder values.
Learn to identify elements by exact text or by title with Playwright's page.get_by_text and page.get_by_title, click elements, handle multiple matches, and validate navigation changes.
Explore page.get_by_alt_text() and page.get_by_test_id() in Playwright with Python to locate image elements by alt text and data test id, then click to navigate sites like bing.com.
Identify elements with CSS selectors in Playwright using built-in locators, IDs, classes, placeholders, and attribute-based selectors. Avoid long CSS or XPath chains to keep tests fast and stable.
Learn how to locate web elements with XPath using multiple attributes with and/or logic, and leverage contains, starts with, and exact or partial text matches for element identification.
Learn to locate elements with XPath in Playwright using index, position, last, and siblings, and handle dynamic elements with contains and starts with.
Master handling shadow dom in playwright with page.get_by_text or a locator with a tag name, then click the last matching 'try for free' element inside a Salesforce shadow root.
Explore hard and soft assertions in playwright with Python, covering to be checked, to be enabled or disabled, to be editable, visible, and text or count validations with practical examples.
Learn to handle text fields in Playwright by locating username and password fields with role-based and locator strategies, then fill and clear values while validating visibility and editability.
Learn to extract a button’s text on makemytrip.com using Playwright with Python, employing get by role, inner text, and locator techniques, and print the value to the console.
Learn to extract texts from all buttons using Playwright's all_text_contents with an XPath, print results, and verify a username field placeholder with get_attribute and to_have_attribute in pytest.
Master handling multiple checkboxes in a Playwright Python script by selecting all checkboxes with get by role, counting them, and looping through indices to check or uncheck with delays.
Select multiple values from a multi select dropdown using get by role as a list box, then print all option texts with a simple for loop.
Demonstrate all text content vs all inner text by showing that inner text removes extra spaces while text content preserves them, then loop through and print text from multi-select options.
Learn to handle dropdowns without selector tags in Playwright by clicking the dropdown and selecting an option by visible text using XPath indexing with brief waits.
Master handling frames in web automation by switching to iframes with a frame locator, identifying frame HTML, and performing actions inside the frame with Playwright.
Identify frames using a frame locator or frame object by name or URL, switch into frames, and manage nested child frames with indices and updated locators to interact.
Learn to handle a jQuery UI date picker inside a frame by opening the calendar from a text field and selecting a date with a css selector and next-month option.
Learn to dynamically handle web tables by looping through all rows and cells using row counts, retrieving each td text, and printing results to the console for robust automation.
Fetches and prints complete webtable data by iterating through rows and columns, retrieving each cell's inner text, and displaying full row and column information.
Learn how to handle web page alerts, confirmations, and prompts in Playwright by registering a dialogue handler before the triggering action, with lambda or function options to accept or dismiss.
Learn to handle alerts in Playwright with Python by retrieving alert text via dialog data type, printing the message, and validating alert type and message with assertions.
Handle auto suggestions in Playwright automation with Python: fill the text box, wait for suggestions, locate items by class name or parent, and print results to the console.
Demonstrates Playwright's auto waiting, which checks visibility, enablement, and editability before actions, and shows how to adjust the default 30 second timeout and use wait for timeout.
Explore auto waiting in playwright with practical examples, using wait for selector, wait for state, and page.locator to handle visible elements and timeouts, including per-command timeouts.
Utilize page.wait_for_url to pause until a specific URL loads, with a 30-second timeout, and observe login flow and URL mismatch handling.
Capture screenshots with Playwright: take a page screenshot, a full-page capture, or a specific element; use dynamic timestamps to avoid overwriting and ensure reliable results.
Discover how a browser context creates isolated, reproducible test environments using a browser, a context, and a page, with Playwright launching Chromium.
Configure a Playwright browser context to capture videos by setting a recording directory, optionally specify height and width, run the script, and verify the saved video file.
Learn to configure pytest via pytest.ini to auto-apply options like headed mode, browser, tracing, video, and screenshot on failure, with practical examples across firefox, webkit, and chromium.
Configure the Playwright test suite using a python ini file, defining reruns, rerun delay, slow motion, and browser options to ensure reliable execution and observable retries.
Execute Playwright tests on mobile emulators by configuring a device in the terminal or an ini file, selecting devices like iPhone SE or iPhone 13 Pro Max for responsive previews.
Learn to handle multiple windows in playwright by switching from the parent page to a new window via browser context, then print the child page’s title and url after load.
This lecture demonstrates handling multiple browser windows dynamically by iterating through all pages, identifying the blog window by its title, waiting for elements, and closing a disclaimer before continuing.
Master handling multiple windows in Playwright by using context.on and page.wait_for_load_state to wait for load state when new pages or popups appear.
Learn to run playwright tests in parallel with pytest-xdist by setting the number of processes, installing the package, and running tests across two workers that launch two browsers.
Learn to generate HTML reports for Playwright Python tests using pytest-html. Explore integration with pytest and Allure reports to analyze passed and failed tests and share clear results.
Install homebrew and allure on a Mac, configure the PyCharm interpreter to install the Allure Pi tester package, and prepare multi-language allure reports for cross-platform testing.
Learn how to generate Allure reports from pytest by creating JSON files, serving the report via a web server, and inspecting detailed test results for four executed tests.
Configure pytest.ini to generate HTML and allure reports directly from test runs, storing reports in a dedicated folder and serving allure results with pytest serve.
Explore the page object model design pattern to organize end-to-end tests by mapping locators to login, home, cart, checkout, and info pages, with pages and tests in separate directories.
Build a login page in a page object model using a constructor to load locators and a login_to_application method to enter credentials and click login, enabling end-to-end tests with Playwright.
Demonstrates building a Python page object model with Playwright across home, cart, info, and overview pages, including login, add to cart, checkout, and order placement, with caution on AI suggestions.
Develop a reusable Python logging utility to generate logs for test frameworks, using a utils directory and logs folder with a configurable format and info level.
Learn to read data from a config.ini in Python with configparser, retrieving values by sections (basic info, mobile) and keys (url, browser name, execution OS) via a reader_config function.
Build a Python utility to read and write Excel data, including row and column counts, cell data retrieval, writing values, and saving updates with file and sheet naming.
Configure the base url for pytest tests using the pytest-base-url plugin, and define it via the terminal or pytest.ini for consistent script execution.
Learn how to configure a custom viewport with conftest.py in Playwright tests using pytest, defining fixtures that set browser dimensions and ignore http errors across the test suite.
Configure conftest.py to define two fixtures: a browser context and a page that navigates to the base URL, enabling username and password automation via locators.
Introduce a reusable framework with a structured folder layout for pages, locators, tests, reports, utilities, and test data; enables JSON/Excel data inputs and pytest-html/allure reporting with parallel and rerun capabilities.
Rebuild an end-to-end test using a page object model framework by reusing login, home, cart, info, and overview pages, plus utilities and data generation with faker and openpyxl.
Learn to read test data from config.ini with a config reader, fetch the dashboard url via read_config, and wait for the url to verify navigation with assertions.
Convert the test from a function to a class using a page fixer, and implement a pytest login test with the login page object and credentials.
Refactor an end-to-end Playwright test into a class, reusing imports, objects, and dynamic data, and encapsulate configurator, excel, and random data utilities inside classes.
Update the framework with a config file reader and an Excel utility, import and instantiate these classes, and read data via get cell data to drive login tests.
Enhance test scripts by adding url assertions across login and cart flows. Fetch dashboard, cart, info, and overview urls with a config reader to verify navigation.
Wrap login, logout, add product, checkout, and place order logic in try-except blocks with error messages; identify pages and locators, create page classes, use config.ini data, and write tests.
Learn to automate product data extraction with Playwright in Python by logging in, navigating the home page, iterating six products, capturing and printing each description, and returning to the list.
Group tests with pytest markers like smoke and regression using -m, set HTML report paths, and plan automation with a feasibility study, page locators, and data from config or Excel.
All the end points we used :
https://restful-api.dev/
https://restful-booker.herokuapp.com/apidoc/index.html#api-Auth-CreateToken
https://httpbin.org/#/Auth/get_basic_auth__user___passwd_
https://docs.github.com/en/rest/users/users?apiVersion=2022-11-28#get-the-authenticated-user
Explore the basics of rest and web services, including http methods, requests, and responses. Understand how restful APIs enable lightweight communication and representational state transfer for client-server interactions.
Learn how to perform API testing with Playwright in Python by creating an API request context, sending a get request, and validating response status and body, including JSON parsing.
Learn to perform get requests with playwright using Python, validate responses, extract ids and data, and clean memory with dispose to keep tests efficient.
Validate API response bodies by asserting presence of keys like name and id, and by checking nested data such as price, CPU model, and hard disk.
Explore working with a RESTful API on a Heroku application by using curl commands, importing them into Postman, and testing a get bookings API with JSON assertions.
Create a booking via post, capture the booking id, and fetch its details with a get request using that id across tests.
Explore how to perform a patch request for partial updates in a booking API, using curl and postman, updating only changed fields with a token-authenticated call.
Learn to perform a delete booking API call using curl and Postman, manage token-based headers in a Playwright Python test, and troubleshoot responses with debugging tips.
Enhance an end-to-end booking workflow by refactoring with a fixer to share setup, then perform post, get, token generation, partial and full updates, and delete using a JSON-driven base URL.
Learn to handle cookies in Playwright by using storage state in the request context to capture and print cookies, persisting them across requests.
Install the jsonschema package, convert JSON to a schema, and validate API responses against the schema to verify correct data types and structure.
Explore how to implement basic authentication for APIs using username and password, encode credentials with base64, and pass them in the authorization header to access protected endpoints.
Explore artificial intelligence as a computer system that can think, learn, and make decisions from data; see how it understands language, recognizes images, and supports writing and automation tasks.
Learn how human in the loop enhances ai-driven testing and automation, balancing ai capabilities with human oversight to prevent downtime and inaccurate outputs.
Explore retrieval augmented generation (rag) and how it enhances large language models (llm) with a vector database knowledge base. Retrieve data and augment queries to produce accurate responses without retraining.
Explore how AI memory stores, retains, and recalls past interactions to enable meaningful conversations. Understand short term memory for current sessions and long term memory across sessions.
Explore LangChain’s open‑source framework that connects LLMs to external data sources via a vector database, and LangGraph’s graphical workflow with nodes, edges, states, and checkpoints.
Utilize MCP, the model context protocol, to standardize how AI models discover and call tools, enabling reusable, scalable, and consistent tool use with external systems.
Explore the human in the loop concept, when to seek human approval in ai decisions, and guardrails to curb hallucination and enforce safe, policy-driven prompts.
Get an overview of prompts and prompt engineering, and learn how clear context shapes AI responses. Reduce hallucinations and guide travel planning, bookings, and task execution.
Set a concrete context for your LLM to act as a tester, define mandatory rules, and generate manual or automation test cases from user stories, acceptance criteria, and UI mockups.
Define and apply a manual context file to guide automated testing flows, using prompts to drive actions in a demo login scenario, with positive and negative paths.
Explore various prompt types for automation testing, from zero-shot to few-shot and chain-of-thought prompts, and learn how clear instructions and context files guide llms in generating accurate outputs.
Explore OpenAI’s mission to benefit humanity and how ChatGPT, Copilot, and GPT models power its products, while OpenAI develops principles and protocols for collaborative AI and DALL-E image generation.
Understand what an AI model is, a data-trained algorithm that recognizes patterns and generates outputs, and how it differs from large language models as a specialized subset of generative AI.
Explore the basics of n8n workflow automation and AI agents, create a trial account, and build sample AI workflows using nodes and automations such as onboarding emails.
Build an n8n workflow that uses an AI agent to fetch a recipient from a sheet and send an email to that jam's address, replacing a hard-coded recipient.
Build and tweak an n8n workflow that reads employee data from Google Sheets sheet two, and when status is S, automatically emails the user that their background verification has started.
Create a Jira cloud account, set up a project and API token, and integrate Zephyr for Jira to manage test cases and defects driven by Excel input.
Learn how to build an n8n workflow to create Jira defects from spreadsheet data, configure Zephyr, manage credentials (email, api token, domain), and troubleshoot cloud Jira connections.
Enable a public chat in an n8n workflow with a generated URL and test messaging. Manage defects via a Google Sheet workflow and ensure the correct sheet target before activation.
Demonstrates building a chrome extension for record and playback with Cursor AI, generating Playwright or Selenium scripts, and deploying via npm, build, and load unpacked extension.
Learn to build a Chrome extension for record and playback actions, generate Playwright TypeScript or Selenium scripts, and download test scripts from recorded browser interactions.
Create an otp shield mobile app that monitors text messages, phone calls, and WhatsApp messages for otp requests, warns the user, blocks apk files, and offers a dismiss option.
Explore how prompts drive a large language model and the playwright MCP to generate and execute browser automation code, and learn the roles of the agent and VS Code configuration.
Explore GPT4All, an open source offline desktop AI that runs LLMs locally on Windows, macOS, and Linux, then generate manual test cases and Excel outputs for Playwright automation.
Configure Playwright MCP in PyCharm by enabling the MCP server and inserting the standard MCP JSON into Copilot settings, then restart the editor to enable MCP with Copilot.
Configure playwright with python and pytest, generate a test that navigates to bing.com and verifies the page title, then run the test in headless or headed mode.
Create and execute a Playwright Python test to automate the sauce demo login with a standard user and the secret sauce, validating the home URL.
Create a context-driven Playwright test in Python to automate selecting the strict radio button on Bing settings, using copilot assisted script generation and a dedicated tests directory.
Learn to automate multi-window flows with Playwright MCP using copilot to open HDFC.com, handle a disclaimer, switch tabs, perform a search, and manage timing.
Create a complete Playwright framework in Python with a page object model, generated by Copilot from a single prompt. Organize pages, tests, utilities, and reports, plus pytest.ini and readme.
Learn how to commit a copilot-generated Playwright Python framework to GitHub by cleaning old tests, validating requirements.txt, installing packages with pip, and pushing changes via git.
Learn to set up Jenkins on Windows and macOS, install plugins, configure Python path, and run pytest via python -m pytest in a freestyle job for Playwright tests.
Configure Jenkins pipelines for the Playwright Python framework, linking demo, deployment, testing, and release builds with downstream triggers and options to run even if upstream builds fail.
Update an existing Playwright framework with a defined context, using copilot to generate tests, pages, locators, and utilities, then implement a home page filter test according to rules.
Create an azure dev apps account for testing, set up an organization and a project, and prepare a pipeline to run playwright automation tests.
Push the Playwright project to GitHub, configure an Azure DevOps pipeline, install dependencies, run Playwright tests, and publish test results.
Create an Azure pipeline to automatically build and test a Playwright Python project by pulling the latest code from GitHub, installing dependencies, and publishing test results.
Develop a manual test case generator agent that fetches an Azure DevOps story, generates test cases per defined AML rules, and saves drafts for later upload to Azure.
Create a manual test case generator agent with a python program that fetches user story details from Azure Dev Apps and prints title, description, acceptance criteria, and screenshots.
Apply a rule-based method to generate comprehensive manual test cases for playbook automation, covering end-to-end, negative, and edge cases with P1, P2 priorities using action keywords.
Learn to build a Playwright automation test case agent that generates scripts in Python, JavaScript, or TypeScript from Azure test steps, using a project root with a skill.md.
This course is a comprehensive, end-to-end automation testing program designed to take you from absolute basics to advanced, enterprise-level automation frameworks using Playwright with Python.
You will begin by learning Python from scratch, focusing specifically on concepts required for automation testing such as variables, loops, functions, object-oriented programming, and exception handling. This ensures even beginners can confidently follow along without prior programming experience.
Next, you will explore Playwright in depth, starting with its architecture and understanding how browsers, contexts, and pages work together. You will learn how to write reliable and stable automation tests using modern locators, smart assertions, and Playwright’s built-in auto-waiting mechanisms. The course covers real-world scenarios such as handling frames, multiple windows, alerts, file uploads, downloads, authentication.
The course then dives deep into Pytest, where you will master fixtures, markers, parametrization, parallel execution, test configuration, and reporting. You will learn how to design scalable and maintainable automation frameworks by following industry best practices like the Page Object Model and reusable utilities.
To future-proof your automation skills, this course introduces AI concepts in test automation, including Playwright MCP, intelligent test execution strategies, and how AI can enhance modern testing workflows.
Finally, you will learn how to integrate your automation framework with Jenkins, covering CI/CD pipelines, scheduled executions, test reporting, and real-world enterprise automation strategies.
By the end of this course, you will have hands-on experience building production-ready automation frameworks and the confidence to apply these skills in real projects, interviews, and professional environments.