Tesults - Intégration de vos tests automatisés

Tesults met à disposition des bibliothèques à intégrer pour diverses langues, notamment:

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

Une API REST est également disponible. Pour télécharger les données et les fichiers générés par le test, l'une des bibliothèques doit être utilisée.

Aucune intégration de code

Pour certains frameworks de test, il est possible d'intégrer sans aucun code à l'aide des bibliothèques spécifiques au framework de test disponibles.

Les frameworks de test ne nécessitant aucun code à intégrer incluent -

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

Le processus d'intégration est similaire pour toutes ces bibliothèques.

Installer le plugin

Dans votre projet de test, installez le plugin Tesults approprié. Par exemple, si vous utilisez pytest, cela se fait en utilisant‘pip install tesults’ suivi par ‘pip install pytest-tesults’. Si vous utilisez Mocha, vous utilisez‘npm install mocha-tesults-reporter – save’. Consultez la commande appropriée pour votre cadre de test sur le site Web de Tesults.

Configurer le plugin

Certains plugins ne nécessitent aucune configuration et sont prêts à être utilisés immédiatement, certains nécessitent une petite configuration. Dans le cas de pytest, par exemple, aucune configuration supplémentaire n'est requise et il est prêt à l'emploi.

Dans le cas du moka, un petit changement est nécessaire au ‘mocha’ appeler, en particulier le rapporteur doit être spécifié, ‘mocha --reporter mocha-tesults-reporter’. Consultez le site Web de Tesults pour la configuration spécifique du cadre que vous utilisez mais, en général, la configuration est un changement d'une ligne ou aucun changement.

Passer Args

Il y a un argument obligatoire à transmettre au plugin et d'autres arguments facultatifs. L'argument requis est de fournir le jeton cible Tesults. Ce jeton a été généré lors de la création du projet pour la cible par défaut dans la page précédente du didacticiel. Vous pouvez obtenir un nouveau jeton si vous ne l'avez pas dans le menu de configuration de Tesults. Cliquez sur‘Regenerate Target Token’ dans le menu de configuration.

La manière de passer l'argument dépend de votre framework de test et de votre plugin. Par exemple, dans pytest, il peut être fourni dans l'appel pytest‘pytest --tesults-target token_value’ou en utilisant un fichier de configuration. Pour Mocha, c'est similaire, il peut être passé dans le moka appelé‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ ou il peut être passé dans un fichier de configuration.

Le jeton cible est le seul argument requis, il existe des arguments facultatifs pour la transmission des informations de construction et pour le téléchargement des fichiers. Consultez le site Web de Tesults pour obtenir des informations spécifiques sur les arguments de votre cadre de test.

Exécuter des tests

Exécutez vos tests et les résultats seront maintenant soumis à Tesults.

Intégration de code

Si vous utilisez un framework de test personnalisé ou un framework de test pour lequel Tesults n'a pas de bibliothèque ou de plugin spécifique, vous devez utiliser l'un des frameworks de langage.

Ici, nous allons jeter un œil à ce qu'implique l'intégration pour Python. D'autres langages ont des processus d'intégration très similaires, consultez le site Web de Tesults pour plus de détails sur votre langage de programmation, mais suivez d'abord ce tutoriel pour avoir une idée du processus -

Installer la bibliothèque

Pour Python, ce qui suit est la commande -

pip install tesults

Pour les autres langages, le processus est similaire, pour les frameworks de test JS, vous installez la bibliothèque à partir de npm, pour Java, vous pouvez utiliser Gradle ou Maven, pour C # les packages sont hébergés sur NuGet, et Ruby l'a disponible sous forme de gemme.

Configurer la bibliothèque

Pour Python, la configuration implique juste un require ‘tesults’dans n'importe quel module que vous souhaitez utiliser la bibliothèque. Encore une fois, une configuration similaire est nécessaire dans d'autres langues. Consultez le site Web de Tesults pour la configuration spécifique de votre langage de programmation.

Carte des données de test

Cette étape est quelque chose que les plugins sans code vous permettent d'éviter. Pour l'intégration basée sur le code, vous devez mapper vos données de test aux données de test Tesults.

Pour Python, cela signifie transformer chaque résultat de cas de test en un dictionnaire 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'
}

Le nom et le résultat sont obligatoires. Tout le reste est facultatif. Le résultat doit être l'un des‘pass’, ‘fail’, ou «inconnu».

La suite est utile à fournir car elle permet de regrouper les cas de test lors de l'affichage des résultats et d'éviter les conflits de noms. La raison doit être fournie pour l'échec des cas de test.

Les fichiers sont utiles pour garantir que les journaux et autres fichiers de test sont stockés et peuvent être affichés à côté du scénario de test pour lequel ils sont destinés.

Vous pouvez également avoir n'importe quel nombre de champs personnalisés; ils doivent commencer par le caractère de soulignement (_). Pour chaque cas de test, créez un dictionnaire de cette manière et stockez-les dans un tableau.

Télécharger les résultats

Pour télécharger les résultats, chaque bibliothèque fournit une fonction de téléchargement des résultats. Dans le cas de Python, vous devez appeler ce qui suit -

tesults.results(data)

où le paramètre de données suit -

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

Le tableau cases est le tableau créé dans la section ci-dessus.

Pour les autres langages de programmation, le processus est exactement le même avec juste des changements de syntaxe.

Aidez-moi

Le site Web de Tesults a un moyen de demander de l'aide pour l'intégration si vous en avez besoin.

Prochaines étapes

À ce stade, l'intégration est terminée et nous pouvons voir comment afficher, analyser et agir à partir des résultats des tests.