Logo-Spanish

GR

 

 

 

QA AUTOMATION ENGINEER

 

Herramientas de parametrización: TestSpicer

Algún tiempo atrás (como dirían los Enanitos Verdes) hablé aquí acerca de la parametrización o aleatorización y su importancia cuando estamos automatizando. En aquel momento, comenté que conocía algunas herramientas que nos podrían ayudar a hacer nuestras pruebas mas parametrizadas o más aleatorias. En mi primer post acerca de esas herramientas hablé de Generate Data una herramienta web que basicamente, nos genera los datos en un archivo, el cual tenemos que bajar o guardar en alguna parte de nuestro proyecto, y luego llamar a ese archivo desde el código de nuestras pruebas.

En esta ocasión les traigo TestSpicer una herramienta de parametrización que basicamente nos permite obtener datos durante la ejecución.

TestSpicer

¿Como funciona?

TestSpicer tiene un API, el cual podemos llamar desde el código de nuestras pruebas. Así cuando nuestra prueba se ejecuta, y necesita un dato, lo pide, lo recibe, y lo usa en el momento. Es muy facil de usar e intuitiva. Aquí podemos ver la documentación y podemos de echo ejecutar los llamados a cada uno de los endpoints desde su interfaz web para ver que tipo de dato y en qué formato nos entrega la información. La ventaja que TestSpicer tiene sobre Generate Data es que no tenemos que estar generando archivos con información, manualmente, cada tanto tiempo y estarlos guardando localmente. TestSpicer te da la oportunidad de generar datos "al vuelo" y usarlos. Veamos un ejemplo.

Digamos que voy a registrar un nuevo usuario en mi sitio que contiene la siguiente información en la forma de registro:

Nombre

Apellido

Email

Password

Lo que necesito hacer es primero, iniciar la sesión con TestSpicer (esto para delimitar cuando empieza nuestro test) y luego simplemente usar variables y en cada una hacer el llamado al endpoint necesario. Para finalizar, solo cerramos la sesión con TestSpicer, en Ruby sería algo como:

load "TestSpicerAPI.rb"

sessionId = start_test('Ruby', 'Testing', 'example', 'This is an example', 'Something', 'None')

name = get_random_name(sessionId)['firstname']
lastname = get_random_name(sessionId)['lastname']
email = get_random_email(sessionId)['email']
password = get_random_alphabet_string(sessionId, "10")['string']

puts name
puts lastname
puts email.downcase
puts password

finish_test(sessionId)

 

En Python: 

import TestSpicerAPI

testApi = TestSpicerAPI.TestSpicerAPI()

sessionId = testApi.startTest('Project', 'Suite', 'Test', 'This is a test', 'Functional Area', 'Risk Coverage')

email = testApi.getRandomEmail(sessionId)['email']
name = testApi.getRandomName(sessionId)['firstname']
lastname = testApi.getRandomName(sessionId)['lastname']
password = testApi.getRandomAlphaNumeric(sessionId, 10)['string']

print name
print lastname
print email
print password

finishTest = testApi.finishTest(sessionId)

 

Pueden ver mi servicio para llamar a TestSpicer en mi Github. No está completo con todos los endpoints de TestSpicer pero es fácil de seguir y adaptar a nuevos endpoints.