The Maestro Tests App (ISTQB, A4Q, etc.) is now available on Google Play!

Examples

Web inputs

This is an example of using input fields such as numbers, text, passwords, or dates on a website

Add/Remove Elements

Dynamically adding and removing web elements

Notification Message

This example shows a dynamic notification message that can be used for practicing automated testing

Dynamic Table

Generating dynamic table content on every page load can be used as a practice exercise to verify cell values in a dynamic table

My Browser Information

This page, upon clicking the 'Browser Type' button, detects the name of your browser and displays it for you

Radio Buttons

Radio Buttons example can be used for practicing automated tests

Drag and Drop

Example (Drag and Drop) can be used for practicing Drag and Drop challenges in automated tests

Drag and Drop Circles

Example (Drag and Drop Circles) can be used for practicing Drag and Drop challenges in automated tests

Login Form

This example is a login form, a common use case for website authentication

Forgot Password

Example can be used for practicing the Forgot Password scenario in automated tests. An email will be sent to indicate password reset instructions

Basic Authentication (user and pass: admin)

This example utilizes Basic Auth, which can be used for practicing automated testing

Digest Authentication (user and pass: admin)

This example utilizes Digest Auth, which can be used for practicing automated testing

Form Validation

Example of Form Validation Using Bootstrap and JavaScript Technologies

File Upload

Example can be used for practicing upload files scenario in automated tests

File Downloader

Example can be used for practicing download files scenario in automated tests

Secure File Download

This example shows a secure download page that can only be accessed with authentication and can be used for practicing automated tests

Challenging DOM

Challenging DOM example to illustrate the challenges of finding good locators for automated tests

Large & Deep DOM

Large & Deep DOM example with nested levels deep to illustrate the challenges of finding good locators for automated tests

Shadow DOM

Example can be used for practicing Shadow DOM challenges in automated tests

Typos

This example demonstrates a typo being introduced. It does it randomly on each page load

MyIP Address

The web page show you your public IP address

Broken Images

Example can be used for practicing Broken Images challenges in automated tests

Infinite Scroll

Example can be used for practicing Infinite Scroll challenges in automated tests

Slow Resources

This example demonstrates a slow web resource and can be utilized for practicing automation testing challenges

JavaScript Dialogs

This page presents examples of various JavaScript Dialogs which can pose challenges for automation efforts.

JavaScript Error

This page showcases a JavaScript error in the onload event, serving as an example for practicing the detection of JavaScript errors through automated testing

JQuery UI

Examples based on JQuery UI can be used for practicing JQuery Widgets challenges in automated tests

JQuery UI Menus

JQueryUI UI Menu Widgets can be used for practicing challenges related to JQuery Widgets in automated tests

A/B Testing

A webpage designed to demonstrate the challenges of automating A/B Testing

Check Boxes

Enabling and disabling checkboxes

Context Menu

Handling context menus and right-clicks on specific areas

Key Presses

Example can be used for practicing automated tests of key presses

Disappearing Elements

This example illustrates how elements on a webpage change by appearing and disappearing on each page reload

Context Menu

This example illustrates how context menu items, which are custom options, appear in the right-click menu

Dropdown List

Example can be used for practicing automated tests of a dropdown menu list

Redirect Link

Example can be used for practicing redirect challenges in automated tests

Geolocation

Example can be used for practicing geolocation challenges in automated tests

Horizontal Slider

Example can be used for practicing automated tests for horizontal slider

Hovers

Example can be used for practicing hovers challenges in automated tests

Floating Menu

Examples can be utilized for practicing Floating Menu challenges in automated tests

IFrame

Examples can be utilized for practicing IFrames (Internal & External) challenges in automated tests

Multiple Windows

Example can be used for opening Multiple Windows

Sortable Data Tables

Examples of sortable data tables can be used to practice challenges with tables in automated tests

Tooltips

A tooltip is a small descriptive message that appears near a view when users long press the view or hover their mouse over it

Dynamic Content

This example demonstrates the ever-evolving nature of content by loading new text and images on each page refresh

Dynamic Controls

This example demonstrates when elements (e.g., checkbox, input field, etc.) are changed asynchronously

Dynamic Loading

The page automatically gets updated (e.g. hiding elements, showing elements, updating copy, etc) through the use of JavaScript

Shifting Content

These examples demonstrate elements on a page shifting a few pixels in either direction on each page load

HTTP Status Codes

This page compiles a list of examples for using HTTP status codes. Each page returns a specific code and can be utilized for practicing automated tests

Dynamic ID

Make sure you are not recording dynamic IDs of elements

Entry Ad

Displays an modal ad on page load. If closed, it will not appear on subsequent page loads

Exit Intent

An example of when a mouse goes out of viewport, a modal window will appear

Autocomplete

Example can be used for practicing Autocomplete challenges in automated tests

Contact Us

This example showcases a contact page utilizing a standard form

OTP: One Time Password

The example of a One Time Password (OTP) illustrates the process of authentication using an OTP code

Google Tracking Events

This page provides examples of Google tracking events, including common events that can be used to monitor user behavior on a website.

Scrollbars

Scrolling an element into view may be a tricky task in automated tests

Cookie Consent Alert

This page provides an example of using a cookie alert pop-up window, which can be used for practicing automated tests and managing cookies

HTTP Headers

This page displays all HTTP headers that are sent to the server when visiting this page

Check console logs

This page is designed to demonstrate how to output messages to the browser console using JavaScript, including logging, tables, warnings, and errors

Cypress spies, stubs and clocks

Examples of using (cy.spy, cy.stub, cy.clock) stubs, spies, and controlling clock time are useful for practicing automated tests

OAuth 2.0 providers

Example of using LinkedIn and Google OAuth 2.0 providers to register or login into an application

Demo Apps

Notes App | React

A React app for managing tasks with notes. Includes editing, completion tracking, and search/filter features. Ideal for automated testing of modern apps

Web Parking

Web-based parking e-commerce app demonstrates testing challenges and opportunities to work with business rules & automated e2e scenarios

BMI Calculator

Body Mass index (BMI) Application

Secure Password Checker

Secure Password Checker Application

Calorie Tracker

Calorie Tracker Application

Color Wheel

Demo application: Working with colors

Demo REST APIs

Notes API | Swagger

Notes WebApp APIs Swagger Documentation

Practice API | Swagger

Practice WebApp APIs Swagger Documentation

Health check API

An endpoint to quickly check the health status of the system under test's APIs

MyIP Address API

An API endpoint to retrieve the public IP address.

Assertions

Should Be

should be - Asserts that a particular value is truthy or falsy. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Should Have

should have - Asserts that a DOM element has a certain attribute or property. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Should Equal

should equal - Asserts that a value is equal to a given reference value. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Should Match

should match - Asserts that a value matches a particular regular expression. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Should Contain

should contain - Asserts that a string includes a particular substring. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Should Include

should include - Asserts that an array or object includes a particular value. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Should Exist

should exist - Asserts that a DOM element exists in the DOM. (Compatible with Cypress, Playwright, Selenium, WebdriverIO, etc.)

Reports Examples

Allure Reports

Examples of Allure Reports: Allure Report is a flexible, lightweight, multi-language test reporting tool that can be used with Cypress, Selenium, WebdriverIO, Mocha, etc.

Mochawesome Reports

Examples of Mochawesome Reports: Mochawesome reports are designed in a simple and mobile-friendly way, and they use Chart.js to visualize the test reports based on Mocha

Tools

Xpath and Css Tester

Free Online Xpath and Css Selector (Locator) Tester and Evaluator Tool. Learn CSS and XPath selectors in an easy and fun way

JavaScript, Mocha, Chai, and Sinon Player

Free online JavaScript, Mocha, Chai, and Sinon player tool. Get started with Mocha, Chai, and Sinon using your browser