Tesults: integración de sus pruebas automatizadas

Tesults hace que las bibliotecas estén disponibles para integrarse para varios idiomas, lo que incluye:

  • Python
  • Node.js / JS
  • Java
  • C#
  • Ruby
  • Go

También hay una API REST disponible. Para cargar archivos y datos generados por la prueba, se debe utilizar una de las bibliotecas.

Sin integración de código

Para algunos marcos de prueba, es posible integrar sin ningún código utilizando bibliotecas específicas del marco de prueba que están disponibles.

Los marcos de prueba que no requieren código para integrarse incluyen:

  • pytest
  • Robot
  • Jest
  • Mocha
  • JUnit5
  • NUnit 3

El proceso de integración es similar para todas estas bibliotecas.

Instalar complemento

Dentro de su proyecto de prueba, instale el complemento Tesults relevante. Por ejemplo, si está usando pytest, esto se hace usando‘pip install tesults’ seguido por ‘pip install pytest-tesults’. Si está usando Mocha, usa‘npm install mocha-tesults-reporter – save’. Consulte el comando apropiado para su marco de prueba en el sitio web de Tesults.

Configurar complemento

Algunos complementos no requieren configuración y están listos para usar de inmediato, otros requieren una pequeña cantidad de configuración. En el caso de pytest, por ejemplo, no se requiere ninguna configuración adicional y está listo para usar.

En el caso de Mocha, se necesita un pequeño cambio en el ‘mocha’ llamada, específicamente el reportero debe ser especificado, ‘mocha --reporter mocha-tesults-reporter’. Consulte el sitio web de Tesults para conocer la configuración específica para el marco que está utilizando pero, en general, la configuración es un cambio de una línea o ningún cambio.

Pase Args

Hay un argumento obligatorio para pasar al complemento y otros argumentos opcionales. El argumento requerido es proporcionar el token de destino de Tesults. Este token se generó en la creación del proyecto para el objetivo predeterminado en la página del tutorial anterior. Puede obtener un nuevo token si no tiene este token desde el menú de configuración en Tesults. Hacer clic‘Regenerate Target Token’ en el menú de configuración.

La forma de pasar el argumento depende de su marco de prueba y complemento. Por ejemplo, en pytest se puede proporcionar en la llamada de pytest‘pytest --tesults-target token_value’o usando un archivo de configuración. Para Mocha, es similar, se puede pasar en el mocha llamado‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ o se puede pasar en un archivo de configuración.

El token de destino es el único argumento obligatorio, hay argumentos opcionales para pasar información de compilación y para cargar archivos. Consulte el sitio web de Tesults para obtener información específica sobre argumentos para su marco de prueba.

Ejecutar pruebas

Ejecute sus pruebas y los resultados ahora se enviarán a Tesults.

Integración de código

Si está utilizando un marco de prueba personalizado o un marco de prueba para el que Tesults no tiene una biblioteca o complemento específico, debe hacer uso de uno de los marcos de lenguaje.

Aquí, echaremos un vistazo a lo que implica la integración para Python. Otros lenguajes tienen procesos de integración muy similares, consulte el sitio web de Tesults para obtener detalles específicos para su lenguaje de programación, pero siga este tutorial primero para tener una idea del proceso:

Instalar biblioteca

Para Python, el siguiente es el comando:

pip install tesults

Para otros lenguajes, el proceso es similar, para los frameworks de prueba JS, instalas la biblioteca desde npm, para Java puedes usar Gradle o Maven, para C # los paquetes están alojados en NuGet y Ruby lo tiene disponible como una joya.

Configurar biblioteca

Para Python, la configuración implica solo un require ‘tesults’en cualquier módulo que desee utilizar la biblioteca. Nuevamente, se necesita una configuración similar en otros idiomas. Consulte el sitio web de Tesults para conocer la configuración específica de su lenguaje de programación.

Datos de prueba de mapas

Este paso es algo que los complementos sin código le permiten evitar. Para la integración basada en código, debe asignar sus datos de prueba a los datos de prueba de Tesults.

Para Python, esto significa convertir el resultado de cada caso de prueba en un diccionario de Python:

{
   'name': 'Tutorial 1',
   'desc':'Tutorial 1 .',
   'suite': 'Tutorials Point',
   'result': 'fail',
   'reason': 'Assert fail in line 102, tutorialspoint.py',
   'files': ['full-path/log.txt', 'full-path/screencapture.png'],
   '_CustomField': 'Custom field value'
}

El nombre y el resultado son obligatorios. Todo lo demás es opcional. El resultado debe ser uno de‘pass’, ‘fail’, o 'desconocido'.

Es útil proporcionar el paquete porque ayuda a los grupos a probar casos cuando ven resultados y ayuda a evitar conflictos de nombres. Se debe proporcionar el motivo de los casos de prueba fallidos.

Los archivos son útiles para garantizar que los registros y otros archivos de prueba se almacenen y se puedan ver junto con el caso de prueba para el que son.

También puede tener cualquier número de campos personalizados; deben comenzar con el carácter de subrayado (_). Para cada caso de prueba, cree un diccionario de esta manera y guárdelos en una matriz.

Cargar resultados

Para cargar resultados, cada biblioteca proporciona una función de carga de resultados. En el caso de Python, debe llamar a lo siguiente:

tesults.results(data)

donde sigue el parámetro de datos -

data = {
   ‘target’: ‘token’,
   ‘results’: {
      ‘cases’: [<your test cases>]
   }
}

La matriz de casos es la matriz creada en la sección anterior.

Para otros lenguajes de programación, el proceso es exactamente el mismo con solo cambios de sintaxis.

Ayuda

El sitio web de Tesults tiene una forma de solicitar ayuda para la integración si la necesita.

Próximos pasos

En este punto, la integración está completa y podemos ver cómo ver, analizar y tomar medidas a partir de los resultados de las pruebas.