Documentation versions (currently viewingVaadin 23)

You are viewing documentation for Vaadin 23. View latest documentation

End-to-End Testing

End-to-end testing simulates an application, performs tasks specified using Java code, and verifies expected actions take place in application.
Commercial feature

A commercial Vaadin subscription is required to use TestBench in your project.

The TestBench end-to-end testing approach can visually inspect an application and detect unintentionally introduced changes. It can also verify that the application is visually OK in all browsers with which you’re testing.

TestBench also includes special support for other Vaadin products, making testing easy and robust compared to generic web testing solutions.

Although it’s not the main purpose of TestBench, you can also use the end-to-end testing approach to automate mundane tasks such as filling in forms.

TestBench supports JUnit 5 testing framework on end-to-end tests.


Below are the main features of end-to-end testing:

  • Control one or more browser instances from Java — both desktop and mobile browsers.

  • A powerful and robust way to describe your tests so that they don’t break with application changes.

  • A high-level API for finding the component with which you want to interact.

  • Vaadin Component API for easy interaction with all Vaadin components and HTML elements.

  • Automatic screen comparison, highlighting differences.

  • Assertion-based UI state validation.

  • Run tests in parallel.

  • Test grid support to speed up tests by running in parallel on multiple browsers on selected operating systems.

  • Support for JUnit and other testing frameworks.

  • All features available in Selenium.

In addition to end-to-end testing, TestBench also enables you to write UI unit tests for your Vaadin applications. Each approach has their own advantages.