
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore generative AI in software testing and learn to automate with Python, Playwright, and BDD, building AI-driven test cases, UI tests, and scalable CI workflows.
Discover how generative AI automates test case and data generation, enables on-demand test generation, and enhances coverage with GPT-3/4 and ChatGPT.
Explore practical applications of AI tools in software testing, including test case generation, exploratory testing with insights, and test data generation, powered by open AI and BDD with Gherkin features.
Explore testing projects on the contact us and login pages, using no-code tools to generate test cases and plans, validate UI elements, form validation, and error handling with AI prompts.
Use AI prompts to generate test cases for the WebDriver University contact us page, covering form validation, required fields, and error messages. Learn how prompts shape AI outputs.
Tackle a real-world login page challenge on WebDriver University by entering username and password, clicking login, validating messages, and generating test cases with AI tools.
Explore practical login portal testing by generating and refining functional test cases with artificial intelligence, covering valid and invalid credentials, validation messages, and security-conscious prompts.
Leverage AI prompts to generate and validate test cases for a contact us page, explore prompt design, and create test plans for manual testing tasks.
Upload requirement documents to AI to generate test cases, focusing on form validation and error messages. The lecture covers AI prompts and cautions about data privacy when handling documents.
Explore GPT for all, an offline AI model for test case generation that preserves data privacy on your local machine. Set up the client and run open-source models offline.
Install GPT4All locally on your computer, download the llama 38B model, store it on your hard drive, load it in settings, and test offline via chat.
Harness no-code AI tools and local models with GPT-for-all to generate test cases for the contact us page, including input validation and success or error messages, offline and online.
Learn why python excels in testing and AI, thanks to simplicity, cross-platform support, and powerful libraries like playwright, requests, transformers, beehive, and OpenAI's API for automated UI and API tests.
Explore a simple Python login program that uses variables, a function, and if-else logic to validate credentials against a JSON-backed list of test cases, illustrating basic testing concepts.
Enable low-code ai-enhanced test data management by auto-generating diverse JSON test cases for login credentials, including edge cases like blank fields and invalid characters.
Set up your local environment by installing Python, verify the installation, and prepare for building automated tests using Python and related technologies.
Install and configure Visual Studio Code as a Python-friendly IDE, install essential Microsoft extensions for debugging, code execution, formatting, and icons, and tailor themes and extensions for automated testing.
Install Python and VS Code, create a project folder named python_env_test, add pi_env_test.py that prints a hello message, and run it using the code runner extension.
Explore Python basics by creating projects in vscode, and learn variables, data types, basic operators, strings, integers, floats, booleans, and f-strings for embedding variables in outputs.
Explore Python basics: declare variables of strings, integers, floats, booleans, and none, and print data with f-strings. Practice lists, dictionaries, and sets, including unique values and accessing keys.
Learn Python control flow with for loops and range, using if else and modulus operator to determine odd or even numbers and print results.
Learn to write reusable Python functions that organize code using def, parameters, and return. Validate emails and calculate areas with simple function examples and print statements.
Leverage lists and dictionaries to build test data structures, map test cases to results, and loop through them to print outcomes, demonstrating debugging and testing workflows.
This lesson teaches file handling for test data management by creating folders and text files, writing test results in write mode, and reading and printing them from the file.
Explore robust testing through exception handling using a simple divide function that demonstrates try and catch for division by zero and invalid input types, with custom error messages.
Use Python's json module to parse and pass JSON data for API testing, turning JSON strings into dictionaries and printing responses to validate status and messages.
learn to install and manage Python packages with pip, use the requests library to call an API via get requests, and manage dependencies with virtual environments and a requirements.txt file.
Install the requests library with pip to perform a get request to an api, handle json responses, and manage a project's virtual environment and a requirements.txt file for the project.
Learn how large language models generate test cases, automate scripts, and improve edge-case coverage across UI, API, and performance testing using OpenAI API, with guidance on accuracy and data quality.
Master prompt engineering to generate automated test cases with artificial intelligence. Improve accuracy and save time by crafting clear, context-rich prompts that specify restrictions and surface edge cases.
Leverage Openai's API to generate test cases from requirements and enhance test automation frameworks with python, playwright, and ci integration, boosting coverage and reducing manual effort.
Set up OpenAI's API for test automation by creating an account, adding credits (minimum $5) and using the free trial, then review usage and generate a secret API key.
Set up a Python project with a virtual environment, install the OpenAI package via pip, and configure a clean, isolated workspace to test OpenAI API requests.
Build a Python client to generate test cases with OpenAI API, configuring a secret key, defining a prompt as messages, and producing test cases for WebDriver University's contact us page.
Compare OpenAI API testing with an open-source GPT Neo setup for AI-powered testing, using prompts, transformers, and torch while noting local hardware considerations.
Compare OpenAI’s cloud-based API with open-source models, noting speed, scalability, hardware needs, GPT for all UI, and GPT Neo usage.
Explore behavior driven development (bdd) with Gherkin and Cucumber, describing feature files and scenarios, and map given, when, and then steps to Beehive step definitions using Python, Playwright, and AI.
Discover the high level framework for building a web automation suite with behavior driven development, Playwright, Python, and AI integration with OpenAI to streamline testing for WebDriver University contact page.
Create a new python based automation framework, install playwright, behave, and openai, set up a virtual environment, and scaffold config, features, steps, utils, and reports for user interface testing.
Set up and test an OpenAI integration within a Playwright-based UI testing framework by configuring OpenAI key, creating prompts, and building a Python utility to generate text via the API.
Leverage OpenAI to generate cucumber-style test scenarios for a contact us form and auto-create a feature file, integrating AI into the test setup.
Explore generating and refining gherkin and cucumber scenarios with open ai, configure prompts and avoid overwrites, then review, format, and download the feature file for the contact us page.
Implement setup and teardown with behave by using environment.py in the features folder, and before all and before scenario hooks to configure Playwright, launch the browser, and open maximized pages.
Implement setup and teardown in behave by adding before all and before scenario hooks in environment.py to initialize playwright and browser, and after scenario and after all to close them.
Configure the cucumber combo extension in VS Code to locate and define behave steps, organize steps in features/steps, and run dry runs to verify all steps are defined.
Optimize step definitions dynamically by applying the dry principle, parameterizing steps, and validating with a dry run, while organizing feature and step files and using AI for refactoring.
Learn to write first step definitions with Behave and Playwright in a behavior-driven framework, using dynamic selectors, a custom context, and actions like navigate and fill.
Apply the dry principle by creating a custom context in utils/types.py to centralize page, browser, and Playwright, then refactor environment and steps for reuse.
Learn to build an analyze_steps utility that uses AI to inspect the steps file and generate Playwright code for unimplemented steps, integrating with environment.py.
Leverage AI to generate code suggestions for unimplemented steps in a Playwright and Python testing workflow, using environment data, the steps file, and low temperature with top_p settings for consistency.
Finalize the first scenario by using analyze steps to generate code for unimplemented steps, leveraging OpenAI's API, and implementing selectors for first name, last name, email, and message with submit.
Finalize the first cucumber scenario by using dynamic element location and AI-assisted logic to populate first name, last name, and email, with assertions and logs.
Finalising our first scenario with playwright, this lecture shows importing the login module, configuring a custom logger, and validating steps with a timeout and informative logs.
Finalize the remaining test scenarios for the contact us form by uncommenting steps, validating errors with empty and invalid inputs, and using AI-assisted step analysis and dynamic selectors.
Finalize all cucumber scenarios by uncommenting and reusing steps, populate fields, and verify the reset button clears inputs using playwright selectors and input_value, with all scenarios passing.
Learn how scenario outlines reduce code duplication by parameterizing login steps with examples, linking usernames and passwords to an examples table for multiple scenarios.
Apply scenario outlines to parameterize form submissions with first name, last name, email, and messages, using examples to reduce duplication and handle both valid and invalid inputs.
Learn to map each outline row to actions, define verify_message, implement dynamic XPath with Or logic for errors and success, and apply the dry principle for data-driven testing.
Explore how the background keyword reduces code duplication in feature files by listing common steps that execute prior to any scenario, improving readability and maintainability.
Learn how the background keyword enforces preconditions before each scenario in behave, guiding navigation to the contact us form, reusing steps, and applying the dry principle.
Explore cucumber tags and learn to use the @tag annotations to selectively run scenarios across feature files, targeting regression or smoke tags to execute all or individual scenarios.
Learn to use tags in feature files to selectively run regression and smoke scenarios, applying at symbol syntax and tag filters to target scenarios and review logs.
Create a Python custom runner to execute cucumber scenarios efficiently, targeting regression-tagged tests, and lay groundwork for generating specific reports in the next lecture.
Extend the custom cucumber runner to generate sophisticated reports using the law reports and allure framework, with cross-platform setup, Java installation, and a dedicated reports directory.
Attach images to law reports for failed cucumber scenarios by configuring an after scenario hook in environment.py, capturing screenshots named after scenarios and attaching them.
Automate cleanup of the project by deleting and recreating the reports and screenshots folders, and extend a custom runner with a clean function to streamline repeated test runs.
Learn what an API is—the application programming interface that enables multiple systems to communicate via defined protocols, requests, and responses, with a focus on REST API concepts.
Generate API test scenarios with ai by building a simple GET request to the status endpoint using Postman and an OpenAI-driven generator, integrating into an automation framework.
Install the requests library and update requirements.txt, then use beehive to generate Behave steps, configure base url and endpoint, send a GET request, and store the response in context.
Learn to test api responses by building and validating requests, asserting status codes like 200, and checking response text, with beehive-generated steps and context-based url handling.
Optimize the testing framework by refactoring API and UI test flows with behave hooks and context flags to avoid browser launches for API tests and enable UI screenshot capture.
Learn to separate automated UI and API tests by updating environment.py, skip browser setup for API tests, tag scenarios, and configure logs for faster API testing; Jenkins is introduced next.
Explore how Jenkins, an open-source continuous integration system, streamlines automation testing with a rich plugin ecosystem, Allure reports, test execution tracking, and deployment to test or production environments.
Install the Java JDK to run Jenkins, download Java 21, then set JAVA_HOME and update PATH, and verify with java -version on Windows, macOS, or Linux.
Download and set up Jenkins by obtaining the latest LTS war file, ensure compatible Java JDK version, and run Jenkins on localhost:8080, configure firewall, install plugins, and create admin account.
Configure and run a simple Jenkins job to automate tasks like building, testing, and deploying, using a freestyle project, execute shell steps, and verify Python version.
Create and configure an advanced Jenkins job to run automated test suites with a custom workspace and a Python beehive command using regression tags, monitor logs, and preserve build history.
Configure a dynamic Jenkins job to run behave tests by selected tags. Learn to pass tags via a choice parameter and adjust the custom runner to filter scenarios accordingly.
Learn to generate Allure reports in Jenkins by installing the Allure plugin, configuring post-build actions, preserving reports for targeted regression and API tests, and attaching failure images for debugging.
Apply ethical AI practices in software testing to ensure fairness, privacy, and transparency; verify diverse data, avoid bias, protect sensitive data, maintain human oversight, and comply with GDPR and CCPA.
Why Generative AI in Software Testing?
Generative AI is transforming the software testing landscape by enabling dynamic test case generation, optimizing test execution, and improving coverage. Tools like OpenAI’s API and GPT4All empower testers to:
Reduce manual effort.
Uncover edge cases faster.
Enhance both manual and automated testing workflows.
Why Python, Behave BDD, and AI-Driven Tools?
Python: A versatile, beginner-friendly programming language widely used for automation.
Behave BDD: A Python-based Behavior-Driven Development tool that uses the same Gherkin syntax as Cucumber BDD, simplifying test case creation and ensuring scenarios are clear for all stakeholders.
AI Tools: Leverage OpenAI’s API (ChatGPT) and offline tools like GPT4All to dynamically create, optimize, and refine test scenarios, reducing manual effort and improving test coverage.
Together, these tools allow testers to:
Automate UI and API tests with AI, Python, Behave BDD, and Playwright.
Dynamically generate and refine test cases using AI tools like ChatGPT and OpenAI APIs.
Integrate into Jenkins CI pipelines for scalability and continuous test execution.
Why This Course?
This course is practical, easy-to-follow, and designed for manual testers and automation testers looking to upgrade their skills. Whether you’re new to automation or experienced in testing, you’ll gain hands-on experience with AI-powered testing.
(Note: To fully implement AI features programmatically, an OpenAI API key is recommended. OpenAI provides free credits for new accounts, but existing users may need to add minimal funds (~$5). Watching specific lectures without practical implementation is also an option.)
The course includes Before and After code examples, attached to the relevant lecture resources, to help you understand concepts step-by-step and implement them seamlessly.
What Will You Learn?
Generative AI for Test Case Creation
Use ChatGPT (free or paid version) to generate test plans and test cases outside of code.
Use OpenAI APIs to dynamically generate test cases and suggest step definition code within the framework (API key and minimal credits required for hands-on implementation).
Explore tools like GPT4All for offline AI-powered testing.
Quickly create optimized, AI-powered test scenarios.
Mastering Python Fundamentals for Testing
Python basics: Variables, data structures, functions, and file handling.
Work with JSON data and external libraries like Requests for API testing.
Building AI-Enhanced Automation Frameworks
Behavior-Driven Development (BDD): Simplify test requirements using Gherkin and Behave.
Automate UI Testing with Playwright and Behave (BDD).
Automate API Testing using Python and Behave (BDD).
Advanced Features for Automation
Use Generative AI to refine BDD scenarios and step definitions.
Leverage OpenAI API to analyze step definition files and recommend optimized code solutions.
Implement tags, custom runners, and generate detailed test reports with Allure.
CI/CD Integration: Learn how to run tests continuously using Jenkins CI pipelines.
Data Privacy and Security in AI Testing
Protect sensitive data when using AI tools like OpenAI APIs.
Follow best practices for anonymizing data and managing credentials securely.
Additional Features
Real-World Projects: Automate tests for a Contact Us Page, Login Page, and a Goal Tracker API.
Practical Exercises: Step-by-step recordings with before-and-after downloadable code examples.
AI-Powered Optimizations: Generate, analyze, and refine test scripts dynamically.
Reporting: Generate detailed reports and attach screenshots for better test visibility.
Ready to Master AI-Driven Software Testing?
By the end of this course, you’ll have the skills to:
Integrate Generative AI into manual and automated testing workflows.
Build scalable and dynamic automation frameworks using Python, Behave BDD, Playwright, and Jenkins CI.
Leverage AI tools to optimize and streamline testing processes effectively.
Let’s revolutionize software testing with Generative AI together!