9.0.0.alpha1
Pre-releaseThis is a pre-release of TestBench new major version 9.0 for upcoming Vaadin 24.
It is based on Jakarta EE 9 / Servlet 5.0 spec and requires JDK 17.
Features
-
Migration to Jakarta EE 9 / Servlet 5.0
Servlet API is used by Browser-less testing module. Jakarta Servlet API is under use and package namespaces are changed from
javax.*tojakarta.*. -
JUnit 5 support for TestBench core part
JUnit 5 support was introduced earlier in TestBench 8 for Browser-less testing module, aka UI unit testing. Now it's also available for core part of TestBench which uses web driver and browser. Note that this feature is under development and the API might change in the further versions.
Overall concept:
- JUnit 5 uses extension concept instead of rules and runners. TestBench 8 features were migrated to extensions.
- Base class
TestBenchTestBaseis now optional, but included util methods, previously included intoTestBenchTestCase. - Annotation
Testcan be used still, but since JUnit 5 considers methods as a templates being able to run with a multiple browsers capabilities, the shorthand annotationTestBenchTestwas introduced. It incapsulates test template annotation and test bench invocation context provider. - Screenshots feature is made now on top of extension, not a rule.
- Parallel test execution customisation is delegated to a native JUnit 5 API and can be configured via properties file.
- Retry on failure rule is delegated to Maven Surefire plugin and Gradle plugin.
Want to try it? Check examples in Vaadin skeleton starter project
Other changes
- Upgrade to Selenium 4.5.0 by @alvarezguille in #1530
- Update to latest license.checker.version by @alvarezguille in #1552
New Contributors
- @MarcinVaadin made their first contribution in #1547
Full Changelog: 8.1.1...9.0.0.alpha1