Overview
RIU Web App Automation is an end-to-end UI test automation framework built with Selenium 4, Cucumber 7, and TestNG in Java 21. It targets the RIU Hotels & Resorts website and validates critical user flows — starting with the membership registration form — using the Behavior-Driven Development (BDD) approach. The framework is designed to be readable, maintainable, and extensible: Gherkin feature files describe test scenarios in plain language, the Page Object Model (POM) encapsulates UI interactions, and Allure generates rich HTML reports after every test run.Quickstart
Set up the project and run your first test in minutes
Architecture overview
Understand the layers: hooks, steps, pages, utilities
Writing tests
Learn how to write new Gherkin scenarios and step definitions
Allure reports
Generate and serve rich HTML test reports
Key features
Selenium 4
Uses Selenium 4’s built-in driver manager — no manual ChromeDriver download required
Cucumber BDD
Gherkin feature files make test scenarios readable by the whole team
Page Object Model
BasePage wraps every Selenium call with explicit waits, eliminating flakinessPicoContainer DI
Dependency injection shares the
WebDriver across all step classes safelyAllure reporting
Step-level HTML reports with screenshots, attachments, and BDD behavior tabs
Tag-based execution
Run only what you need with Cucumber tags such as
@smokeTechnology stack
| Component | Technology | Version |
|---|---|---|
| Language | Java | 21 |
| Browser automation | Selenium WebDriver | 4.18.1 |
| BDD framework | Cucumber | 7.15.0 |
| Test runner | TestNG | 7.9.0 |
| Dependency injection | PicoContainer | 7.15.0 |
| Reporting | Allure | 2.27.0 |
| Build tool | Maven | 3.x |
| AOP weaving | AspectJ | 1.9.21 |
What is tested
The current test suite covers the RIU Hotels user registration flow (https://www.riu.com/es):
- Navigate to the homepage and verify the page title
- Accept the cookie consent banner
- Open the “RIU pro” login/register modal
- Fill in the registration form — name, surname, email, country, gender, and legal consents — while intentionally skipping the birth date
- Submit the form and assert that the
"Este campo es obligatorio."validation error appears for the birth date field