Selenium 4 Java Devs

Master Automated Browser Testing in Java with Selenium
View all courses

Selenium 4 Java Devs Syllabus

Part I

  • The Art of (Web) Testing

    • Seeing your app through the eyes of the user

    • Acceptance Testing: Crafting Readable, Lasting Tests

    • What Makes Great Tests

    • SWIFT: The Five Qualities of Valuable Tests

    • Outside-in Testing

  • Different Camps same tools

    • Making Testing a normal and invisible part of your Development process

    • QA vs. Developers

  • Testing the Modern Layered Web Application: A Testing Approach

  • Testing with a goal: Acceptance Test vs. Application Integration Tests

    • Where do my tests live? Who runs my tests?

  • A hands-on introduction to Selenium on the Selenium Playground

    • Setting up a Selenium-Maven Project

    • WebDriver Setup

    • Exploring the Web with Selenium

    • Taking Screenshots

    • Finding Elements on a Page with Selector

    • CSS vs XPath

    • Control the flow with Browser Navigation

    • The subtle art of clicking things: Singe, Double, Hovering

    • Handling Alerts/Modals/Dialogs

    • Working with Drop-downs

    • Dealing with Drag-n-Drop

    • A introduction to “Waiting for Things”

Part II

  • Understanding Selenium’s Architecture

  • WebDriver

    • WebDriver API & SPI

    • Working with different browsers / WebDriver Profiles

  • Multiple Browsers - Creating a Testing Matrix

  • Selenium and TestNG / Selenium and JUnit

    • TestNG/JUnit Refresher

  • Mastering CSS Selectors

    • Efficient DOM Element Selecting

    • When to cache lookups

  • TDD & BDD and how it matters to QA

    • Pragmatic Test-Driven Development (TDD) and Behavior-Driven Development (BDD) for Web Development

    • How and when to use TDD

    • Red-Green-Refactor

    • Using Features Tests to Build a Feature

  • Extracting Tests for User Stories/Use Cases

  • Design/Structural Patterns

    • The Page Object Pattern

    • The Page Fragment Pattern

    • The Page Factory Pattern

    • Working with Loadable Components

  • Testing, Security, Robustness and other aspects of Web Apps

    • Anomaly Detection with Screenshots

    • Test to break: Pushing the resiliency and security of your Web Apps

  • Taking Videos of a failing test

  • Best Practices when testing AJAX and Single-Page Applications (SPAs)

    • Explicit and Implicit Waits Revisited

    • Working with DOM Events

    • Testing a (Angular/React/Vue) Application

  • The need for executing JavaScript directly

    • Triggering events in the browser

    • Returning results to your tests

  • Selenium and …

    • JQuery: Tips and Tricks

    • HTML5

    • Progressive Web Apps

    • Dealing with Legacy: Really, really old, convoluted HTML

  • Working with Frames and iFrames

  • Organizing your Tests

    • Test and Test Suites

    • Declarative Configurations for TestNG

  • Test Data and Data Fixtures: Setting the stage for repeatable tests

    • Data-driven Tests

    • Fixtures and Factories

    • Dates and Times

  • Using the Selenium IDE

  • Distributing your Tests with Selenium Grid

  • Selenium Grid on EC2

  • DevOps Glue: Build Integration and CI setup (w/ Jenkins)

    • Making Continuous Testing a Reality

    • Best Practices: When and what to test

    • Reporting: Quality, Metrics

    • Monitoring and Testing

    • The problems of scaling End-to-end Testing

    • Containers and Testing

Course Prerequisites
  • Intermediate Java and Unit Testing knowledge

  • Intermediate understanding of Web Development and Web Applications

Onsite Training

Duration: 2 Days

Tagged under: testing selenium java automation

Capacity: Groups of five or more. Customizable.

Request Quote Schedule Appointment