BDD (Parte 2) – Armado del proyecto en RUBY + Cucumber + Watir

Anteriormente explicamos el concepto y como es el proceso de trabajo utilizando BDD. Si te gustó lo que viste, hablaste con tu equipo y te parece bueno implementarlo.. este post es para ti, mostraré cómo armar desde 0 un proyecto en Ruby usando Cucumber de una forma simple y prolija.

Por que elijo este lenguaje y este framework? Fue con el que tuve mejores resultados, ya que Ruby de por si te permite un montón de cosas que hace que automatizar en BDD sea algo bien simple. Igualmente si no te gusta Ruby o Cucumber mirá mis posts anteriores que hablan sobre lenguajes y frameworks para buscar uno que se adapte más a ti y a tu proyecto.

Cabe aclarar que antes de empezar tienes que instalar ruby en tu SO (si tienes windows te recomiendo https://rubyinstaller.org/ para instalarlo, y si tienes Linux o Mac te recomiendo instalarlo por la RVM). Para este ejemplo estoy usando Sublime Text como si fuera un IDE, utilizando los distintos plugins que existen para cucumber y ruby.

  1. Estructura del proyecto

Este es el punto más importante de todos, ya que con una buena estructura podrás hacer tests de forma ordenada y mantenible. En general la estructura mas aceptada para los proyectos en cucumber y ruby es la que mostraré a continuación. Si bien puedes variar la estructura, es importante que quede claro en el proyecto las 3 capas bien definidas. Estas son : capa donde se encuentran las features (tus tests armados y compuestos por steps), capa donde se encuentran tus steps definidos, capa donde tienes tus PO y tus otras clases.

2018-04-01_21-51-37

 

2 – Gemfile

Necesitarás las siguientes gemas para construir tu proyecto :

2018-04-01_21-55-57

  • Bundler para poder instalar tus gemas usando el comando bundle install y que bundler lea el gemfile. Cabe destacar que esta gema tendrás que instalarla usando el comando “gem install bundler” antes.
  • Cucumber para disponer del framework cucumber.
  • Byebug para poder debuggear (si usas sublime es importantisima esta gema, si usas un IDE puedes debuggear desde el mismo).
  • Page-object para poder construir los pageobjects de una manera prolija
  • watir-webdriver es la gema que interactuará con el browser. Aquí puedes usar selenium si lo deseas, el codigo cambia muy poco, yo en lo personal he tenido mejores resultados con watir.
  • Colorize (opcional) para poder imprimir en la consola la ejecución con colores.
  • Headless (opcional) para poder ejecutar los tests en headless (que no se vea el browser)

3 – Bundle install

Colócate en la consola en la carpeta de tu proyecto y lanza el comando : “bundle install” (sin las comillas). Instalará todas las gemas que tu has puesto en el gemfile. Si deseas agregar mas gemas simplemente las agregas en el gemfile y lanzas nuevamente el comando.

 

Con esto ya tienes todo pronto para arrancar con cucumber a armar tus casos de prueba. Notarás que todo es bastante simple, y eso es lo bueno que tiene ruby, armar tests en Ruby te da una mayor agilidad y prolijidad dada la poca cantidad de codigo que hay que ingresar.

En el proximo post nos meteremos de lleno con el armado de las pruebas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

WordPress.com.

Subir ↑

A %d blogueros les gusta esto: