Of plugins & decorators-spotlight on Trivago's e2e test framework
summary
Trivago runs a pure Java, Selenium‑based e2e framework used across multiple web projects for five years that adds two concrete pieces: a custom WebElement decorator that uses a cgLib enhancer to lazily initialize elements, catch StaleElementReferenceExceptions and refine by parent-child locators recursively to recover, and a plugin system built on the Java Service Provider Interface so small plugins can react to WebDriver events, take screenshots, or toggle behavior with minimal waits like 50 milliseconds for direct checks, and it proves reliably faster and more maintainable.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:43Trivago and the challenge
- 3:14Framework selection
- 6:18Element resilience
- 8:30Page objects vs components
- 12:28Custom implementation
- 16:11Method interception logic
- 25:33Extensibility challenges
- 28:35Plugin API design
- 33:46Implementing plugins
- 38:04Lessons and reflections
- 41:51Q&A session
related talks
53mHow we reconstructed our releases at Trivago
37mAutomated Performance Testing With WebDriver
55mModern Web Testing: Going Beyond Selenium
37mExtending a Java Test Framework with SPI
01h 08mGrails Plugin Testing Strategies
01h 14mContinuous Testing
46mTest Automation with Selenium WebDriver, Java, and JUnit
41mFunctional Tests (Selenium) in Practice
