Vaadin TestBench

Cut away manual testing and automate development, integration and acceptance testing. Vaadin TestBench is a tool for automated user interface testing of web applications on all platforms and browsers. Build pixel perfect tests using friendly Java APIs and run them over and over again.

Tutorial Download

 
What's new ?

Vaadin TestBench 4.0.2 released Feb 19, 2015

TestBench 4.0.2 is available  Download now »



Highlights
  • Simulate users

    Run full-stack browser based tests that simulates the user interactions in real-time.

  • Point and click

    Choose the inputs simply by pointing and clicking on them in the user interface

  • Java clearness

    Write the tests in your IDE using clean object oriented Java and ensure ease of maintenance.

  • QA framework compatible

    Use your favorite test framework and integrate with JUnit, TestNG, JBehave, Arquillian, etc.

  • Performance timing

    Run and analyze the users' actions from end to end to find the hot spots in your system.

  • Pixel perfect testing

    Unique and fast screenshot comparison of the user interface unlike any other testing tool.

  • Mobile testing

    Compatible with Vaadin TouchKit: Test your Vaadin iOS, Android and Windows Phone applications the same way.

  • Forward compatible

    Logical, component based testing ensures that your test cases and application work – also in the future.

Vaadin TestBench Features

Simple UI test automation

Vaadin TestBench is deeply integrated with Vaadin and this makes it very easy to add test automation to your existing projects. Vaadin specific selectors and API provide the most convenient testing environment for testing Vaadin applications.

Start simply by creating your first test case:

public void testClickButton() throws Exception {
    openTestUrl();

    // Click the button
    ButtonElement clickMeButton = $(ButtonElement.class).
    caption("Click Me").first();
    clickMeButton.click();

    // There should now be one label
    assertEquals(1, $(LabelElement.class).all().size());

    // ... with the specified text
    assertEquals("Thank you for clicking",
        $(LabelElement.class).first().getText());
}

Checkout the project in GitHub

Serious test automation

Many big Vaadin projects use Vaadin TestBench. In fact, we use it to test the Vaadin Framework itself. There are over 6500 tests written in Vaadin TestBench that we run every day.

Getting started

Start your testing by simply including TestBench as a Maven dependency. Write your test using JUnit and execute locally for Test Driven Development (TDD). Continue with Continuous Integration (CI) and run your tests on every commit to ensure your quality matches your end-user expectations.

Read the getting started tutorial