Linguaggio del cetriolino: formato, sintassi e test del cetriolo in Cucumber

Cos'è la lingua cetriolino?

Cetriolino è un linguaggio leggibile per le aziende che ti aiuta a descrivere il comportamento aziendale senza entrare nei dettagli dell'implementazione. È un linguaggio specifico di dominio per definire i test in Cucumber formato per le specifiche. Utilizza un linguaggio semplice per descrivere i casi d'uso e consente agli utenti di rimuovere i dettagli logici dai test comportamentali.

Il testo in lingua Gherkin funge da documentazione e scheletro dei tuoi test automatizzati. Il formato Gherkin è basato su TreeTop Grammar che esiste in oltre 37 lingue. Pertanto puoi scrivere il tuo cetriolino in oltre 37 lingue parlate.

Questo script ha due scopi principali:

  • Documenta gli scenari utente
  • Scrivere un test automatizzato (BDD)

Perché Cetriolino?

La necessità di Gherkin può essere facilmente spiegata tramite le seguenti immagini

Prima del Gherkin

Prima del Gherkin

Dopo il cetriolino

Dopo il cetriolino

Sintassi del cetriolino

Gherkin è un linguaggio orientato alla linea proprio come YAML e Python. Ogni riga si chiama passo e inizia con la parola chiave e la fine dei terminali con uno stop. Tab o spazio vengono utilizzati per il rientro.

In questo script, un commento può essere aggiunto ovunque tu voglia, ma dovrebbe iniziare con il segno #. Legge ogni riga dopo aver rimosso le parole chiave di Ghrekin come fornite, quando, poi, ecc.

Sembrano i tipici passaggi di Gherkin

Gherkin Scripts: collega il concetto umano di causa ed effetto al concetto software di input/processo/output.

Sintassi del cetriolino

Feature: Title of the Scenario
Given [Preconditions or Initial Context]
When [Event or Trigger]
Then [Expected output]

Un documento Gherkin ha un'estensione .feature e semplicemente un file di prova con un'estensione fantasiosa. Cucumber legge il documento Gherkin ed esegue un test per verificare che il software si comporti secondo la sintassi Gherkin.

Termini importanti utilizzati in Gherkin

  • caratteristica
  • sfondo
  • Scenario
  • Dato
  • Quando
  • Poi
  • E altre ancora…
  • Ma
  • Esempi di schemi di scenari

La convenzione di denominazione viene utilizzata per il nome della funzione. Tuttavia, non ci sono regole fisse Cucumber sui nomi.

caratteristica

Il file deve avere estensione .feature e ciascun file di funzionalità deve avere una sola funzionalità. La parola chiave della funzione è con la funzione: e dopo aver aggiunto, verranno scritti uno spazio e il nome della funzione.

Scenario

Ogni file di funzionalità può avere più scenari e ogni scenario inizia con Scenario: seguito dal nome dello scenario.

sfondo

La parola chiave di sfondo ti aiuta ad aggiungere contesto allo scenario. Può contenere alcuni passaggi dello scenario, ma l'unica differenza è che deve essere eseguito prima di ogni scenario.

Dato

L'uso della parola chiave data serve a mettere il sistema in uno stato familiare prima che l'utente inizi a interagire con il sistema. Tuttavia, puoi omettere di scrivere le interazioni dell'utente nei passaggi specificati se forniti nel passaggio "Precondizione".

Sintassi:

Given
Given - a test step that defines the 'context
Given I am on "/."

Quando

Quando il passaggio consiste nel definire l'azione eseguita dall'utente.

Sintassi:

When
A When - a test step that defines the 'action' performed
When I perform "Sign In."

Poi

L'uso della parola chiave "then" serve per vedere il file risultato dopo l'azione in quando passo. Tuttavia, puoi verificare solo i cambiamenti evidenti.

Sintassi:

 Then
Then - test step that defines the 'outcome.'
Then I should see "Welcome Tom."

E ma

Potresti averne più di una quando o allora.

Sintassi:

But
A But - additional test step which defines the 'action' 'outcome.'
But I should see "Welcome Tom."
And - additional test step that defines the 'action' performed
And I write  "EmailAddress" with "Tomjohn@gmail.com."

Dato, Quando, Allora e, ma sono passaggi di prova. Puoi usarli in modo intercambiabile. L'interprete non visualizza alcun errore. Tuttavia, sicuramente non avranno alcun “senso” una volta letti.

Termini importanti utilizzati in Gherkin
Termini importanti utilizzati in Gherkin
Given The login page is opening
When I input username, password and click the Login button 
Then I am on the Homepage

Esempi di cetrioli

Esempio 1:

Feature:  Login functionality of social networking site Facebook. 
Given:  I am a facebook user. 
When: I enter username as username. 
And I enter the password as the password 
Then I should be redirected to the home page of facebook 

Lo scenario menzionato sopra riguarda una funzionalità chiamata accesso utente.

Gherkin analizzerà ogni passaggio scritto nel file di definizione del passaggio. Pertanto, i passaggi vengono forniti nel file delle caratteristiche e il file di definizione dei passaggi deve corrispondere.

Esempio 2:

Feature: User Authentication Background:
Given the user is already registered to the website Scenario:
Given the user is on the login page
When the user inputs the correct email address
And the user inputs the correct password
And the user clicks the Login button
Then the user should be authenticated
And the user should be redirected to their dashboard
And the user should be presented with a success message 

migliori pratiche di utilizzo del cetriolino

  • Ogni scenario deve essere eseguito separatamente
  • Ogni funzionalità dovrebbe poter essere eseguita insieme
  • Le informazioni sui passaggi devono essere visualizzate in modo indipendente
  • Collega i tuoi scenari alle tue esigenze
  • Tieni traccia completa di quali scenari dovrebbero essere inclusi in un documento di requisiti
  • Crea passaggi modulari e facili da comprendere
  • Prova a combinare tutti i tuoi scenari comuni

Vantaggi del cetriolo

  • Gherkin è abbastanza semplice da essere compreso dai non programmatori
  • I programmatori possono usarlo come base molto solida per iniziare i loro test
  • Rende le storie degli utenti più facili da digerire
  • Lo script Gherkin può essere facilmente compreso da dirigenti aziendali e sviluppatori
  • Gherkin Testing mira ai requisiti aziendali
  • Una parte significativa delle specifiche funzionali è scritta come storie utente
  • Non è necessario essere esperti per comprendere il piccolo set di comandi Gherkin
  • I casi di test Gherkin collegano i test di accettazione direttamente ai test automatizzati
  • Lo stile di scrittura dei casi di test consente di riutilizzare più facilmente il codice in altri test

Svantaggi di Gherkin

  • Richiede un elevato livello di impegno aziendale e collaborazioni
  • Potrebbe non funzionare bene in tutti gli scenari
  • Test scritti male possono facilmente aumentare i costi di manutenzione dei test

Sommario

  • Gherkin è il formato per le specifiche del cetriolo
  • Gherkin è un linguaggio orientato alla linea proprio come YAML e Python
  • Gherkin Scripts collega il concetto umano di causa ed effetto al concetto software di input/processo e output
  • Caratteristica, Background, Scenario, Dato, Quando, Allora e Ma sono usati in modo importante in Gherkin
  • In Gherkin, ogni scenario dovrebbe essere eseguito separatamente
  • Il più grande vantaggio di Gherkin è abbastanza semplice da poter essere compreso dai non programmatori
  • Il test Gherkin potrebbe non funzionare bene in tutti i tipi di scenari