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
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.
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