Cos'è il linguaggio Gherkin?
Gherkin è un linguaggio leggibile per l'azienda che ti aiuta a descrivere il comportamento aziendale senza entrare nei dettagli dell'implementazione. È un linguaggio specifico del dominio per la definizione dei test in formato Cucumber per le specifiche. Utilizza un linguaggio semplice per descrivere i casi d'uso e consente agli utenti di rimuovere i dettagli logici dai test di comportamento.
Il testo in lingua Gherkin funge da documentazione e scheletro dei tuoi test automatizzati. Il formato Gherkin è basato su TreeTop Grammar, disponibile 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
- Scrittura di un test automatico (BDD)
In questo tutorial di Gherkin imparerai
- Cos'è il linguaggio Gherkin?
- Perché Gherkin?
- Gherkin Syntax
- Termini importanti usati in Gherkin
- Esempio di cetriolino
- Best practice per l'utilizzo di Gherkin
- Vantaggi di Gherkin
Perché Gherkin?
La necessità di Gherkin può essere facilmente spiegata dalle seguenti immagini
Prima di Gherkin
Dopo Gherkin
Gherkin Syntax
Gherkin è un linguaggio orientato alla riga proprio come YAML e Python. Ogni riga si chiama passo e inizia con la parola chiave e la fine dei terminali con una fermata. Tab o spazio vengono utilizzati per il rientro.
In questo script, un commento può essere aggiunto ovunque tu voglia, ma dovrebbe iniziare con un segno #. Leggeva ogni riga dopo aver rimosso le parole chiave di Ghrekin come fornite, quando, quindi, ecc.
I tipici passaggi di Gherkin assomigliano a:
Gherkin Scripts: collega il concetto umano di causa ed effetto al concetto software di input / processo / output.
Sintassi del cetriolino:
Caratteristica: titolo dello scenarioDato [Precondizioni o contesto iniziale]Quando [Evento o trigger]Quindi [Output previsto]
Un documento Gherkin ha un'estensione .feature e semplicemente un file di prova con un'estensione di fantasia. Cucumber legge il documento Gherkin ed esegue un test per verificare che il software si comporti secondo la sintassi di Gherkin.
Termini importanti usati in Gherkin
- Caratteristica
- sfondo
- Scenario
- Dato
- quando
- Poi
- E
- Ma
- Esempi di struttura dello scenario
La convenzione di denominazione viene utilizzata per il nome della funzione. Tuttavia, non ci sono regole fisse in Cucumber sui nomi.
Caratteristica:
Il file dovrebbe avere estensione .feature e ogni file di funzionalità dovrebbe avere una sola funzionalità. La parola chiave caratteristica sta con la caratteristica: e dopo di che aggiungi, verranno scritti uno spazio e il nome della caratteristica.
Scenario:
Ogni file di funzionalità può avere più scenari e ogni scenario inizia con Scenario: seguito dal nome dello scenario.
Sfondo:
La parola chiave Background ti aiuta ad aggiungere un po 'di contesto allo scenario. Può contenere alcuni passaggi dello scenario, ma l'unica differenza è che dovrebbe essere eseguito prima di ogni scenario.
Dato:
L'uso della parola chiave Given serve per mettere il sistema in uno stato familiare prima che l'utente inizi a interagire con il sistema. Tuttavia, puoi omettere di scrivere le interazioni utente nei passaggi specificati se indicati nel passaggio "Precondizione".
Sintassi:
Dato
Dato: una fase di test che definisce il 'contestoDato che sono su "/".
Quando:
Quando il passaggio consiste nel definire l'azione eseguita dall'utente.
Sintassi:
quando
A Quando: una fase di test che definisce l '"azione" eseguitaQuando eseguo "Accedi".
Poi:
L'uso della parola chiave "then" serve per vedere il risultato dopo l'azione nel passaggio when. Tuttavia, puoi solo verificare le modifiche evidenti.
Sintassi:
Poi
Quindi - fase di test che definisce il "risultato".Allora dovrei vedere "Benvenuto Tom".
E ma
Potresti avere più dati quando o Allora.
Sintassi:
Ma
Una fase di test aggiuntiva che definisce l '"azione" "risultato".Ma dovrei vedere "Benvenuto Tom".
E - ulteriore fase di test che definisce l '"azione" eseguitaE scrivo "EmailAddress" con " Questo indirizzo email è protetto dagli spambots. Abilita Javascript per vederlo ..."
Dato, Quando, Allora e, ma sono passaggi di prova. Puoi usarli in modo intercambiabile. L'interprete non mostra alcun errore. Tuttavia, sicuramente non avranno alcun "senso" quando verranno letti.

Termini importanti usati in Gherkin
Dato La pagina di accesso si sta aprendoQuando inserisco nome utente, password e clicco sul pulsante AccediQuindi sono sulla home page
Esempi di cetriolini
Esempio 1:
Caratteristica: funzionalità di accesso del sito di social networking Facebook.Dato: sono un utente di Facebook.Quando: inserisco il nome utente come nome utente.E inserisco la password come passwordQuindi dovrei essere reindirizzato alla home page di Facebook
Lo scenario sopra menzionato riguarda una funzionalità chiamata accesso utente.
Tutte le parole scritte in grassetto sono parole chiave Gherkin.
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:
Funzionalità: Sfondo autenticazione utente:Dato che l'utente è già registrato al sito Scenario:Dato che l'utente si trova nella pagina di accessoQuando l'utente inserisce l'indirizzo e-mail correttoE l'utente inserisce la password correttaE l'utente fa clic sul pulsante AccediQuindi l'utente dovrebbe essere autenticatoE l'utente dovrebbe essere reindirizzato alla propria dashboardE all'utente dovrebbe essere presentato un messaggio di successo
Best practice per l'utilizzo di Gherkin
- Ogni scenario dovrebbe essere eseguito separatamente
- Ogni caratteristica dovrebbe poter essere eseguita insieme
- Le informazioni sui passaggi dovrebbero essere mostrate in modo indipendente
- Collega i tuoi scenari con le tue esigenze
- Tieni traccia degli scenari da includere in un documento sui requisiti
- Crea passaggi modulari e di facile comprensione
- Prova a combinare tutti i tuoi scenari comuni
Vantaggi di Gherkin
- Gherkin è abbastanza semplice da capire per i non programmatori
- I programmatori possono usarlo come una 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 si rivolge ai requisiti aziendali
- Una parte significativa delle specifiche funzionali viene scritta come storie degli utenti
- 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 è più facile da riutilizzare il codice in altri test
Svantaggi di Gherkin
- Richiede un alto 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 riga 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 capire per i non programmatori
- Gherkin Test potrebbe non funzionare bene in tutti i tipi di scenari