Skip to content

Project mobile serenity bdd with cucumber appium using pattern screenplay

Notifications You must be signed in to change notification settings

josimarcode/venecia-mobile-test-automation

Repository files navigation

https://mouredev.com Hola, mi nombre es Josimar Leon👋

Lead Quality Engineer

Especialista en automatizacion de pruebas de software desde hace más de 7 años.

👥 venecia-mobile-test-automation (Serenity BDD) in Developer using Gradle, Junit, Cucumber, Java, screenplay pattern and appium

Frameworks:

Este proyecto utiliza los siguientes lenguajes y frameworks:

Serenity BDD como framework de pruebas automatizadas.

Appium como framework para probar y validar aplicaciones web nativas, híbridas y móviles.

Cucumber como software de testing BDD que permite escribir en gherkin

Java 8 como lenguaje de programación.

Screen Play como el patrón de diseño.

Gradle como herramienta de compilación.

Y alguna más...

Pre-requisitos:

  1. Descargar la última versión estable de Java JDK aquí
  2. Instalar git desde aquí
  3. Instalar Gradle Build Tool desde aquí
  4. Instalar Android studio aquí
  5. Instalar Appium Desktop(Server GUI) aquí
  6. Instalar Appium Inspector aquí

👀 Adicional en su IDE de preferencia deberá tener instalados los siguientes plugins:

  1. JUnit
  2. Cucumber for Java
  3. Gherkin
  4. Lombok

🧪 Casos de prueba

Test diseñados para validar los escenarios Happy Paths 😃


  ✨ FEATURE**: WDIO Android sample app
      [Escenario] As a user, I can log into the wdio app
        [Given] I am on the login view
        [When] I login with "<username>" and "<password>"
        [Then] I should see a flash message saying "<message>"

🏗️ Estructura del proyecto

El proyecto tiene scripts de compilación para Gradle y sigue la estructura la siguiente estructura basada en el patrón de diseño de Screenplay:

src
+ test                                    |
  + java                                  | 
    + questions                           | Dev questions
    + runner                              | Test runners and supporting code
    + steps                               | Steps definition
    + tasks                               | Group interaction
    + ui                                  | Locators
 + resources                              | 
    + app                                 | App
    + features                            | Features set and file
android.properties                        | Android properties Serenity
build.gradle                              | build
ios.properties                            | Ios properties Serenity
serenity.properties                       | Default properties Serenity

▶️ Ejecución del proyecto:

Precondiciones:

- Iniciar Appium Server
- Emulator Online
  1. Descarga el proyecto desde GitHub
    • Opción 1 (HTTPS): https://github.com/josimarcode/venecia-mobile-test-automation.git
    • Opción 2 (SSH): [email protected]:josimarcode/venecia-mobile-test-automation.git
    • Opción 3: Descárgalo como archivo Zip y extráelo

  1. Terminal cd en la carpeta venecia-mobile-test-automation.
  2. Configurar Gradle
    • Ejecute el siguiente comando en el terminal:gradle build.

  1. Ejecutar las pruebas en el proyecto
  • Opción 1: ejecutar en la ruta del proyecto alguno de los siguientes comandos:
  gradle clean test
  gradle clean test -Dproperties=android.properties
  gradle clean test -Dproperties=android.properties  -Dcucumber.filter.tags="@HappyPath"
  gradle test -Dappium.hub=http://127.0.0.1:4723/wd/hub -Dwebdriver.driver=appium -Dappium.platformName=iOS -Dappium.browserName=Safari -Dappium.deviceName="iPhone 5"
  • Opción 2: Ir a las clases de la carpeta runners src/test/java/runner/ y ejecutar cada TestRunner.

📄 Generación de informes

El informe al detalle con los pasos y resultados de las pruebas que se registrará en la ruta: target/site/serenity/index.html.

About

Project mobile serenity bdd with cucumber appium using pattern screenplay

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published