Stwórz swój pierwszy Cucumber Skrypt (2 przykłady)

⚡ Inteligentne podsumowanie

Cucumber Wykonywanie skryptów pomaga przekształcać scenariusze Gherkin w języku potocznym w uruchamialne testy automatyczne przy użyciu plików definicji kroków, umożliwiając zespołom weryfikację zachowania, udostępnianie intencji interesariuszom i dostarczanie niezawodnych projektów opartych na BDD Cucumber or Cucumber-Maszyna Java.

  • 🥒 Podstawy ogórka kiszonego: Pliki funkcji opisują scenariusze w składni Given-When-Then, którą mogą czytać zarówno testerzy, jak i zespoły biznesowe.
  • 📝 Definicje kroków: Każdy krok Gherkina jest odwzorowywany na blok kodu napisany w języku Ruby, Javalub inny obsługiwany język.
  • ⚙️ Konfiguracja projektu: RubyMine lub dowolne środowisko IDE może hostować folder funkcji, folder step_definitions i konfigurację programu uruchamiającego.
  • Dwa przykłady: Scenariusz mnożenia i Guru99 scenariuszy logowania demonstracyjnych demonstruje kompleksowe wykonywanie BDD.
  • 🧪 Nowoczesne wersje: Cucumber-JVM 7.x i Cucumber Ruby 9.x pozostaje aktualną stabilną wersją wykorzystywaną w procesach CI.

Cucumber Scenariusz

W tym samouczku utworzysz Cucumber Skrypty umożliwiające przetestowanie dwóch scenariuszy przy użyciu składni Gherkina i plików definicji kroków. Cucumber jest popularnym frameworkiem BDD, który łączy pliki funkcji w języku potocznym z wykonywalnym kodem testowym, dzięki czemu analitycy biznesowi i programiści mogą współpracować nad tymi samymi specyfikacjami.

Cucumber Skrypt 1: Pomnóż 2 Numbers

W tym pierwszym Cucumber Na przykład napiszesz prosty plik funkcji, który mnoży dwie liczby, a następnie utworzysz pasujący plik definicji kroku w Ruby. Ten sam przepływ pracy obowiązuje, jeśli używasz Cucumber-JVM 7.x z Java lub Kotlin w IntelliJ IDEA.

Krok 1) Otwórz edytor RubyMine za pomocą Windows menu startowe.

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 2) W edytorze RubyMine kliknij Utwórz nowy projekt.

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 3) Wybierz lokalizację projektu i kliknij „Utwórz”.

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 4) Utwórz katalog plików w katalogu głównym projektu, w którym będą przechowywane pliki funkcji.

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 5) Nadaj katalogowi nazwę „Funkcje”. Cucumber automatycznie przeskanuje ten folder.

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 6) Utwórz i zapisz plik w „yourfolder/features/” pod nazwą „yourfilename.feature”.

Kliknij w tym miejscu jeśli film nie jest dostępny

Cucumber Skrypt: Pomnóż 2 Numbers

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 7) Aby wykonać scenariusz, zapisz poniższy program w pliku Feature. Zwróć uwagę, jak słowa kluczowe Gherkina, takie jak Feature, Scenario, Given, When i Then, opisują zachowanie testu.

Cucumber Skrypt: Pomnóż 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

Krok 8) Teraz uruchom pierwszy plik Feature.

Kliknij „Uruchom wiersz poleceń za pomocą Ruby”.

Cucumber Skrypt: Pomnóż 2 Numbers

Poniżej przedstawiono otrzymany wynik.

Cucumber Skrypt: Pomnóż 2 Numbers

Zostanie wyświetlony komunikat o błędzie, ponieważ należy utworzyć plik definicji kroku, który będzie powiązany z plikiem funkcji.

Krok 9) Utwórz plik definicji kroku dla pliku funkcji.

Utwórz nowy folder w edytorze RubyMine o nazwie „step_definition”.

Cucumber Skrypt: Pomnóż 2 Numbers

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 10) Zapisz plik w „yourfolder/features/step_definitions” pod nazwą test_step.rb.

Cucumber Skrypt: Pomnóż 2 Numbers

Cucumber Skrypt: Pomnóż 2 Numbers

Krok 11) Wpisz poniższy kod do pliku definicji kroku. Każdy blok odwzorowuje krok Gherkina z pliku funkcji.

Cucumber Skrypt: Pomnóż 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

Krok 12) Uruchom ponownie plik funkcji.

Cucumber Skrypt: Pomnóż 2 Numbers

Wynik pokazano poniżej.

Cucumber Skrypt: Pomnóż 2 Numbers

Cucumber Skrypt 2: Weryfikacja wyników po wprowadzeniu lub nie wprowadzeniu identyfikatora e-mail

W tym drugim przykładzie użyjesz Ruby z Watir aby uruchomić przeglądarkę i sprawdzić dwa scenariusze rejestracji GuruStrona demonstracyjna 99. Te same wzorce obowiązują, jeśli przyjmiesz Cucumber-JVM 7.x z Selenium WebDriver i Java.

W tym przykładzie używamy Rubin.

Scenariusz testowy:Sprawdź dane wyjściowe, gdy NIE wprowadzono identyfikatora e-mail.

Kroki testowe:

  1. Otwórz przeglądarkę
  2. przejdź do https://demo.guru99.com/
  3. Do nie wprowadź adres e-mail
  4. Kliknij Prześlij

Scenariusz testowy:Sprawdź dane wyjściowe po wprowadzeniu identyfikatora e-mail.

Kroki testowe:

  1. Otwórz przeglądarkę
  2. przejdź do https://demo.guru99.com/
  3. Wprowadź adres e-mail
  4. Kliknij Prześlij

Code w pliku funkcji:

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 w pliku definicji kroku:

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

Uruchom kod w wierszu poleceń, a zobaczysz następujący wynik.

Sprawdź dane wyjściowe po wprowadzeniu lub nie wprowadzeniu identyfikatora e-mail

FAQ

Plik funkcji to plik tekstowy z rozszerzeniem .feature, który wykorzystuje składnię Gherkina do opisu jednej funkcji aplikacji. Grupuje powiązane scenariusze napisane krokami „Given”, „When” i „Then”, aby osoby nietechniczne mogły czytać i weryfikować zachowanie aplikacji razem z programistami.

Każdy krok Gherkina składa się wyłącznie z tekstu. Cucumber potrzebuje definicji kroku, która mapuje krok na kod wykonywalny w Ruby, Javalub w innym języku. Bez tej mapyping, program uruchamiający raportuje niezdefiniowane kroki, a scenariusz nie wykonuje zamierzonej logiki.

Cucumber-JVM 7.x to aktualna stabilna wersja, zalecana dla nowych Java i projektów Kotlin. Cucumber Ruby 9.x pozostaje nowoczesnym wyborem dla zespołów Ruby. Obie wersje obsługują JUnit 5, wykonywanie równoległe i filtrowanie na podstawie tagów dla potoków CI.

Asystenci AI analizują historie użytkowników, kryteria akceptacji i historyczne defekty, aby tworzyć scenariusze Gherkina w formacie Given-When-Then. Sugerują przypadki graniczne, alternatywne ścieżki i sugestie tagów, dzięki czemu zespoły BDD mogą objąć więcej zachowań, nie poświęcając godzin na ręczne pisanie każdego pliku funkcji.

Tak. Narzędzia AI odczytują pliki funkcji, dopasowują każdy krok Gherkina do istniejącego kodu i tworzą szkielet nowych metod definicji kroków w Ruby lub JavaGenerują szablony, wyrażenia regularne parametrów i szczątki asercji, dzięki czemu programiści mogą jedynie udoskonalić logikę biznesową, zamiast pisać każdą funkcję łączącą ręcznie.

Podsumuj ten post następująco: