Aspire Journeys

Automated Software Testing with Java Selenium

  • 11 Courses | 17h 53m 41s
  • 1 Lab | 8h
Rating 5.0 of 1 users Rating 5.0 of 1 users (1)
Automated testing stands as an essential pillar in contemporary software development, and "Automated Software Testing with Java Selenium" serves as a meticulously designed roadmap for mastering this discipline with Java and the Selenium framework. Your journey begins with an introduction to the Selenium IDE, where you'll learn to record and play back test cases effortlessly. As you progress, you'll master the Selenium WebDriver, gaining proficiency in using locators and actions to manipulate web elements precisely. Diving deeper, you'll cultivate expertise in advanced testing methodologies, including deploying waiting strategies and managing browser windows and tabs. The journey extends to automating intricate UI components, addressing iframes and browser alerts. Progressing further, you'll explore automation utilizing the Robot class, Chrome DevTools, and crafting a sustainable test framework employing the Page Object Model. By integrating Allure reporting, you'll augment test transparency and insights. The journey encompasses constructing continuous integration with Jenkins, Maven, and GitHub, complemented by mastering Log4j for comprehensive logging. Scaling tests becomes feasible with Selenium Grid. Lastly, you'll embrace BDD with the Cucumber framework, culminating in a streamlined and exhaustive exploration of automated web testing with Java Selenium.

Track 1: Selenium Testing

In this track of the Automated Software Testing with Java Selenium journey, the focus will be on Selenium IDE, locators and actions, testing methodologies, UI components, advanced Selenium features and framework design, integrating Allure reporting, continuous integration with Jenkins, Maven, and GitHub, complemented by mastering Log4j for comprehensive logging.  Selenium Grid. Lastly, you'll embrace BDD with the Cucumber framework, 

  • 11 Courses | 17h 53m 41s
  • 1 Lab | 8h

COURSES INCLUDED

Introducing Selenium & Locators: Hands-on Selenium IDE for Automated Testing
The Selenium IDE is an integrated development environment for Selenium scripts that allows users to record, edit, and debug tests. It provides a user-friendly interface for crafting automated tests by recording browser interactions and exporting them in various programming languages. In this course, you will learn the essentials of Selenium, starting with the installation of the Selenium IDE and your first steps in recording and playing back test scripts. You will explore how to manage test cases and suites, and master the basics of setting up and exporting tests for consistent execution. Next, you will dive deeper into the functionality of Selenium by learning to write scripts in Selenese. You will understand the critical differences between 'assert' and 'verify' commands, and handle synchronization on web pages with 'waitFor' commands. You will also develop skills in debugging and storing data within your tests. Finally, you will implement conditional statements and loops, and create reusable tests to streamline your testing process. The course will conclude with you running tests using the Selenium SIDE Runner, preparing you to efficiently execute Selenium tests outside the IDE environment.
18 videos | 2h 33m has Assessment available Badge
Introducing Selenium & Locators: Working with Locators in Selenium
Selenium WebDriver is a powerful tool in the Selenium suite that enables automation of web applications for testing purposes by directly interacting with browsers. In this course, you will set up a Java project specifically configured to run Selenium tests. You will run your first Selenium test to gain insights into the setup and execution processes, learn to configure drivers manually, adjust browser options, and establish a basic test framework. Additionally, you will discover how to navigate web pages using the Selenium WebDriver. Next, you will understand the importance of locators in Selenium, essential for identifying elements on a webpage. You will learn to interact with web elements using class names and identifiers, locate multiple elements, and search subsets of the Document Object Model (DOM). You will also be introduced to advanced locators using cascading style sheet (CSS) selectors, XPath, and text links, along with relative locators for defining element relationships. Finally, you will explore advanced user interactions with the Selenium Actions application programming interface (API). You will learn to automate button clicks, perform hover and drag-and-drop actions, and execute keyboard operations.
19 videos | 2h 33m has Assessment available Badge
Functional Testing with Selenium: Waiting Strategies & Window Management
In Selenium, waiting strategies are crucial for ensuring robust test execution, as they allow scripts to dynamically adjust to varying load times and asynchronous operations. Window management is essential for testing web applications that interact with multiple browser windows or tabs, enabling testers to simulate real user interactions. In this course, you will learn a variety of functional testing strategies essential for any software tester's toolkit. You will start by understanding waiting strategies and learn to manage multiple windows and tabs. Additionally, you will be introduced to advanced interactions using the Robot class and the concepts of the Page Object Model and Page Factory, which facilitate cleaner and more maintainable test code. Next, you will get hands-on practice with dynamic elements on web pages. You will explore various waiting strategies, including both implicit and explicit waits, and see how these can be effectively applied in different scenarios. You will also gain proficiency in using Fluent Wait to handle more detailed configuration for your explicit waits. Finally, you will build skills in tab and window management techniques. You will practice techniques for opening and switching tabs, closing tabs, and quitting browsers to ensure clean session endings. Moreover, you will master the ability to take screenshots, both full-screen and of specific elements, to verify the visual accuracy of web applications during tests.
13 videos | 1h 43m has Assessment available Badge
Functional Testing with Selenium: Interacting with Complex UI Functionality
Parsing and verifying complex web table structures are pivotal for accurate data handling in Selenium. Automating complex web structures and interactions is an important skill in any tester's toolkit. These widgets can include tables, dropdowns and multiselect menus, date pickers, iframes, and alerts. In this course, you will learn to handle and verify complex web table structures, efficiently parsing table contents and addressing challenges posed by nested tables. You will also learn to differentiate between static and dynamic dropdown menus, adapt content based on user selections, and automate dynamic multiselect options and date picker operations. Additionally, you will build skills to identify and rectify broken links, ensuring all web page components function correctly. Next, you will dive into managing iframe elements, commonly used to embed external documents within a web page. You will master the skills needed to switch to and interact with content in iframes, including handling multiple and nested iframes. Finally, you will explore various types of browser alerts and learn effective strategies for managing them in automation scripts. You will handle simple, confirmation, and prompt alerts that require user interactions.
14 videos | 1h 49m has Assessment available Badge
Functional Testing with Selenium: Advanced Selenium Features & Framework Design
The AWT Robot class in Selenium automates keyboard and mouse actions, extending test capabilities beyond standard web interactions. Chrome DevTools in Selenium allows testers to monitor and adjust network and browser operations. The page object model and Page Factory streamline web element management in Selenium, improving code maintainability and test efficiency. In this course, you will learn essential skills for managing cookies within web applications, crucial for handling user sessions. You will explore techniques to add, access, and delete cookies using Selenium, and automate file uploads and downloads. Additionally, you will learn to use the Robot class to automate keyboard and mouse actions, enhancing interaction with native OS dialogs. Next, you will discover how to capture requests and responses using Chrome DevTools. You will gain insights into how web pages communicate with servers, identify bottlenecks, and learn to capture logs, block resources, and configure security settings through the browser. Finally, you will build and execute an end-to-end test incorporating all the techniques covered so far. You will create a test suite to assess the checkout flow of an e-commerce site, using the page object model to organize test code efficiently and the Page Factory to reduce boilerplate code, resulting in cleaner and more manageable test scripts.
13 videos | 2h 11m has Assessment available Badge
Advanced Selenium Frameworks: Integrating Allure Reports with Selenium
Allure is a powerful test reporting framework that offers comprehensive insights into test execution, with features like graphs, timelines, and detailed test case breakdowns. Its user-friendly interface helps developers and testers quickly identify and address issues, enhancing the overall efficiency of the testing process. In this course, you will explore Allure and learn how to integrate Allure reporting into your test framework. You will work with a robust test suite using the Selenium Page Object Model and Page Factory, focusing on end-to-end tests for an e-commerce site checkout flow. Next, you will investigate the structure and functionality of the test automation framework and how tests are organized and executed. You will generate and view Allure reports, gaining insights into test results with detailed visualizations and metrics. Finally, you will discover advanced features of Allure, such as organizing tests using hierarchies, assigning test severity levels, and tagging and categorizing tests for easier navigation. You will enhance reports by adding steps to your tests and examining retry and history details for each test case.
9 videos | 1h 12m has Assessment available Badge
Advanced Selenium Frameworks: Continuous Integration Pipelines with Jenkins
Building continuous integration pipelines with Jenkins enables automated testing and deployment, streamlining the software development process by detecting issues early and delivering updates more frequently. Jenkins provides a robust platform with plugins and tools to customize workflows, manage multiple projects, and integrate with various development, testing, and deployment tools. In this course, you will learn the core principles of continuous integration/continuous deployment (CI/CD) pipelines for automating the software development process. You will install and set up Jenkins on both macOS and Windows platforms and configure scripts to run automated tests. Next, you will discover how to execute builds within Jenkins, starting with tests on the built-in Jenkins controller node. You will then build an optimized workflow by configuring an agent node for distributed workload and performance. Additionally, you will integrate Jenkins with Git, commit test files to GitHub, and set up automated builds triggered by code changes. Finally, you will explore advanced Jenkins features to enhance your CI/CD pipeline. You will set up scheduled builds, configure Jenkins to poll GitHub for changes, and use GitHub triggers for automatic build initiation. You will also learn to configure Jenkins to send email notifications with attached Allure reports after each build, providing immediate feedback on test results.
13 videos | 1h 39m has Assessment available Badge
Advanced Selenium Frameworks: Performing Logging Using Log4j
Log4j is a powerful Java-based logging utility that allows developers to control log messages through various levels, enabling effective debugging and monitoring of applications. It offers flexibility in log management and supports customization through configuration files for dynamic logging scenarios. In this course, you will explore the integration of logging mechanisms in your software testing process using Log4j. Next, you will learn the basics of logging with Log4j, capturing and recording various levels of informational messages from trace to fatal. You will programmatically configure logging to adjust behaviors based on the application's context. Then, you will configure console and file appenders, use PatternLayout for message formatting, and set up multiple loggers in a hierarchical structure. Finally, you will discover the advanced capabilities of Log4j by binding SLF4J to Log4j. You will also configure Log4j using the properties file for easy adjustments and customize logging formats and destinations. Additionally, you will set up rolling logs and filters to manage log file sizes and enhance the efficiency of your logging system.
9 videos | 1h 5m has Assessment available Badge
Running Distributed Tests Using Selenium Grid
Selenium Grid is a tool that facilitates the parallel execution of browser tests across multiple machines and browsers. It operates on a Hub and Node architecture, whereby the Hub distributes test commands to various Nodes. In this course, explore the fundamentals of Selenium Grid, set up Selenium Grid in Standalone mode, and run parallel tests. Next, learn how to operate Selenium Grid using Hub and Node, specify test browsers and platforms, configure Hub and Nodes, and set up a Distributed Grid. Finally, discover how Docker can run the Hub and Node grid architecture, run tests on Selenium Grid hosted on Docker, and use Docker Compose to manage Selenium Grid. Upon course completion, you will be able to use Selenium Grid to run distributed tests.
13 videos | 1h 57m has Assessment available Badge
Integrating Selenium with Cucumber
Cucumber is a behavior-driven development (BDD) tool that enables test scenario writing in natural language, making tests easily understandable to stakeholders. It bridges the gap between technical and non-technical team members by defining software behavior with Gherkin syntax. In this course, learn about behavior-driven development (BDD) with Cucumber, run your first test, create and define steps in Gherkin, and set up step definitions in Java. Next, discover how to use parameterized annotations and regular expressions, run multiple scenarios, use tagging, and run multiple examples using scenario outlines. Finally, explore how to generate reports, run tests in parallel, and implement end-to-end tests to ensure your applications perform well in real-world scenarios. After completing this course, you will be able to execute Selenium tests with Cucumber.
9 videos | 1h 7m has Assessment available Badge
Final Exam: Selenium
Final Exam: Selenium will test your knowledge and application of the topics presented throughout the Selenium journey.
1 video | 32s has Assessment available Badge

EARN A DIGITAL BADGE WHEN YOU COMPLETE THESE TRACKS

Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.

SKILL BENCHMARKS INCLUDED

Advanced Selenium Framework and Integration Competency (Intermediate Level)
The Advanced Selenium Framework and Integration Competency (Intermediate Level) benchmark assesses your knowledge of integrating Allure reporting in Selenium tests, customizing Allure reports for better structure and readability, and building continuous integration pipelines using Jenkins with automated builds using Maven and GitHub integration. You will be assessed on your ability to integrate logging in the test framework using Log4j, configure Log4j programmatically, and use a properties file. Learners scoring high on this benchmark demonstrate the skills to implement Allure reporting and Log4j logging in Selenium tests while building Jenkins pipelines with Maven and GitHub for continuous integration.
20m    |   20 questions
Selenium Grid and BDD with Cucumber Competency (Intermediate Level)
The Selenium Grid and BDD with Cucumber Competency (Intermediate Level) benchmark measures your knowledge of running Selenium tests in parallel on multiple machines and browsers using Selenium Grid. You will be evaluated on your ability to use the Cucumber framework to execute Selenium tests using the behavior-driven development (BDD) methodology. Learners scoring high on this benchmark demonstrate the skills necessary to execute parallel Selenium tests across various machines and browsers using Selenium Grid and implement the BDD methodology with the Cucumber framework.
15m    |   15 questions