
Master Selenium, Java, and test automation using ChatGPT AI techniques to design robust automated test suites, including debugging, logging, reporting, parallel and cross-browser testing, localization testing in CI/CD.
Set up a Windows development environment by installing JDK 17, Maven, and IntelliJ IDEA Community Edition, using the Adoption Net MSI, Chocolatey, and verification steps to confirm installations.
Set up a Linux Ubuntu development environment by installing JDK 17, Maven, and the IntelliJ IDEA Community Edition; configure JAVA_HOME and PATH, and verify the installations.
Explore object oriented programming by building programs with classes and objects, using variables, methods, and constructors, and mastering abstraction, encapsulation, inheritance, and polymorphism.
Explore inheritance in Java: derive child classes from a base superclass to reuse code and enable polymorphism, with safe relationships illustrated by number, car, and web page hierarchies.
Explore how Java uses equality and relational operators to compare values. Implement equals, not equal to, less than, greater than, and their equal-to forms in code.
Discover Java collections: sets with no duplicates and union and intersection tests, lists with duplicates and random access, queues with fifo behavior, and maps for key-value storage.
Explore Java collections such as set, list, queue, and deck, and master operations like add, clear, contains, remove, stream, and to array; understand maps and hash maps for keys.
Learn how Java queues manage tasks by enqueuing at the end and dequeuing from the front, using linked lists and priority queues to help a server process requests in batches.
Learn SQLite’s serverless, lightweight relational database and its features, install DB Browser for SQLite, create a sample database with a customer table, and perform CRUD operations.
Explore testing features for automation, including annotations, XML configuration, parameterized and data-driven tests with Excel, test grouping, parallel execution, listener interfaces, dependencies, and reporting.
Use TestNG before suite and after suite annotations to run setup and teardown tasks, such as initializing databases, closing resources, and logging results or configuring test data for different runs.
Explore TestNG before class and after class annotations to set up and tear down the test class environment, including initializing connections and objects and cleaning up resources after tests.
Master XML based test configuration in selenium test automation to control test selection, repetitions, and order, using a file to enable data driven tests, dependencies, and parallel execution across environments.
Create one xml per environment to specify environment-specific parameters like environment and base url. Enable running regression tests across development, staging, and other environments by wiring these parameters into tests.
Configure environment specific xml configurations for staging and development in the test suite, passing environment and base url parameters to tests and validating correct parameter propagation.
Use the TestNG data provider annotation to supply test data to a method, enabling multiple data sets and repeated runs via a two-dimensional object array or a custom class.
Use data-driven testing in TestNG to read signup data from an Excel sheet via a data provider configured in XML. Configure sheet name, columns, and file path with Apache POI.
Explore TestNG before and after groups annotations, running setup and cleanup for specified groups with mobile native app and mobile web app examples, plus class-level vs method-level group precedence.
Utilize TestNG's factory annotation to generate and run multiple test cases from one class by creating permutations of browsers and platforms through a factory method, enabling parallel, parameterized testing.
Enable data provider parallelism by setting parallel equals methods and parallel true in the data provider, and control threads with the test XML thread count to run four threads concurrently.
Explore how TestNG listener interfaces customize test execution by hooking into pre- and post-test events, such as test listener, invoked method listener, configuration listener, and annotation transformer, to log results.
Explore TestNG dependency testing using depends on methods and depends on groups to ensure test order, with examples showing registration before login and payments before order processing.
Learn pure Guice dependency injection for tests, binding a test data generator to staging or production implementations and injecting via modules and an injector in test setup.
Explore how to log test progress with TestNG listeners, capturing start, finish, success, and failure events, using a thread-safe log writer that appends to a log file during parallel tests.
Harness built-in test loggers to log test runs, including duration, status, and errors, diagnose problems, and generate HTML reports for sharing with stakeholders.
Explore how TestNG reporters generate HTML, XML, and text reports that summarize tests executed, passed, failed, and total time, including parameters and exceptions.
Explore Java logging libraries like Logfile J2, Self Forge, Apache Commons Logging, Jewel, and Juul; learn parameterized logging, message formatting, log levels, and framework switching via SLA.
Explore test result reporting for Selenium and TestNG: create HTML reports via XSLT transformations of XML output from the test engine and integrate libraries with a law framework example.
Compare automation test results across runs, platforms, and versions to spot issues. Use reports to measure reliability and accuracy and diagnose abnormal behavior across environments and releases.
Explore open source ExtentReports libraries for Java test automation, delivering clear, comprehensive reports with failed tests, screenshots, error messages, stack traces, test progress, execution time, and customizable themes.
The Allure framework is an open source, lightweight test reporting tool that generates readable reports and integrates with TestNG, Selenium, JUnit 5, and other automation tools using rich annotations.
Kick off your Selenium programming journey by grounding automation tests in HTML, CSS, and JavaScript basics, exploring testing best practices and essential tools for Selenium automation scripts.
Master the prerequisites for Selenium automation by learning HTML, CSS, and JavaScript to interact with web elements, debug scripts, and build robust tests guided by testing methodologies and best practices.
Learn core HTML tags and attributes, from HTML, head, and body to headings, paragraphs, forms, inputs, links, images, tables, and lists, with live inspection and Shadow DOM preview.
Explore the Shadow DOM, a new HTML feature that encapsulates a sub-tree for self-contained components. See how Selenium enables working with the Shadow DOM's independent DOM tree.
Demonstrate selecting elements with id, class name, and css selectors using document methods in a live html playground, showing getElementById, getElementsByClassName, querySelector, and querySelectorAll.
Explore functional and non-functional testing types, from unit and integration to black box and white box, and learn how to design effective test scripts for robust applications.
Explore other testing methodologies, including ad hoc exploratory testing, localization, and globalization testing, to verify software functionality across languages, countries, and regions.
Identify what to automate across environments and browsers using Selenium, including complex navigation and data-driven tests. Avoid automation for usability and changing UIs, one-off tests, and scenarios needing human judgment.
Explore fundamentals of Selenium WebDriver, its language bindings, and browser automation, including the page object model, to write tests across Chrome, Firefox, and Edge with navigation, data entry, and validation.
Selenium enables automated testing across major browsers, Google Chrome, Microsoft Edge, Mozilla Firefox, Internet Explorer, and Apple Safari, offering input control, cookie management, and mobile emulation to optimize tests.
Navigate a web page using Selenium in Java by back and forward, refresh, and other driver navigate commands. Explore how to programmatically control browser interactions with example scripts.
Manage Selenium releases, Chrome driver setup with WebDriver Manager, and tests on local or grid. Apply page object patterns and form page interactions with a remote WebDriver.
Design and implement a data table control using the adapter pattern to handle tables with different columns, enabling extensible automation and support for integers and strings.
Master Selenium, Java, and TestNG automation using page object tests for HTML playground pages. Cover form submission, text components, tables, alerts, modals, tabs, shadow dom, and iframes, with ChatGPT boost.
Learn how the remote webdriver powers Selenium grid for distributed testing across multiple machines and browsers, creating sessions with capabilities, and coordinating actions via the grid server.
Learn Selenium cross-browser testing to ensure your app works across Chrome, Firefox, Safari, and mobile Android and iOS, including designing test classes and running the same test on multiple browsers.
Learn to implement cross-browser testing by parsing a comma-separated browser list from the testing XML, creating test instances via factory, and storing browser type enums in the test class.
Learn to run Selenium tests in parallel to reduce execution time, cover more test cases, and simulate different browsers and platforms while ensuring thread safety of WebDriver and data.
Navigate a complete localization testing workflow—from defining languages and glossaries to testing, publishing, and monitoring feedback—driven by http API automation for resource strings, currencies, and date time formats.
Explore a localization framework that detects changes to product resource strings at compile time using typed code, simplifies key discovery, and keeps tests aligned with up to date resources.
Implement a breadth first search in Java on a tree by enqueuing the root and visiting each level's children, with full tree and node class implementations.
Learn to generate a mapped Java file for localization testing by mapping json api responses to language resource pairs, with top and bottom static code and dynamic ensure populated logic.
learn to implement a thread-safe cache for locale data, build a localization framework with language enumeration and resource maps, and verify login page localization using Selenium tests.
Learn to test multiple environments with Selenium by creating separate test suites, using environment variables and tags, configuring CI jobs, and refactoring code into configuration files.
Explore properties files: simple to read and update, with comments. They are compact and use less storage than XML, do not support complex data structures, and syntax can be confusing.
Ini files offer readable configuration options, easy to create, edit, and maintain. They lack encryption for sensitive data and struggle with configurations due to no nested sections.
Create a straightforward configuration framework that lets users create, edit, and manage settings across properties, XML and Ini formats, with environment-specific overrides for CI/CD pipelines.
Implement a singleton config settings framework to read values from properties, xml, or ini files, with environment variable overrides and a converter to switch formats.
Execute tests with a TestNG.xml file on disk from the workspace root using a relative path, then verify the results and explore the XML embedded in the jar.
Track selenium grid node health with the grid status checker, which fetches node info from a grid URL and logs synchronized status with detailed logging.
Read selenium grid enabled setting from config.properties across Chrome, Edge, Firefox, and Safari Webdriver managers. Build remote server URL via webdriver configuration manager for standalone and external grids.
Describe the Selenium grid download manager class that synchronously downloads the latest Selenium jar from GitHub releases, honoring config for latest or specific versions, and writes download info to json.
Read selenium grid configurations with an enum config reader that parses the grid config HTML file, maps values to the config object, and exposes the hub port.
This comprehensive Selenium WebDriver course covers a wide range of topics, including setting up development environments, Java programming fundamentals, intermediate and advanced Java concepts, working with data in Java, TestNG testing framework deep-dive, web automation with Selenium, logging using Log4j/SLF4j, reporting using Allure, building automation framework with best in industry software coding and architectural practices, running automation tests on Jenkins server, and more. Additionally, you will explore the power of ChatGPT for automated test code generation, efficient data generation, result analysis, and failure debugging assistance, taking your automation skills to the next level.
Key Features Of This Course:
Course Built with Latest Technologies. AI Automation Testing with ChatGPT. Year 2023 Ready!
You'll work with the latest technologies from 2023: Java (JDK 17), Maven, TestNG, and recent Selenium WebDriver libraries and use IntelliJ IDEA IDE for development in this course.
You'll learn to harness the power of ChatGPT to automate test code generation, data generation, data strategies, test failure debugging, test run analysis, test migration, and test run optimization.
Hands-On Practice with Starter Kits
For every coding section of this course, you'll be provided with a starter and finished Java source code kit, which can be used for interactive coding during the video lessons.
A total of 37 source code kits, comprising both starter and finished versions, will be made available to enhance your coding lectures throughout the course. These thoughtfully designed starter kits offer a valuable advantage by providing a solid foundation, enabling you to concentrate on the subject matter covered in each section. Conversely, the finished kits serve as invaluable resources, offering feedback and solutions to assist you in overcoming any obstacles encountered during your coding.
Build Automation Framework From Scratch
We'll construct a robust and adaptable LIVE ReactJS web application automation framework. This framework will be meticulously designed, considering extensibility, scalability, and architectural integrity. It will serve as a valuable foundation that can be effortlessly customized to suit your requirements for future web projects throughout your professional journey.
You will be provided with an HTML playground specifically designed for Selenium testing. The playground offers ample opportunities to practice and experiment with various Selenium testing techniques, allowing you to sharpen your skills effectively during the course.
Multi-Platform Source Code Compatibility
All source codes demonstrated in this course will be made available to you.
The source code implementations showcased in this course will be fully compatible with contemporary Windows 8/10/11, Linux (specifically Ubuntu), and macOS operating systems, including support for M1/M2 arm processors.
Summary of Topic Covered In This Course:
Setting Up Development Environments
Learn how to set up Windows, Linux, and macOS development environments.
Create a Maven project in IntelliJ IDEA IDE.
Java Programming Fundamentals
Gain knowledge of Java programming fundamentals, including object-oriented programming, arithmetic, unary, equality/relational, conditional operators, flow/loop statements, and I/O operations.
Intermediate and Advanced Java Concepts
Dive into intermediate and advanced concepts in Java programming, such as collections, generics, functional programming.
Working with Data in Java
Learn to work with data in Java, using different formats like Text, CSV, Excel, and PDF files.
Utilize JDBC to access an SQLite database.
Explore Prompt Engineering and 30+ ChatGPT Prompts
Learn the foundations of Prompt Engineering for automation testing.
Leverage ChatGPT's potential in test code generation, data generation, data strategies, failure debugging, migration, result analysis, and test run optimization.
TestNG Testing Framework
Master TestNG annotations, XML-based configuration, parameterized tests, data-driven tests, grouping, listeners, parallel testing, dependency testing, and dependency injection.
Configure logging for TestNG tests with listeners, reporters, custom loggers, and popular logging libraries like Log4j2 and SLF4J.
Use TestNG XML to generate HTML reports, explore external reporting libraries, and understand the Allure Framework for test automation reporting.
Web Automation with Selenium APIs
Gain a solid foundation in HTML, CSS, JavaScript, automation best practices, identifying and utilizing Selenium locators, wait methods, and browser interactions.
Understand Selenium internals, components, architectures, and testing in multiple environments.
Learn about Selenium Grid's components, advantages, caveats, and API endpoints.
Acquire strategies for planning and developing real-world test scenarios, page objects, controls, data table control implementation, authentication framework, and application bootstrapping.
LIVE Project and HTML Playground for Selenium
Develop automated tests with PageObject class implementations, data providers, and test authoring techniques.
Build Selenium & TestNG automation framework from scratch for a LIVE Web application with cross-browser, parallel, multiple-environment, and localization testing support.
Utilize the HTML playground setup for practicing Selenium WebDriver APIs.
Implement four end-to-end Selenium UI automation tests with the framework implemented from scratch.
Setting Up Jenkins Server
Set up and utilize a Jenkins server for automated testing.
Install plugins, configure agents, create and run jobs using UI, and by writing Jenkinsfile.
Strategies for DatePicker Controls in Selenium
Learn strategies and best practices for working with DatePicker controls in Selenium, including implementation approaches.
How This Course Can Accelerate Your Testing Success:
Struggling to set up your development environment for Selenium Java and TestNG automation? Learn the step-by-step process to configure your development environment, including setting up dependencies, IDE configurations, and project structure, so you can hit the ground running.
Want to take your TestNG skills to the next level? Dive deep into the advanced features and functionalities of the TestNG testing framework and harness its full potential for robust and scalable test automation.
Are you tired of the manual hassle of managing test data? Feeling overwhelmed by the need for efficient test data management? Explore the power of data-driven testing with Selenium Java and TestNG! Discover how ChatGPT can revolutionize test data generation and strategies for efficient and scalable automation.
Have you wasted endless hours struggling to implement an automation framework? Are you frustrated with the wasted time and effort hindering your automation progress and productivity? Fast-track your success with this comprehensive course! Discover battle-tested practices and leverage ChatGPT to revolutionize your automation journey.
Are you tired of spending precious time tracking and debugging errors, impacting your testing efficiency and delaying feedback? Dive into logging integration (log4j2, SLF4j) with Selenium, Java, and TestNG to identify issues. Gain visibility into test execution and resolve errors quickly with ChatGPT's assistance.
Struggling to generate insightful test reports that integrate seamlessly with your automation tests? Frustrated with the lack of valuable insights for effective test analysis? Discover the secrets to integrating robust reporting frameworks (Allure Reports) with Selenium Java and TestNG, unlock valuable insights, and optimize test runs with ChatGPT's result analysis and test run optimization techniques.
Are your test suites taking too long to execute? Unlock the power of parallel testing with TestNG and dramatically speed up your testing cycles without compromising quality.
Are cross-browser compatibility issues causing headaches in your automation testing? Discover the secrets to seamless cross-browser testing and ensure your web applications work flawlessly on Chrome, Firefox, Edge, and Safari.
Is localization testing a challenge in your automation testing efforts? Learn the best practices for automated testing of your applications in different languages, cultures, and regions, and deliver a truly global user experience.