Tesults: integrazione dei test automatizzati

Tesults rende disponibili librerie da integrare per varie lingue che includono:

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

È disponibile anche un'API REST. Per caricare file e dati generati dal test, è necessario utilizzare una delle librerie.

Nessuna integrazione del codice

Per alcuni framework di test, è possibile eseguire l'integrazione senza codice utilizzando le librerie specifiche del framework di test disponibili.

I framework di test che non richiedono codice da integrare includono:

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

Il processo di integrazione è simile per tutte queste librerie.

Installa plugin

All'interno del progetto di test, installa il plug-in Tesults pertinente. Ad esempio, se stai usando pytest, questo viene fatto usando‘pip install tesults’ seguito da ‘pip install pytest-tesults’. Se stai usando Mocha, usi‘npm install mocha-tesults-reporter – save’. Vedi il comando appropriato per il tuo framework di test sul sito web di Tesults.

Configura plugin

Alcuni plugin non richiedono configurazione e sono pronti per l'uso immediatamente, altri richiedono una piccola quantità di configurazione. Nel caso di pytest, ad esempio, non è richiesta alcuna configurazione aggiuntiva ed è pronto per l'uso.

Nel caso di Mocha, è necessaria una piccola modifica al file ‘mocha’ chiamare, in particolare il giornalista deve essere specificato, ‘mocha --reporter mocha-tesults-reporter’. Vedere il sito Web di Tesults per la configurazione specifica per il framework in uso ma, in generale, la configurazione è una modifica di una riga o nessuna modifica.

Passa Args

C'è un argomento obbligatorio da passare al plugin e altri argomenti opzionali. L'argomento richiesto è fornire il token di destinazione Tesult. Questo token è stato generato durante la creazione del progetto per la destinazione predefinita nella pagina del tutorial precedente. Puoi ottenere un nuovo token se non hai questo token dal menu di configurazione in Tesults. Clic‘Regenerate Target Token’ nel menu di configurazione.

Il modo in cui passare l'argomento dipende dal framework di test e dal plug-in. Ad esempio, in pytest può essere fornito in pytest call‘pytest --tesults-target token_value’o utilizzando un file di configurazione. Per Mocha, è simile, può essere passato attraverso il mocha chiamato‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ oppure può essere passato in un file di configurazione.

Il token di destinazione è l'unico argomento richiesto, ci sono argomenti opzionali per il passaggio delle informazioni di compilazione e per il caricamento dei file. Vedere il sito Web di Tesults per informazioni specifiche sugli argomenti per il framework di test.

Esegui test

Esegui i tuoi test e i risultati verranno ora inviati a Tesults.

Integrazione del codice

Se stai utilizzando un framework di test personalizzato o un framework di test per il quale Tesults non dispone di una libreria o di un plug-in specifici, devi utilizzare uno dei framework del linguaggio.

Qui, daremo uno sguardo a cosa è coinvolto nell'integrazione per Python. Altri linguaggi hanno processi di integrazione molto simili, vedere il sito Web di Tesults per dettagli specifici per il proprio linguaggio di programmazione, ma seguire prima questo tutorial per avere un'idea del processo -

Installa libreria

Per Python, il seguente è il comando:

pip install tesults

Per altri linguaggi, il processo è simile, per i framework di test JS, si installa la libreria da npm, per Java è possibile utilizzare Gradle o Maven, per C # i pacchetti sono ospitati su NuGet e Ruby lo ha disponibile come gemma.

Configura libreria

Per Python, la configurazione implica solo un file require ‘tesults’in qualsiasi modulo si desidera utilizzare la libreria. Anche in questo caso, una configurazione simile è necessaria in altre lingue. Vedere il sito Web di Tesults per la configurazione specifica per il proprio linguaggio di programmazione.

Dati di prova della mappa

Questo passaggio è qualcosa che i plugin senza codice ti consentono di evitare. Per l'integrazione basata su codice è necessario mappare i dati del test ai dati del test Tesults.

Per Python, questo significa trasformare ogni risultato del test case in un dizionario 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'
}

Il nome e il risultato sono obbligatori. Tutto il resto è opzionale. Il risultato deve essere uno di‘pass’, ‘fail’o "sconosciuto".

La suite è utile da fornire perché aiuta i casi di test di gruppo durante la visualizzazione dei risultati e aiuta a evitare conflitti di nome. Il motivo dovrebbe essere fornito per casi di test non riusciti.

I file sono utili per garantire che i log e altri file di test siano archiviati e possano essere visualizzati insieme allo scenario di test per cui sono destinati.

Puoi anche avere un numero qualsiasi di campi personalizzati; devono iniziare con il carattere di sottolineatura (_). Per ogni caso di test, crea un dizionario in questo modo e memorizzalo in un array.

Carica risultati

Per caricare i risultati, ogni libreria fornisce una funzione di caricamento dei risultati. Nel caso di Python, devi chiamare quanto segue:

tesults.results(data)

dove il parametro data è segue -

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

L'array dei casi è l'array creato nella sezione precedente.

Per altri linguaggi di programmazione, il processo è esattamente lo stesso con solo le modifiche alla sintassi.

Aiuto

Il sito web di Tesults ha un modo per richiedere aiuto per l'integrazione se ne hai bisogno.

Prossimi passi

A questo punto, l'integrazione è completa e possiamo vedere come visualizzare, analizzare e agire dai risultati dei test.