Documentation versions (currently viewingVaadin 23)
Check out the new styling guides

End-to-End Testing

End-to-end testing simulates a user of your application, performs the tasks specified using Java code, and verifies that the expected actions take place in the application.
Commercial feature

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

TestBench end-to-end testing approach can also visually inspect your application and detect unintentionally introduced changes, and verify that the application is visually OK in all the browsers you are testing with.

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

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


The main features of end-to-end testing are:

  • Control one or several browser instances from Java, both desktop and mobile browsers

  • A powerful and robust way to describe your tests, so that they do not break with application changes

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

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

  • Automatic screen comparison, highlighting differences

  • Assertion-based UI state validation

  • Easily 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.