
Learn to automate modern web apps with Java Playwright through practical, hands-on lessons, covering dynamic elements, smart waiting, and test management with Juni.
Explore Playwright, the open-source Microsoft framework for modern web testing, supporting Chromium, Firefox, and WebKit, with parallel testing and cross-language bindings.
Learn Playwright architecture from the client library to the Node.js server and browser engines (Chromium, Firefox, WebKit), using a web socket protocol to navigate, click, and type with test assertions.
Launch a first Playwright test in Java by starting chromium, maximizing the window, navigating to the love to code website, and verifying the login heading with XPath.
Write your first playwright JUnit test by launching chromium, navigating to the love to test site, clicking the authentication link, and verifying the login heading before closing the browser.
Create the first Playwright JUnit test in Java, using before/after hooks to set up the browser and page, navigate to the site, and verify the login heading.
Create a final test class, move before each and after each logic into a framework base test, then extend the base test in the final test.
Create a locator strategies test in the ide that extends the base test and demonstrates locating elements by role, test id, label, text, alt text, title, css selector, and xpath.
Create a navigate commands test in Java Playwright, navigate to a URL, wait for it to load, then go back, go forward, or refresh, with debugging support.
Implement a highlight element method in the base test to visualize locators during debugging. Use xpath and css selectors to locate elements and verify highlighting improves debugging of web tests.
Master basic Playwright web element interactions: click, fill, type, clear, and visibility checks, to simulate real user behavior and validate a registration form.
Develop a Java Playwright test to interact with web elements on a registration form, filling full name and password, and validating the password must be at least six characters.
Navigate to the authentication page, fill the username and password with valid tata, click sign in, and verify the login success page using Playwright's recommended approach.
Practice exercise demonstrates building a Java Playwright test for an authentication form, filling credentials, validating login success, and logging out with heading checks.
Master dropdown handling in Playwright, including normal, multi-select, searchable, and select-and-add types, by navigating to the dropdown page and selecting by value, label, or index, with hover to open.
Master Java Playwright: handling dropdowns in test automation with single and multi select, by value, label, or index; work with searchable, add-option, and hover dropdowns in Playwright.
Handle JavaScript alerts in web tests by exploring simple, confirm, and prompt alerts, and practice triggering, switching to dialogs, and accepting or dismissing them with Playwright.
Develop and test alert handling in Java Playwright by navigating to the alerts page, locating elements with XPath, and validating simple, confirm, and prompt dialogues.
Learn to automate iframe interactions in Java with Playwright, including switching to nested iframes, locating inputs, filling username and password, and verifying text on parent and inner pages.
Learn to handle tabs in playwright by switching between tabs, storing the original tab id, opening a new tab, waiting for load, and verifying the new tab's title before returning.
Learn to manage browser windows and tabs in Playwright by switching between the original and new windows, waiting for load, and validating the new window's title and heading.
Explore browser window handling in Playwright by switching between the original and a new window, store original window id, wait for load state, verify title and heading, and switch back.
Create a Java windows handling test that opens a new window from the home page, stores the original page, verifies the new window title and heading, then clicks check all.
Create a Java table handling test that locates emails in a dynamic table, prints all email addresses, and iterates through table rows and columns using locators.
Learn how file upload transfers a local file by locating the input file element and uploading with set input files, and build portable relative paths for cross-machine Playwright tests.
Develop a Java Playwright file upload test by creating a test class, navigating to the upload page, and uploading files with absolute and relative paths using input file locators.
Learn to use playwright to capture screenshots during test execution for visual validation and evidence, including capturing the entire visual page and specific elements via page.screenshot with path options.
Demonstrate basic mouse actions in java playwright tests, including hover, click, double click, click and hold, release, and right-click context menu interactions on AB testing pages.
Learn how Playwright's drag and drop actions simulate dragging a source element onto a target to test sortable lists and kanban boards, enabling precise reordering and UI interactions.
Create a Java Playwright drag-and-drop test by locating source and drop areas, using drag-and-drop actions to move apples and pineapple to drop area, then sort with click-and-hold and offset moves.
Perform a registration form test by navigating to the user registration form, entering data, submitting, and verifying the registration success page and its details.
Learn how auto wait in Playwright automatically waits for an element to be ready before any action, handling dynamic content and printing visibility and text with a default 32-second timeout.
Master explicit wait in Java Playwright to handle dynamic elements by configuring timeouts and using wait for selector with locator actions.
Learn to configure Playwright browser launch options, including headless mode, start maximized, window size, ignore certificate errors, and ssl handling, then test navigation to an expired bad ssl site.
Learn to implement cross-browser testing in Playwright by creating a safari launch test, launching webkit, and running it to verify safari browser automation.
Master CSS selectors for web test automation in Java Playwright, covering tag, id, class, and attribute selectors, plus contains, starts with, and descendant and sibling patterns.
Discover how to craft robust XPath locators in Java Playwright tests, using tag name, id, class, and attribute strategies, plus contains, starts-with, text, and sibling and indexing patterns.
Master advanced XPath strategies to locate elements in dynamic or deeply nested structures, navigate up and sideways, and use text content, indexing, substring, and normalized space when css fails.
Master dynamic locator strategies in Java Playwright by using partial XPath to handle dynamically generated IDs, locate dynamic elements, click to reveal content, and verify the content.
Learn to perform native click in Playwright using JavaScript evaluate to trigger clicks directly, bypassing not-clickable issues on dynamic id buttons, and verify the success message.
Develop a native click test in Java Playwright to handle dynamic locator issues, click a dynamic id button by evaluating the element, and verify that the dynamic content is visible.
Identify broken images with Playwright by checking image URLs and API response codes, then count images and flag those with status 400 or higher.
Develop a broken images test in java playwright, navigate to the broken images page, collect image urls from img tags, and verify responses with a request context.
Identify and verify broken links on a webpage by extracting urls and checking api response codes with Playwright, classifying results by status 400 or higher.
Develop a Java broken links test in Playwright by locating all anchor tags on the homepage, collecting hrefs, and validating that each link returns status 200.
Explore geolocation and device emulation in Playwright by simulating a user's location and mimicking devices to test location-based content and responsive design.
Launch a Java playwright session to test geolocation and device emulation on a mobile viewport, with San Francisco geolocation, 390x844 viewport, and ismo true; verify login heading after authentication.
Learn to write JUnit tests in Java, annotate methods with @Test, and control execution order with order values and display names. Compare alpha-by-method-name ordering and observe the console.
Explore JUnit annotations and the test lifecycle, including before all, before each, after each, and after all, with setup, teardown, parameterized tests, and value source.
Master JUnit assertions as validation checkpoints that compare expected and actual results, using assert equal, not equal, true, false, null, not null, and assert all.
Create a Java Playwright registration form test, introduce dynamic expected values, and assert actual name, email, and phone using page locators and inner text.
Explore parameterized testing to run the same test with different input data, avoiding hard-coded values and enabling data-driven tests using value source, csv source, csv file source, and method source.
Develop parameterized tests in Java using JUnit Jupiter, leveraging value source, CSV source, and CSV file source to run login tests for multiple users.
Build parameterized tests using method source and anum source to inject login data from a data provider, including a static stream of arguments and multiple user credentials.
Explore how JUnit reporting produces test execution results, generates and views Maven Surefire reports in the target folder, and shares results for debugging and CI/CD integration.
Develop a JUnit logging extension in Java, implementing before and after test execution callbacks, including test finished, test successful, and test failed, and apply it to your tests.
Discover how an automation framework serves as a reusable blueprint for test scripts, enhancing maintainability, readability, and reporting within the Java Playwright JUnit project structure.
Explore oops concepts in automation frameworks by examining inheritance for test setup and page reuse, polymorphism, encapsulation, and abstraction through Playwright's multi-browser interface.
Create a test data constants file in the Java web test framework to centralize base URL, authentication URLs, and login credentials (admin and wrong credentials) for robust test automation.
Move the JUnit listener into the framework using the logging extension, extend test classes with the extension, and run the authentication test in chrome to see logs and failure screenshots.
Create a wait time utility in Java to centralize time management in an automation framework, with duration values and methods to obtain seconds and millis, used in base tests.
Are you ready to kickstart or accelerate your career in test automation and modern software development?
This course is your complete guide to mastering web test automation, UI testing, and end-to-end testing (E2E) using Java Playwright. You will learn how to build modern test automation frameworks with Playwright in Java and apply them to real-world projects.
Whether you're a developer looking to build robust automated tests or a manual tester aiming to transition into automation, this course is designed to take you there step by step.
We begin with the fundamentals of Playwright Java and quickly move into advanced concepts such as cross-browser testing, framework design, and data-driven automation. You will gain hands-on experience with real-world projects that mirror what you will encounter in the workplace. You will test modern web applications, including forms, navigation flows, and real user interactions.
You will start writing automated tests early in the course and build your skills step by step.
In today’s AI-driven world, more code is being generated automatically. That makes test automation an essential skill. You will learn how to build automation tests that validate generated code and catch issues early before they reach production.
You will also learn how developers use Playwright for Java for integration testing and end-to-end testing, along with best practices for structuring test code, managing test data, and building scalable, maintainable automation frameworks using Maven.
By the end of this course, you will have built a complete Java Playwright automation framework that you can use in your own projects, add to your resume, or showcase to employers.
Learn from an experienced instructor with a proven track record of teaching Java and Spring development to hundreds of thousands of students worldwide.
What Makes This Course Unique
Start from Zero: No programming experience required
Real-World Projects: Build automation frameworks used in industry
Modern Stack: Java, Playwright, Maven, and best practices
Step-by-Step Teaching: Clear explanations with hands-on coding
Developer-Friendly Approach: Learn how to integrate Playwright into real-world Java applications
Instructor Support: Fast, detailed help in Q&A
Who This Course Is For
Developers who want to add automated testing to their skill set
Manual testers looking to move into automation
QA professionals preparing for Playwright-based roles
Beginners with no programming background
Anyone transitioning into test automation
Everything You Need Is Included
Full source code for all projects
Downloadable PDFs for every lecture
Student Praise from My Other Courses
“Best structure and teaching method I've ever seen. You make every concept easy to understand.” – Dave Z.
“The best Java instructor on Udemy. Bar none.” – Muzi P.
“Real-world, industry-ready examples. Worth every penny.” – Premang
“You are the gold standard for teaching software development.” – Julie H.
Join 900,000+ Java developers already learning with me on Udemy.
Let’s master web test automation with Playwright together and take your coding skills to the next level.
Tools & Technologies
Java 25+ (works with Java 17+)
IntelliJ IDEA (free version)
Maven (for dependency management)
We are Responsive Instructors
Got a question? We respond to all questions within 24 hours.
You're never learning alone. We're here to help you every step of the way.
Start building modern, production-ready test automation frameworks with Java and Playwright today.