Le applicazioni web sono diventate essenziali per le aziende che cercano modi avanzati per connettersi e servire il loro pubblico di destinazione nel regno digitale. Data l’importanza delle applicazioni web nelle operazioni aziendali oggigiorno, indipendentemente dal settore, devono essere testate in modo completo per garantire che offrano esperienze utente di fascia alta.
Il test di automazione accelera il ciclo di vita dello sviluppo del software. Inoltre, adottando l’approccio Behaviour Driven Development (BDD) allo sviluppo, diversi stakeholder come sviluppatori, QA e team non tecnici possono collaborare attivamente al progetto.
Gli scenari sono scritti in base al comportamento previsto del software e viene testato per verificare se corrisponde a tali scenari.
Fonte immagine
Questi scenari sono documentati utilizzando un linguaggio specifico del dominio come Gherkin. In ogni scenario di test, i costrutti di linguaggio naturale che costituiscono piccole frasi in stile inglese vengono utilizzati per descrivere il comportamento e il risultato atteso di un’applicazione. Questo viene fatto utilizzando uno strumento software dedicato come Cucumber, che consente l’esecuzione di test di accettazione automatizzati scritti in Gherkin.
Cos’è Cucumber?
Cucumber è un framework di test open source che supporta lo sviluppo guidato dal comportamento per i test di automazione delle applicazioni web. I test vengono prima scritti in una semplice forma di scenario che descrive il comportamento previsto del sistema dal punto di vista dell’utente.
Utilizzato in gran parte per i test di accettazione, Cucumber è scritto in Ruby, mentre i test sono scritti in Gherkin, un linguaggio non tecnico e leggibile dall’uomo.
Test di cetriolo e selenio: un approccio collaborativo
Mentre i test automatici di selenio aggiungono precisione e velocità al ciclo di sviluppo, Cucumber aggiunge un ulteriore vantaggio ad esso, rendendolo più collaborativo per le parti interessate della gestione non tecnica. Molto vantaggioso per i test di accettazione degli utenti in cui gli scenari di test sono in gran parte guidati dal comportamento, Cucumber rafforza i test di automazione.
Il framework Cucumber
Il framework Cucumber consiste principalmente di tre parti principali: Feature File, Definizioni dei passaggi e il file Test Runner.
File delle funzionalità
Un’unità autonoma o una singola funzionalità (come un accesso) per un progetto può essere chiamata una caratteristica. Ciascuna di queste caratteristiche avrà scenari che devono essere testati utilizzando Selenio integrato con Cetriolo. Un file che memorizza i dati sulle funzionalità, le loro descrizioni e gli scenari da testare è chiamato file di funzionalità.
I test di cetriolo sono scritti in questi file di funzionalità che sono memorizzati con l’estensione – “.feature” . A un Feature File può essere fornita una descrizione per rendere la documentazione più leggibile.
Esempio:
La funzione Login su un sito web
Feature File Name: userLogin .feature
Descrizione: l’utente sarà in grado di accedere inserendo il nome utente e la password corretti nei campi corretti. L’utente dovrebbe essere indirizzato alla home page se il nome utente e la password inseriti sono corretti.
Parole chiave come GIVEN, WHEN e THEN utilizzate per scrivere il test in Cucumber sono chiamate Annotazioni.
- GIVEN l’utente accede alla pagina di accesso aprendo Firefox
- QUANDO l’utente inserisce il < nome utente > E < password > valori
- ALLORA l’utente viene indirizzato a t a homepage
Definizioni dei passaggi
Ora che le funzionalità sono scritte nei file delle funzionalità, è necessario eseguire il codice per lo scenario correlato. Per sapere quale batch di codice deve essere eseguito per un determinato scenario, vengono visualizzate le definizioni dei passaggi. Un file di definizioni dei passaggi memorizza i dati di mappatura tra ogni fase di uno scenario definito nel file delle caratteristiche e il codice da eseguire.
Definizioni dei passaggi può utilizzare sia i comandi Java che Selenium per le funzioni Java scritte per mappare un feature file nel codice.
Esempio:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more