Crea il tuo primo Cucumber Script (2 esempi)

⚡ Riepilogo intelligente

Cucumber L'esecuzione degli script ti aiuta a trasformare scenari Gherkin in linguaggio naturale in test automatizzati eseguibili utilizzando file di definizione dei passaggi, consentendo ai team di convalidare il comportamento, condividere l'intento tra le parti interessate e rilasciare progetti affidabili basati su BDD. Cucumber or Cucumber-JVM.

  • ???? Nozioni di base sui cetriolini sottaceto: I file delle funzionalità descrivono gli scenari utilizzando la sintassi Given-When-Then, comprensibile sia ai tester che ai team aziendali.
  • 📝 Definizione dei passaggi: Ogni passaggio di Gherkin corrisponde a un blocco di codice scritto in Ruby, Java, o un'altra lingua supportata.
  • ⚙️ Configurazione del progetto: RubyMine o qualsiasi altro IDE può ospitare la cartella features, la cartella step_definitions e la configurazione del runner.
  • ✅ Due esempi: Uno scenario di moltiplicazione e un Guru99 scenari di accesso dimostrativi illustrano l'esecuzione end-to-end del BDD.
  • 🧪 Versioni moderne: Cucumber-JVM 7.x e Cucumber Ruby 9.x rimane la versione stabile attualmente utilizzata nelle pipeline CI.

Cucumber Copione

In questo tutorial creerai Cucumber Script per testare due scenari utilizzando la sintassi Gherkin e i file di definizione dei passaggi. Cucumber è un framework BDD molto diffuso che collega file Feature in linguaggio naturale con codice di test eseguibile, consentendo così ad analisti aziendali e sviluppatori di collaborare sulle stesse specifiche.

Cucumber Script 1: Moltiplica 2 Numbers

In questo primo Cucumber Ad esempio, scriverai un semplice file Feature che moltiplica due numeri e poi creerai un file Step Definition corrispondente in Ruby. Lo stesso flusso di lavoro si applica se usi Cucumber-JVM 7.x con Java o Kotlin in IntelliJ IDEA.

Passo 1) Apri RubyMine Editor tramite Windows menu iniziale.

Cucumber Copione:Moltiplica 2 Numbers

Passo 2) Nell'editor di RubyMine, fai clic su Crea nuovo progetto.

Cucumber Copione:Moltiplica 2 Numbers

Passo 3) Seleziona la posizione del progetto e fai clic su "Crea".

Cucumber Copione:Moltiplica 2 Numbers

Passo 4) Crea una directory all'interno della directory principale del progetto per i file delle funzionalità.

Cucumber Copione:Moltiplica 2 Numbers

Passo 5) Denominare la directory come "caratteristiche". Cucumber questa cartella verrà analizzata automaticamente.

Cucumber Copione:Moltiplica 2 Numbers

Passo 6) Crea e salva il file nella cartella "yourfolder/features/" con il nome "yourfilename.feature".

Clicchi Qui. se il video non è accessibile

Cucumber Copione:Moltiplica 2 Numbers

Cucumber Copione:Moltiplica 2 Numbers

Passo 7) Per eseguire lo scenario, salva il seguente programma all'interno del file Feature. Nota come le parole chiave di Gherkin, quali Feature, Scenario, Given, When e Then, descrivono il comportamento del test.

Cucumber Copione:Moltiplica 2 Numbers

Code:

Feature: Multiplication 
  I multiply two numbers 
	Scenario: multiply a and b 
	  Given I have variable a 
	  And I have variable b 
      When I multiplication a and b 
      Then I display the Result

Passo 8) Ora esegui il tuo primo file Feature.

Fai clic su "Avvia il prompt dei comandi con Ruby".

Cucumber Copione:Moltiplica 2 Numbers

L'output che si ottiene è mostrato qui sotto.

Cucumber Copione:Moltiplica 2 Numbers

Si verificherà un errore perché è necessario scrivere un file di definizione dei passaggi che corrisponda al file delle funzionalità.

Passo 9) Crea un file di definizione dei passaggi per il tuo file Feature.

Crea una nuova cartella nell'editor RubyMine chiamata "step_definition".

Cucumber Copione:Moltiplica 2 Numbers

Cucumber Copione:Moltiplica 2 Numbers

Passo 10) Salva il file nella cartella “yourfolder/features/step_definitions” con il nome test_step.rb.

Cucumber Copione:Moltiplica 2 Numbers

Cucumber Copione:Moltiplica 2 Numbers

Passo 11) Inserisci il seguente codice nel file di definizione dello step. Ogni blocco corrisponde a uno step di Gherkin presente nel file delle funzionalità.

Cucumber Copione:Moltiplica 2 Numbers

Code :

Given(/^I have variable a$/) do 
  @a = 50
end

And(/^I have variable b$/) do 
  @b = 70 
end

When(/^I multiplication a and b$/) do 
  @mul = @a * @b
end

Then(/^I display the Result$/) do 
  puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end

Passo 12) Eseguire nuovamente il file Feature.

Cucumber Copione:Moltiplica 2 Numbers

Il risultato è mostrato di seguito.

Cucumber Copione:Moltiplica 2 Numbers

#1 Migliori in assolutoTest globali dell'app
9.8/ 10
★ ★ ★ ★ ★
Ottieni una demo gratuita
PractiTest
9.5/ 10
★ ★ ★ ★ ★
Visita PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
Visita Testiny
migliori PerTest di crowdsourcing e controllo qualitàGestione dei testTeam di QA di piccole e medie dimensioni
Caratteristica fondamentale✓Test di integrazione di terze parti✓Gestione centralizzata dei test✓Casi di test manuali e automatizzati
Integrazioni✓Jira, Slack, TestRail✓Jira, Jenkins, Slack✓Jira, GitHub, GitLab
Prova GratuitaDemo gratuitaProva Gratis 14 giorniDemo gratuita
Ottieni una demo gratuitaVisita PractiTestVisita Testiny

Cucumber Script 2: verifica l'output quando l'ID e-mail viene inserito o meno

In questo secondo esempio, userai Ruby con Watir per guidare un browser e convalidare due scenari di registrazione su Guru99 sito demo. Gli stessi modelli si applicano se adotti Cucumber-JVM 7.x con Selenium WebDriver e Java.

In questo esempio usiamo Ruby.

Scenario di prova: Verifica l'output quando l'indirizzo e-mail NON viene inserito.

Passaggi del test:

  1. Apri il browser
  2. Vai https://demo.guru99.com/
  3. Do non è un Inserisci l'ID e-mail
  4. Fai clic su Invia

Scenario di prova: Verifica l'output quando viene inserito l'indirizzo e-mail.

Passaggi del test:

  1. Apri il browser
  2. Vai https://demo.guru99.com/
  3. Inserisci l'ID e-mail
  4. Fai clic su Invia

Code nel file delle funzionalità:

Feature: guru99 Demopage Login
To Login in Demopage we have to enter login details
Scenario: Register On Guru99 Demopage without email
Given I am on the Guru99 homepage
When enter blank details for Register
Then error email shown
Scenario: Register On Guru99 Demopage with valid email
Given I am on the Guru99 homepage
When enter details for Register
Then login details shown

Code nel file di definizione dei passaggi:

require 'watir-webdriver'

require 'colorize'

browser = Watir::Browser.new

Given (/^I am on the Guru99 homepage$/)do

browser.goto "https://demo.guru99.com"

end

When (/^enter blank details for Register$/)do

browser.text_field(:name,"emailid").set(" ")

browser.button(:name,"btnLogin").click

end

Then (/^error email shown$/)do

puts " Email is Required".red

browser.close

end

When (/^enter details for Register$/)do

browser = Watir::Browser.new

browser.goto "https://demo.guru99.com"

browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

Esegui il codice nel prompt dei comandi e vedrai il seguente output.

Verifica l'output quando l'ID e-mail è inserito o non inserito

DOMANDE FREQUENTI

Un file Feature è un file di testo semplice con estensione .feature che utilizza la sintassi Gherkin per descrivere una funzionalità di un'applicazione. Raggruppa scenari correlati scritti con passaggi Given, When e Then in modo che le parti interessate non tecniche possano leggere e convalidare il comportamento insieme agli sviluppatori.

Ogni passaggio di Gherkin è costituito esclusivamente da testo. Cucumber necessita di una definizione di passaggio che mappi il passaggio al codice eseguibile in Ruby, Java, o un'altra lingua. Senza quella mappaping, il runner segnala passaggi non definiti e lo scenario non riesce a eseguire la logica prevista.

Cucumber-JVM 7.x è la linea stabile corrente ed è consigliata per i nuovi Java e progetti Kotlin. Cucumber Ruby 9.x rimane la scelta moderna per i team Ruby. Entrambe le release supportano JUnit 5, esecuzione parallela e filtraggio basato su tag per pipeline CI.

Gli assistenti basati sull'IA analizzano le user story, i criteri di accettazione e i difetti storici per redigere scenari Gherkin nel formato Given-When-Then. Suggeriscono casi limite, percorsi alternativi e tag, in modo che i team BDD possano coprire un maggior numero di comportamenti senza dover dedicare ore alla scrittura manuale di ogni singolo file di funzionalità.

Sì. Gli strumenti di IA leggono i file Feature, abbinano ogni passaggio Gherkin al codice esistente e generano nuovi metodi di definizione dei passaggi in Ruby o JavaGenerano codice standard, espressioni regolari per i parametri e stub per le asserzioni, in modo che gli sviluppatori possano solo perfezionare la logica di business anziché scrivere manualmente ogni singola funzione di collegamento.

Riassumi questo post con: