GithubHelp home page GithubHelp logo

ikso-cypress's Introduction

Cypress FRAMEWORK

Requisitos

Es necesario tener instalado:

IDE

En el caso de Cypress se pueden utilizar otros IDE como “IntelliJ”, pero detectamos que cuenta con algunas limitaciones en su uso, por lo que recomendamos utilizar Visual Studio Code:

Plugins requeridos para el IDE VSCode

Instalación

Cypress es un framework impulsado por el motor NPM. Solo se requiere ejecitar el siguiente comando:

$ npm install

Ejecución

Ahora, realizados todos los pasos anteriores, podemos ejecutar de la siguiente forma:

$ npx cypress {Cypress Option} -e TAGS='{Tags}',configFile={Ambiente} {Browser}

Cypress Option

Comando Descripción
run Ejecutas la pruebas en background
open Abre la interfaz de cypress para pruebas de script y debugger

Ambiente

Comando Archivo de configuración Descripción
qa qa-cypress.json Para ambiente de pruebas QA
dev dev-cypress.json Para pruebas locales

Tags

Comando Ejemplo Descripción
not TAGS='@full not @ignore' Se ejecutarian todos los scripts con el tag full pero no si tienen el tag ignore
and TAGS='@smokeTest and @login' Se ejecutan los scripts con tag smoTtest y los que tengan el tag login
or TAGS='@login1 or @login2' Se ejecutan scrips que tengan el tag login1 o el tag login2

Browser

Comando Descripción
chrome Ejecuta las pruebas en chrome. Si esta la opción open de cypress se activara por default la opción de debbuger
firefox Ejecuta las pruebas en Firefox
electron Ejecuta las pruebas en Electron. Esta opción es el navegador por default en caso de no poner el comando --browser

Por ejemplo, usando los datos en las tablas, podriamos tener el siguiente comando:

$ npx cypress run -e TAGS='@full',configFile=dev --browser chrome

Docker

Para ejecutar el proyecto en docker bastaria con el siguiente comando:

$ docker-compose up cypress  

Si es necesario modificar la ejecución en docker podemos hacerlo en el siguiente apartado dentro del archivo docker-compose.yml

    ...
    image: "cypress/included:8.7.0"
    command: {Comando}
    working_dir: /e2e
    ...

Nota: Cuando el framework se ejecuta en docker es posible que se necesite aplicar un comnado extra para generar el reporte, esto solo en caso que no se genere el archivo cucumber_report/cucumber-report.html

Genración de reporte:

$ npm run merge:reports 

Estructura del proyecto

├── cypress
│   ├── enviroments
│   │   ├── # Aqui se agregaran los archivos de ambiente. Se definen URL, ENDPOINTS y conección para la BD
│   ├── fixtures
│   ├── integration
│   │   ├── api
│   │   ├── mobile
│   │   ├── web
│   ├── plugins # Librerias y plugins de NodeJS
│   │   └── index.js # Archivo de configuración de plugins
│   ├── support
│   │   ├── commands.js     # Comandos de funciones generales del framework
│   │   ├── index.js        # Archivo de configuración de comandos para Cypress
├── cucumber_report # Carpeta en donde se generan
├── cypress.json # Configuración general de Cypress
├── docker-compose.yml 
└── package.json # Archivo instalación de Cypress. Contiene librerias y los scripts de ejecución

Authors

ikso-cypress's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.