Class BrowserlessTest

java.lang.Object
com.vaadin.browserless.BaseBrowserlessTest
com.vaadin.browserless.BrowserlessTest
All Implemented Interfaces:
TesterWrappers

@ExtendWith(com.vaadin.browserless.BrowserlessTestExtension.class) public abstract class BrowserlessTest extends BaseBrowserlessTest implements TesterWrappers
Base JUnit 6 class for browserless tests. The class automatically scans the classpath for routes and error views. Subclasses should typically restrict classpath scanning to specific packages for faster bootstrap by using the ViewPackages annotation. If the annotation is not present, a full classpath scan is performed.
 
 @ViewPackages(classes = { CartView.class, CheckoutView.class })
 class CartViewTest extends BrowserlessTest {
 }

 @ViewPackages(packages = { "com.example.shop.cart", "com.example.security" })
 class CartViewTest extends BrowserlessTest {
 }

 @ViewPackages(classes = { CartView.class, CheckoutView.class }, packages = {
         "com.example.security" })
 class CartViewTest extends BrowserlessTest {
 }
 
 
The Vaadin environment lifecycle is managed by BrowserlessTestExtension, which calls BaseBrowserlessTest.initVaadinEnvironment() before each test and BaseBrowserlessTest.cleanVaadinEnvironment() after each test via virtual dispatch. When the test class is annotated with @TestInstance(TestInstance.Lifecycle.PER_CLASS), the environment is shared across all tests in the class (initialized once in @BeforeAll, torn down in @AfterAll).

To provide custom Flow service implementations via the Lookup SPI, override BaseBrowserlessTest.lookupServices():

 
 @Override
 protected Set<Class<?>> lookupServices() {
     return Set.of(CustomInstantiatorFactory.class);
 }
 
 

Note: Subclasses that override initVaadinEnvironment must NOT add @BeforeEach — the extension handles invocation via virtual dispatch.

To get a graphical ASCII representation of the UI tree on failure, add @ExtendWith(TreeOnFailureExtension.class) to the test class.

See Also:
  • Constructor Details

    • BrowserlessTest

      public BrowserlessTest()
  • Method Details

    • testingEngine

      protected final String testingEngine()
      Description copied from class: BaseBrowserlessTest
      Gets the name of the Test Engine that is able to run the base class implementation. The Test Engine name is reported in the exception thrown when the Vaadin environment is not set up correctly.
      Specified by:
      testingEngine in class BaseBrowserlessTest
      Returns:
      name of the Test Engine.