Ejemplo de uso de Chance.js y Faker.js con Nightwatch.js

Ejemplo uso Nightwatch.js con Chance y FakerA partir del ejemplo propuesto en la home de Nightwatch.js, en el que hace una búsqueda en google de un texto, y verifica que ese texto aparece en los resultados, he creado 3 ejemplos de uso de Chance.js y Faker.js. En los 3 casos haremos una búsqueda en google, pero por un nombre propio autogenerado dinámicamente, y verificaremos que ese nombre aparece en la página de resultados.

Hemos generado un archivo utils.js que es dónde tendremos la implementación de la generación de los nombres, y en nuestros tests únicamente llamaremos a utils para que nos dé los datos que necesitamos. De esta forma, si en el futuro cambiamos el framework para generar los datos, únicamente necesitaremos hacer cambios en utils.js.

Cómo ejecutar los ejemplos

Para poder utilizar el proyecto lo primero que debéis hacer es clonar el proyecto de github. El único pre requisito es tener instalado Node.js.

Una vez descargado el proyecto, desde línea de comandos (o terminal) ejecutar npm install para instalar Nightwatch.js y las dependencias del proyecto (Chromedriver, Chance.js y Faker.js).
Para ejecutar los ejemplos hay que ejecutar el comando node_modules/nightwatch/bin/nightwatch desde la línea de comandos (o terminal).

Qué hace cada test

En el test exampleUsingChance.js vamos a generar un nuevo nombre y apellido aleatorio con utils.generate_random_name().

Nightwatch exampleUsingChance.js
Nightwatch exampleUsingChance.js

En exampleUsingFaker.js queremos usar Faker.js, por lo que le pasamos ‘faker’ cómo parámetro. Esta es una posible implementación, pero es sólo un detalle. En vuestros tests tal vez otra implementación sea más conveniente.

Nightwatch exampleUsingFaker.js
Nightwatch exampleUsingFaker.js

En exampleGeneratingAnObjectWithCredentials.js lo que hacemos es generar un objeto con Nombre, Email, Género y Fecha de nacimiento, algo que podría ser muy útil en este tipo de tests, aunque finalmente sólo usamos el nombre.

El archivo utils.js tendría este aspecto:

 

Archivo utils.js con la implementación de Chance y Faker
Archivo utils.js con la implementación de Chance y Faker

Esto es un ejemplo de lo que podríamos hacer. A partir de aquí, podríamo refactorizar para, por ejemplo, dejar de pasarle el timeout a cada waitForElement definiendo una propiedad global waitForConditionTimeout.

1 comentario en «Ejemplo de uso de Chance.js y Faker.js con Nightwatch.js»

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad