Sådan downloades og installeres CUCUMBER i Windows

⚡ Smart opsummering

Cucumber installation på Windows mangler fire dele i rækkefølge: Ruby med sit udviklingskit, Cucumber selve gem, en editor som RubyMine og et browserdriverbibliotek. Hver af dem installeres på få minutter.

  • 🔘 Rubin først: Cucumber er en Ruby-perle, så Ruby+Devkit-installationsprogrammet fra RubyInstaller skal være på plads før noget andet.
  • ☑️ Én kommando: Kommandoen gem install cucumber henter gem'en og dens afhængigheder direkte fra RubyGems på kommandolinjen.
  • Bekræft med det samme: Kørsel af cucumber –version bekræfter, at gem'en er løst, og at den eksekverbare fil er på systemstien.
  • 🧪 Redaktør valgfri: RubyMine giver syntaksfremhævning og trinnavigation, men enhver editor, der gemmer almindelig tekst, vil køre en feature-fil.
  • 🛠️ Browserdriver: Watir wraps Selenium og driver browseren; det moderne gem-navn er watir, ikke den udgåede watir-webdriver.
  • 📊 Fast layout: Funktionsfiler findes under funktioner, trindefinitioner under funktioner/trindefinitioner, eller Cucumber kan ikke matche et trin.

Download og installer Cucumber on Windows med Ruby, RubyMine og Watir

Cucumber Installation kan se besværlig ud, men det er relativt nemt, når delene er sat i den rigtige rækkefølge. Her er en oversigt over komponenter, der skal installeres for at lave Cucumber arbejde.

Forudsætninger for installation Cucumber on Windows

Cucumber distribueres som en Ruby-ædelsten, så intet virker, før Ruby er til stede. Bekræft følgende, før du downloader noget:

  • Windows 10 eller nyere, 64-bit. RubyInstaller anbefaler ikke længere 32-bit build, medmindre du er afhængig af 32-bit native DLL'er eller COM-objekter.
  • Administratorrettigheder. Installationsprogrammet skriver til Program Files og redigerer PATH-miljøvariablen.
  • En internetforbindelse. Begge gem install-kommandoer nedenfor henter pakker fra RubyGems.
  • Omkring 1 GB ledig diskplads for Ruby plus MSYS2-udviklingssættet, og mere igen hvis du tilføjer RubyMine.
  • En browser til automatisering. Watir drev Chrome, Edge eller Firefox ved Selenium, så mindst én skal være installeret.

To kommandoer er værd at huske til senere: rubin -v udskriver Ruby-versionen, og perle -v udskriver RubyGems-versionen. Hvis en af ​​delene fejler, blev PATH'en ikke opdateret, og installationsprogrammet skal køres igen i stedet for at blive fejlrettet.

Installer Ruby og DevKit

Start med Ruby+Devkit-pakken, som indeholder den compiler-værktøjskæde, som gems med C-udvidelser har brug for.

Trin 1) Gå til https://rubyinstaller.org/downloads/ og vælg et installationsprogram. Downloadsiden vises nedenfor.

RubyInstaller downloadside med en liste over installationsprogrammerne for Ruby og Ruby+Devkit

⚠️ Versionsnotat: Det separate DevKit-arkiv, som den oprindelige gennemgang refererer til, er blevet erstattet af MSYS2-værktøjskæden, som Ruby+Devkit Installationspakker som en valgbar komponent. RubyInstaller anbefaler i øjeblikket Ruby+Devkit 4.0.X (x64) build til nye brugere, og sættet opdateres senere med ridk-installation i stedet for at køre dk.rb igen. Trinene nedenfor er ellers uændrede.

Trin 2) Åbn den downloadede fil. På den første skærm:

  1. Accepter licensen
  2. Klik på knappen Næste

Skærmbilledet for Ruby-installationslicensaftalen med knappen Næste

Trin 3) På den næste skærm:

  1. Vælg din installationsmappe
  2. Vælg alle muligheder
  3. Klik på Installer

Valg af Ruby-installationsmappen og valg af alle installationsindstillinger

Trin 4) Klik på Næste på det følgende skærmbillede.

Skærmbilledet for valg af Ruby-installationsprogrammets komponenter, før kopieringen begynder

Trin 5) Vent på, at installationen er færdig.

Ruby-installationsforløb, mens filer kopieres til disk

Trin 6) Klik på Udfør.

Skærmbilledet for den endelige Ruby-installation med knappen Afslut

Trin 7) Når installationen er færdig, skal du køre Ruby fra Windows Start menuen.

Windows Startmenuposten, der åbner kommandoprompten med Ruby

Trin 8) Du vil se en Ruby-kommandoprompt, der ligner den Windows cmd-vinduet.

Ruby-kommandopromptvinduet er klar til at acceptere gem-kommandoer

Installer Cucumber

Med Ruby på PATH er selve ædelstenen en enkelt kommando.

Trin 1) Skriv perleinstallation agurk i Ruby-kommandoprompten. Denne kommando downloader og installerer Cucumber på selve kommandolinjen.

gem install cucumber indtastet i Ruby-kommandoprompten

Efter et par sekunder Cucumber Installationsproceduren starter og rapporterer hver afhængighed, den henter.

Cucumber gem installationsoutput, der viser de afhængigheder, der installeres

Trin 2) For at kontrollere, om Cucumber installeret korrekt, skriv agurk – versionBemærk de to bindestreger — en enkelt bindestreg er ikke en gyldig lang mulighed.

agurk --version kommando udskriver den installerede Cucumber udgave

Installer IDE RubyMine

En editor er ikke strengt påkrævet, men RubyMine forstår Gherkin og kan hoppe fra et trin til dets definition. Følg nedenstående trin for at installere det.

Velkomstskærm i RubyMine-opsætningsguiden

Trin 1) Klik på Næste for at fortsætte med RubyMine-installationen.

RubyMine installations første side med knappen Næste

Trin 2) Vælg installationsplacering.

Valg af RubyMine installationsmappen

Trin 3) Angiv installationsindstillingerne.

RubyMine installationsmuligheder såsom genveje og filtilknytninger

Trin 4) Vælg mappen Start-menuen.

Valg af Start-menumappen til RubyMine-genvejen

Trin 5) Klik på Installer.

RubyMine-installationsprogrammet er klar til at kopiere filer efter at have klikket på Installer

Trin 6) Klik på Udfør.

Skærmbilledet for fuldført RubyMine-opsætning med knappen Afslut

Trin 7) Vælg Importér ikke indstillinger.

Dialogboksen Importindstillinger ved første RubyMine-opstart

Trin 8) Klik på Evaluer.

RubyMine-licensaktiveringsvindue med Evaluer-indstillingen

Trin 9) Accepter licensen.

Accept af RubyMine-licensaftalen

Trin 10) Vælg Spring resterende over og angiv standardindstillinger.

RubyMine indledende tilpasningsskærm med Spring over resterende og Angiv standardindstillinger

Trin 11) Åbn editoren.

RubyMine velkomstskærm med Åbn-funktionen

Trin 12) Opret et nyt projekt.

Ny projektdialog i RubyMine

⚠️ Versionsnotat: RubyMine er en betalt platform JetBrains produkt med en tidsbegrænset evaluering, hvilket er det, som knappen Evaluer i trin 8 starter. Et gratis alternativ er Visual Studio Code med en rubin og en Cucumber (Gherkin)-udvidelsen; resten af ​​denne gennemgang fungerer på samme måde i begge editorer.

Installer watir-webdriver

Cucumber kører kun trinnene. Noget andet skal åbne browseren, og det job tilhører Watir, et Ruby-indpakningspapir omkring SeleniumHvis du foretrækker at køre browseren direkte, kan det samme projekt kalde en almindelig WebDriver-script.

Trin 1) Klik på Start kommandoprompten med Ruby og kør installationskommandoen gem install watir-webdriver.

gem install watir-webdriver kører i Ruby-kommandoprompten

Trin 2) watir-webdriver-perlen installeres korrekt.

Konsoloutput bekræfter installationen af ​​watir-webdriver gem'en

⚠️ Udfasningsbemærkning: watir-webdriver-perlen blev foldet ind i hoveddelen vand perle ved Watir 6.0, og dens eget repository peger nu kun brugerne på erstatningen. Ved kørsel af en ny maskine perleinstallation vand i stedet. Den historiske kommando ovenfor er bevaret, fordi det er det, skærmbillederne viser.

Cucumber Projektmappestruktur

Cucumber opdager filer efter konvention, ikke efter konfiguration, så layoutet betyder mere, end det først ser ud til. Et minimalt projekt ser sådan ud:

Sti Besidder
funktioner/ Hver .feature-fil, skrevet i Gherkin. Cucumber søger her som standard.
funktioner/trin_definitioner/ Ruby-filerne, hvis blokke matcher hver Given-, When- og Then-linje.
funktioner/support/ Opsætningskode indlæses før et trin køres, f.eks. env.rb, som er der hvor browseren normalt åbnes og lukkes.

To regler sparer en masse forvirring senere. Cucumber ignorerer nøgleordet, når det matcher et trin, så Da jeg har variabel a og Så har jeg variabel a kolliderer med den samme definition. Og trinteksten i funktionsfilen skal stemme nøjagtigt overens med det regulære udtryk i trinfilen, inklusive tegnsætning.

Fornavn Cucumber Script

Eksemplet nedenfor ganger to tal, hvilket er nok til at bevise, at featurefilen, stepfilen og ædelstenen alle kommunikerer med hinanden.

Trin 1) Åbn RubyMine-editoren fra Windows Start menuen.

Åbning af RubyMine fra Windows Start-menuen

RubyMine-dashboardet vises som vist nedenfor.

RubyMine-dashboard vist efter åbning af editoren

Trin 2) Opret et nyt projekt i RubyMine-editoren.

Start af et nyt projekt fra RubyMine-dashboardet

Giv projektet et navn og en placering, og bekræft derefter.

Indtastning af projektnavn og placering i dialogboksen for nyt projekt

Trin 3) Opret en filmappe.

Oprettelse af en ny mappe i RubyMine-projektet

Den nye mappe vises i projekttræet.

Projekttræ, der viser den nyoprettede funktionsmappe

Trin 4) Opret og gem en fil i dinmappe/funktioner/ med navnet ditfilnavn.funktion.

Oprettelse af feature-filen i features-mappen

Bekræft filnavnet, så det ender på filtypenavnet .feature.

Navngivning af den nye fil med filendelsen .feature

Trin 5) For at udføre vores scenarie skal du gemme følgende kommandoer i feature-filen.

Funktionsfil åben i RubyMine-editoren klar til scenariet

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

Trin 6) Kør nu den første funktionsfil.

Klik på Start kommandoprompten med Ruby og kør agurk-kommandoen fra projektmappen.

Start af Ruby-kommandoprompten for at køre funktionsfilen

Konsollen rapporterer resultatet som vist nedenfor.

Konsoloutput fra den første Cucumber kørsel af funktionsfilen

Trin 7) Opret trindefinitionsfilen til funktionsfilen.

Opret en ny mappe i RubyMine-editoren.

Oprettelse af en ny mappe i RubyMine-projektet til trindefinitioner

Navngivning af den nye mappe med trindefinitioner

Trin 8) Gem filen i dinmappe/funktioner/trin_definitioner med navnet test_trin.rb.

Gemmer en ny Ruby-fil i mappen med trindefinitioner

Indtastning af test_step.rb som filnavn for trindefinitionen

Trin 9) Skriv følgende kode i trinfilen.

Trindefinitionsfil åbnes i editoren, før koden tilføjes

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

Trin 10) Kør nu funktionsfilen igen.

Kørsel af funktionsfilen en anden gang efter at trinnene er defineret

Resultatet udskrives i konsollen, og hvert trin rapporteres som bestået.

Cucumber konsoloutput efter at funktionsfilen kører med definerede trin

Fælles Cucumber Installationsfejl og hvordan man retter dem

De fleste fejl på dette stadie kommer fra miljøet snarere end fra CucumberDet er dem, der er værd at genkende ved første øjekast.

Besked Årsag Fix
'agurk' genkendes ikke som en intern eller ekstern kommando Ruby bin-mappen er ikke på PATH, eller du er i et almindeligt cmd-vindue. Åbne Start kommandoprompten med Rubyeller geninstaller Ruby med PATH-indstillingen valgt.
SSL_connect returned=1 errno=0 state=fejl: certifikatbekræftelse mislykkedes RubyGems kan ikke validere certifikatkæden, normalt bag en virksomhedsproxy. Opdater RubyGems med gem update –system, eller konfigurer proxyen med –http-proxy-parameteren.
FEJL: Kunne ikke oprette den native gem-udvidelse MSYS2-udviklingssættet mangler. Kør ridk install og vælg MSYS2- og MINGW-værktøjskædeindstillingerne.
ugyldig indstilling: -version En enkelt bindestreg blev brugt til en lang option. Skriv agurk – version med to bindestreger.
Udefineret trin, med et foreslået uddrag trykt nedenunder Cucumber fandt funktionsfilen, men ingen matchende definition. Indsæt det foreslåede kodestykke i en fil under features/step_definitions, og udfyld brødteksten.
kan ikke indlæse sådan en fil — watir Ædelstenen blev installeret til en anden Ruby-version end den, der kører. Tjek ruby ​​-v og gem list watir i samme prompt, og geninstaller derefter gem'en der.

Når multiplikationsscenariet rapporterer et bestået resultat, er installationen færdig, og det samme projekt kan udvikle sig til et fuldt udviklet automatiseringstest suite, uanset om den bruges til funktionstest eller natligt regressionstest.

Ofte Stillede Spørgsmål

Nej. Cucumber-JVM-covers Java, Kotlin og Scala, Cucumber.js-covers JavaScript og porte findes til adskillige andre sprog. Ruby-versionen beskrevet her er den originale implementering, og Gherkin-syntaksen er identisk på tværs af dem alle.

Enhver editor fungerer, fordi en feature-fil er almindelig tekst. RubyMine tilføjer Gherkin autofuldførelse og jump-to-definition, mens Visual Studio Code tilbyder lignende adfærd gratis gennem en Ruby-udvidelse og en Cucumber udvidelse.

Ja, for enhver suite kører mere end én person. En Gemfile med en eksplicit cucumber-version og en committed Gemfile.lock betyder, at hver maskine og hver CI-agent løser den samme gem, hvilket fjerner en hel klasse af works-on-my-machine-fejl.

Slet ikke. Watir er en bekvemmelighedsindpakning over Selenium, så du kan i stedet kræve selenium-webdriver gem'en direkte i dine trindefinitioner. Watir giver simpelthen kortere elementsyntaks til Ruby-projekter.

Cucumber udskriver allerede et uddrag for hvert udefineret trin, og AI-assistenter udvider dette ved at udfylde brødteksten fra de omgivende sideobjekter. Behandl outputtet som et første udkast, fordi genererede selektorer ofte er forkerte.

Det gør det. Copilot genkender Feature, Scenarie, Givet, Hvornår og Så, og vil foreslå yderligere scenarier i samme stil. Den er svagest til at bedømme, hvilke scenarier der reelt tilføjer dækning i stedet for at gentage et eksisterende.

Patch-opgraderinger inden for én gren, såsom 3.4.0 til 3.4.3, kan genbruge den samme mappe og beholde eksisterende gems. En flytning mellem stabile grene kræver en ny målmappe, fordi gems med C-udvidelser ikke er kompatible på tværs af dem.

Tre dækker de fleste behov: –prøvekontrollerer, at hvert trin har en definition uden at udføre noget, –tags kører en mærket delmængde af scenarier, og –format indstiller reporteren, for eksempel pretty output lokalt og JSON eller HTML til en build-server.

Opsummer dette indlæg med: