
Define test automation by replacing manual steps with automated workflows, covering preconditions, execution, result comparison, defect reporting, and test reporting, using Selenium WebDriver and Testing G.
Clarify myths and facts about test automation, showing how automation functions as a versatile test activity across all test levels and types, and why it cannot replace manual testing.
Highlight seven benefits of test automation, including faster execution time, repeatability, reusability, higher environment coverage, cost savings, improved accuracy, and earlier time to market.
Compare manual vs automated testing to decide which fits your project, covering definitions, speed, costs, accuracy, reusability, maintenance, scalability, human involvement, learning curve, tools, use cases, and limitations.
Install IntelliJ IDEA, a leading IDE for Java and Kotlin, to run and debug code and integrate with tools like Selenium for test automation.
Verify Java is installed by running the appropriate java version command, then install the latest JDK 25 or 26 from Oracle. After setup, open IntelliJ IDEA to begin coding.
Learn how to create your first Java project in IntelliJ, configure the JDK, choose Maven or Gradle later for Selenium, and manage libraries and project structure.
Understand the Java project structure in the source folder, follow class naming conventions, and write a main method that prints with system.out.println while using // and /* */ comments.
Examine primitive versus non-primitive data types, using integers, booleans, characters, and strings; compare addition with concatenation, and explore string methods like toUpperCase, toLowerCase, and length in Selenium test automation.
Master conditionals in Java for test automation, focusing on if, else, and else if. Apply to login flows, string comparisons, and nested if blocks for precise outcomes.
Learn how for, while, and do-while loops control repeated actions with explicit examples of withdraw and deposit money, showing how conditions govern execution.
Learn how to define and call methods to avoid repetition, structure code with a main method and methods, pass parameters like name, age, and courses, and understand void return types.
Learn how method return types work, contrast void and return values, and implement e-commerce style calculations for total price, delivery, and tax using Java.
Explore object-oriented programming by using a class as a blueprint to create multiple objects. See how fields and methods define each object and how the dry principle reduces repetition.
Learn how Java constructors set default values for new objects, using a student class that auto assigns a school name. Explore this keyword, no return type, and parameterized constructors.
Explore parameterized constructors and default constructors, showing how two constructors differentiate object creation and assign fields like schoolName, numberOfStudents, and city.
Explore how Selenium automates browsers for testing and beyond, and learn the three components: WebDriver, IDE, and Grid, plus how WebDriver drives browsers locally or remotely.
Set up Java and the IntelliJ IDEA community edition, configure Maven as the build system, and create a pom.xml to manage Selenium dependencies.
Learn how to write your first Selenium script in Java using WebDriver, configure browsers, and run automated browser actions like opening google.com, with practical setup tips for beginners.
Learn to navigate web pages with Selenium using driver.navigate and driver.get, including back, forward, and refresh, while organizing tests with a test engine and annotations and debugging with breakpoints.
Learn to control the browser window with manage methods, including maximize, minimize, set position, and set size or dimension for iPhone and iPad dimensions, and understand full screen versus maximize.
Learn to extract page information with Selenium: get current url and page title, print results, retrieve page source, and switch between tabs using window handles for multiple windows.
Explore how to manage browser lifecycle in test automation using driver.close for the active tab and driver.quit for the whole browser, covering single and multiple tabs.
Learn how HTML, CSS, and JavaScript form the web page structure, styling, and interactivity, and how Selenium WebDriver locates elements and performs actions like clicking, typing, and uploading.
Learn to locate and interact with web page elements using Selenium WebDriver, covering id locators, forms, drop-downs, checkboxes, alerts, iframes, and TestNG assertions in a page object model.
Prepare and open a complete practice project for Selenium by extracting the folder into test/resources and launching index.html with driver.get. Open local pages via toUri().toString, using source/test/resources AutoProjectFinal and iframe.html.
Master locating elements using id, verify unique id usage, and perform send keys and clear actions with a stored web element in the form elements page.
Locate form fields by name using driver.findElementByName and the name attribute (for example lastName or email) to identify and interact with elements reliably.
Learn to locate elements by class name using dot notation, avoid compound class names and auto-generated ids, and rely on unique class selectors like tellInput and dateInput.
Use the tag name locator to identify elements by HTML tag names like input, textarea, button, and a, and to count or iterate multiple elements.
Learn to locate elements with link text and partial link text, using examples like drop downs and welcome Tariq. Compare to css selectors and xpath, noting css covers most cases.
Learn to locate elements with CSS selector using id (hash), class (dot), and tag plus attributes, including name or other attributes, while noting unique ids and duplicates.
Explore TestNG, a Java testing framework, to manage test execution with dependencies, data providers, and annotations; structure preconditions, postconditions, and test suites for efficient Selenium automation.
Create a Maven project, add the TestNG dependency, and write annotated test methods that run via tests, not main. Learn default suites, test order, and using priorities to control execution.
Use before test and after test annotations to initialize and close the browser once for all tests, sharing a single WebDriver instance across test methods.
Create and configure a TestNG XML file to run multiple test classes in one go, using suite and test sections, include or exclude classes, and ensure proper tags.
Explore playwright, microsoft’s cross‑browser test automation tool, with multi‑language support (javascript, typescript, python, dotnet, java), auto‑waiting, web‑first assertions, tracing, and codegen for reliable multi‑context tests.
Explore Playwright fundamentals, selectors, and assertions with practical Mac setup. Preview page object patterns with TypeScript, reporters, cucumber integration, and CI/CD using Jenkins or GitHub actions.
Install Playwright by verifying Node.js and Visual Studio Code, then run npm init playwright and install as a dev dependency, using local setup and Microsoft test runner plugins.
Create your first playwright test by setting up a test folder, writing a test file, and importing test utilities; run with npx playwright test to execute tests (headless by default).
Learn essential Playwright CLI commands to run tests, specify tests by directory or name, and switch browsers from Chrome to Firefox and WebKit, including headless and edit modes.
Learn to locate elements in Playwright and perform reliable clicks using page.locator with text selectors, writing simple click tests, and verifying results with the Playwright inspector.
Learn multiple ways to write Playwright commands using direct clicks, locators, and bound elements. Discover that declaring a locator variable and reusing element.click keeps tests flexible with equal performance.
Explore how Playwright selectors locate elements with text, CSS, XPath, and attribute strategies, including visibility, layout positioning, and chained locators for robust test automation.
Identify and use locators with Chrome DevTools, including CSS selectors by id and placeholders, plus Playwright text queries for unique elements. Practice on a demo form from demo.com.
Explore how XPath locators enable dynamic, robust element selection across HTML and XML documents. Master absolute and relative paths, contains, starts-with, and or/and logic with Playwright page.locator.
Learn robust locator strategies in Playwright by prioritizing text, placeholders, accessible roles, and IDs while avoiding brittle selectors, and establish explicit contracts with the team.
There are two kinds of testing in the world of software—manual and automated. Some types of manual testing, such as discovery testing and usability testing, are invaluable. You can do other kinds of testing—like regression testing and functional testing—manually, but it’s a fairly wasteful practice for humans to keep doing the same thing over and over again. It’s these kinds of repetitive tests that lend themselves to test automation.
Test automation is the practice of running tests automatically, managing test data, and utilizing results to improve software quality. It’s primarily a quality assurance measure, but its activities involve the commitment of the entire software production team. From business analysts to developers and DevOps engineers, getting the most out of test automation takes the inclusion of everyone.
Selenium WebDriver is a web framework that permits you to execute cross-browser tests. This tool is used for automating web-based application testing to verify that it performs expectedly. Selenium WebDriver allows you to choose a programming language to create test scripts.
TestNG is an automation testing framework in which NG stands for “Next Generation”. TestNG is inspired by JUnit which uses the annotations . TestNG overcomes the disadvantages of JUnit and is designed to make end-to-end testing easy.
Using TestNG, you can generate a proper report, and you can easily come to know how many test cases are passed, failed, and skipped. You can execute the failed test cases separately.
For example:
Suppose, you have five test cases, one method is written for each test case (Assume that the program is written using the main method without using testNG). When you run this program first, three methods are executed successfully, and the fourth method is failed. Then correct the errors present in the fourth method, now you want to run only fourth method because first three methods are anyway executed successfully. This is not possible without using TestNG.
The TestNG in Selenium provides an option, i.e., testng-failed.xml file in test-output folder. If you want to run only failed test cases means you run this XML file. It will execute only failed test cases.
Beside above concept, you will learn more on TestNG, like what are the Advantages of TestNG, how to create test methods using test annotations, how to convert these classes into testing suite file and execute through the eclipse as well as from the command line.