Cetriolo - Scenari
Scenarioè una delle strutture principali di Gherkin. Ogni scenario inizia con la parola chiave "Scenario:" (o localizzato) ed è seguito da un titolo opzionale dello scenario. Ogni funzionalità può avere uno o più scenari e ogni scenario è costituito da uno o più passaggi. Un esempio molto semplice di scenario può essere:
Scenario - Verifica la funzionalità della Guida.
Dato che l'utente naviga su Facebook.
Quando l'utente fa clic su Guida, si apre la pagina della Guida.
Considera un caso in cui è necessario eseguire uno scenario di test più di una volta. Supponiamo di dover assicurarci che la funzionalità di accesso funzioni per tutti i tipi di titolari di abbonamento. Ciò richiede l'esecuzione dello scenario della funzionalità di accesso più volte. Copia incolla gli stessi passaggi per rieseguire il codice, non sembra essere un'idea intelligente. Per questo, Gherkin fornisce un'altra struttura, che è lo schema dello scenario.
Lo schema dello scenario è simile alla struttura dello scenario; l'unica differenza è la fornitura di più input. Come puoi vedere nell'esempio seguente, il test case rimane lo stesso e non ripetibile. In fondo abbiamo fornito più valori di input per le variabili "Username" e "Password". Durante l'esecuzione del test effettivo, Cucumber sostituirà la variabile con i valori di input forniti ed eseguirà il test. Una volta che pass-1 è stato eseguito, il test verrà rieseguito per la seconda iterazione con un altro valore di input. Tali variabili o segnaposto possono essere rappresentati con "<>" mentre vengono citati con istruzioni gherkin.
Esempio
Scenario Outline- Funzionalità di accesso per un sito di social networking. L'utente specificato naviga su Facebook.
Quando l'utente accede utilizzando il nome utente come "<username>" e la password come "<password>", il login dovrebbe avere esito positivo.
| username | password |
| user1 | password1 |
| user2 | password2 |
Ci sono alcuni suggerimenti e trucchi per definire in modo intelligente gli scenari di cetriolo.
Ogni passaggio dovrebbe essere chiaramente definito, in modo da non creare confusione per il lettore.
Non ripetere lo scenario di test, se necessario utilizzare lo schema dello scenario per implementare la ripetizione.
Sviluppare una fase di test in modo che possa essere utilizzata all'interno di più scenari e schemi di scenari.
Per quanto possibile, mantieni ogni passaggio completamente indipendente. Ad esempio: "Dato che l'utente è loggato". Questo può essere suddiviso in due fasi
- Dato l'utente inserisce il nome utente.
- Fare clic su login.