Mobile Automation — SauceDemo

End-to-end automation project for the SauceDemo mobile app (Android). Covers essential flows: login, cart, context menu, checkout, and price validations.

Scope

  • User authentication (Login)
  • Shopping cart management
  • Context menu navigation
  • Complete checkout flow
  • Price calculation and validations

Technologies & Tools

  • Appium
  • Cucumber (BDD)
  • JUnit 5
  • Java
  • Allure Reports

Documentation & Test Tracking

In addition to automated reports (JUnit + Allure), I maintain manual documentation of the test cases covered to ensure traceability and functional coverage.

IDFeatureEscenarioAutomatizadoArchivo Feature
F001-S01Login de usuarioLogin válido✔️ Sílogin.feature
F001-S02Login de usuarioLogin fallido✔️ Sílogin.feature
F001-S03Login de usuarioLogin bloqueado✔️ Sílogin.feature
F001-S04Login de usuarioLogin con contraseña vacía✔️ Sílogin.feature
F001-S05Login de usuarioLogin con usuario vacío✔️ Sílogin.feature
F002-S01Funcionalidad del carritoAñadir un producto al carrito✔️ Sícart.feature
F002-S02Funcionalidad del carritoEliminar un producto del carrito✔️ Sícart.feature
F002-S03Funcionalidad del carritoAñadir múltiples productos y verificar el total✔️ Sícart.feature

Fragment from the manually maintained test case documentation.

Technical Challenges

Coming from a more traditional testing approach, adapting to BDD with Cucumber required some effort, despite being familiar with Gherkin syntax.

Solutions Implemented

I started with simple tests using JUnit and gradually migrated them to BDD, which helped me better understand the structure and flow of Cucumber-based automation.

Key Features

  • End-to-end mobile flow automation
  • Allure Reports with automatic screenshot capture on failures
  • Data sharing between test steps
  • Best practices: Hooks, Page Object Model, and Context Management

Screenshot Example in Allure

Allure Screenshot Example

Example of a test execution result screenshot on mobile.

Result

Stable and maintainable mobile test suite covering key functionalities of the app. Although its scope is slightly smaller than the web version, it is easy to extend and adapt.

Lessons & Future Improvements

  • Deeper knowledge of BDD with Cucumber and reporting with Allure
  • Next steps: improved cross-device testing and CI integration

Repository