Hvordan laste ned og installere CUCUBER in Windows

โšก Smart oppsummering

Cucumber installasjon pรฅ Windows trenger fire deler i rekkefรธlge: Ruby med utviklingssettet sitt, Cucumber gem selv, et editorprogram som RubyMine, og et driverbibliotek for nettlesere. Hver av dem installeres pรฅ fรฅ minutter.

  • ๐Ÿ”˜ Ruby fรธrst: Cucumber er en Ruby-perle, sรฅ Ruby+Devkit-installasjonsprogrammet fra RubyInstaller mรฅ vรฆre pรฅ plass fรธr noe annet.
  • โ˜‘๏ธ ร‰n kommando: Kommandoen gem install cucumber henter gemsen og dens avhengigheter direkte fra RubyGems pรฅ kommandolinjen.
  • โœ… Bekreft umiddelbart: ร… kjรธre cucumber โ€“version bekrefter at gem-en er lรธst og at den kjรธrbare filen er pรฅ systembanen PATH.
  • ๐Ÿงช Valgfritt redigeringsprogram: RubyMine gir syntaksutheving og trinnnavigasjon, men alle editorer som lagrer ren tekst vil kjรธre en funksjonsfil.
  • ๐Ÿ› ๏ธ Nettleserdriver: Watir wraps Selenium og driver nettleseren; det moderne gem-navnet er watir, ikke den pensjonerte watir-webdriveren.
  • ๐Ÿ“Š Fast oppsett: Funksjonsfiler ligger under funksjoner, trinndefinisjoner under funksjoner/trinndefinisjoner, eller Cucumber kan ikke matche et trinn.

Last ned og installer Cucumber on Windows med Ruby, RubyMine og Watir

Cucumber Installasjonen kan se slitsom ut, men det er relativt enkelt nรฅr delene er satt sammen i riktig rekkefรธlge. Her er en oversikt over komponenter som mรฅ installeres for รฅ lage Cucumber arbeide.

Forutsetninger for installasjon Cucumber on Windows

Cucumber distribueres som en Ruby-edelsten, sรฅ ingenting fungerer fรธr Ruby er til stede. Bekreft fรธlgende fรธr du laster ned noe:

  • Windows 10 eller nyere, 64-bit. RubyInstaller anbefaler ikke lenger 32-biters versjonen med mindre du er avhengig av 32-biters native DLL-er eller COM-objekter.
  • Administratorrettigheter. Installasjonsprogrammet skriver til Programfiler og redigerer PATH-miljรธvariabelen.
  • En internettforbindelse. Begge gem-installasjonskommandoene nedenfor henter pakker fra RubyGems.
  • Rundt 1 GB ledig diskplass for Ruby pluss MSYS2-utviklingssettet, og mer igjen hvis du legger til RubyMine.
  • En nettleser for automatisering. Watir driver Chrome, Edge eller Firefox gjennom Selenium, sรฅ minst รฉn mรฅ vรฆre installert.

To kommandoer er verdt รฅ huske pรฅ senere: rubin -v skriver ut Ruby-versjonen, og perle -v skriver ut RubyGems-versjonen. Hvis en av dem feiler, ble ikke PATH-en oppdatert, og installasjonsprogrammet bรธr kjรธres pรฅ nytt i stedet for รฅ feilsรธkes.

Installer Ruby og DevKit

Start med Ruby+Devkit-pakken, som inneholder kompilatorverktรธykjeden som gems med C-utvidelser trenger.

Trinn 1) Gรฅ til https://rubyinstaller.org/downloads/ og velg et installasjonsprogram. Nedlastingssiden vises nedenfor.

Nedlastingssiden for RubyInstaller som viser installasjonsprogrammene for Ruby og Ruby+Devkit

โš ๏ธ Versjonsmerknad: Det separate DevKit-arkivet som den opprinnelige gjennomgangen refererer til, har blitt erstattet av MSYS2-verktรธykjeden, som Ruby+Devkit Installasjonspakker som en valgbar komponent. RubyInstaller anbefaler for รธyeblikket Ruby+Devkit 4.0.X (x64)-bygget for nye brukere, og settet oppdateres senere med ridk-installasjon i stedet for รฅ kjรธre dk.rb pรฅ nytt. Trinnene nedenfor er ellers uendret.

Trinn 2) ร…pne den nedlastede filen. Pรฅ det fรธrste skjermbildet:

  1. Godta lisensen
  2. Klikk pรฅ Neste-knappen

Skjermbilde for lisensavtale for Ruby-installasjonsprogrammet med Neste-knappen

Trinn 3) Pรฅ neste skjermbilde:

  1. Velg installasjonskatalogen din
  2. Velg alle alternativer
  3. Klikk Installer

Velge Ruby-installasjonskatalogen og velge alle installasjonsalternativer

Trinn 4) Klikk pรฅ Neste pรฅ det fรธlgende skjermbildet.

Skjermbilde for valg av Ruby-installasjonskomponent fรธr kopieringen starter

Trinn 5) Vent til installasjonen er fullfรธrt.

Ruby-installasjonsfremdrift mens filer kopieres til disk

Trinn 6) Klikk pรฅ Fullfรธr.

Skjermbildet for det endelige Ruby-installasjonsprogrammet med Fullfรธr-knappen

Trinn 7) Nรฅr installasjonen er fullfรธrt, kjรธr Ruby fra Windows Startmeny.

Windows Startmenyoppfรธringen som รฅpner ledeteksten med Ruby

Trinn 8) Du vil se en Ruby-kommandoprompt som ligner pรฅ Windows cmd-vinduet.

Ruby-ledetekstvinduet er klart til รฅ godta gem-kommandoer

Install Cucumber

Med Ruby on the PATH er selve edelstenen en enkelt kommando.

Trinn 1) Skriv inn perleinstallasjon agurk i Ruby-ledeteksten. Denne kommandoen laster ned og installerer Cucumber pรฅ selve kommandolinjen.

gem install cucumber skrevet inn i Ruby-kommandoprompten

Etter noen fรฅ sekunder Cucumber Installasjonsprosedyren starter og rapporterer hver avhengighet den henter.

Cucumber gem-installasjonsutdata som viser avhengighetene som installeres

Trinn 2) For รฅ bekrefte om Cucumber installert vellykket, skriv inn agurk โ€“ versjonLegg merke til de to bindestrekene โ€“ รฉn bindestrek er ikke et gyldig langt alternativ.

agurk --version-kommandoen skriver ut den installerte Cucumber versjon

Installer IDE RubyMine

En editor er ikke strengt tatt pรฅkrevd, men RubyMine forstรฅr Gherkin og kan hoppe fra et trinn til definisjonen. Fรธlg trinnene nedenfor for รฅ installere det.

Velkomstskjermen for RubyMine-oppsettveiviseren

Trinn 1) Klikk pรฅ Neste for รฅ fortsette med RubyMine-installasjonen.

Fรธrste side for RubyMine-installasjonsprogrammet med Neste-knappen

Trinn 2) Velg installasjonssted.

Velge installasjonsmappen for RubyMine

Trinn 3) Angi installasjonsalternativene.

RubyMine-installasjonsalternativer som snarveier og filtilknytninger

Trinn 4) Velg Start-menymappen.

Velge Start-menymappen for RubyMine-snarveien

Trinn 5) Klikk pรฅ Installer.

RubyMine-installasjonsprogrammet er klart til รฅ kopiere filer etter at du har klikket pรฅ Installer

Trinn 6) Klikk pรฅ Fullfรธr.

Skjermbilde for fullfรธrt oppsett av RubyMine med Fullfรธr-knappen

Trinn 7) Velg Ikke importer innstillinger.

Dialogboksen Importer innstillinger ved fรธrste oppstart av RubyMine

Trinn 8) Klikk pรฅ Evaluer.

Aktiveringsvindu for RubyMine-lisens med Evaluer-alternativet

Trinn 9) Godta lisensen.

Godtar RubyMine-lisensavtalen

Trinn 10) Velg Hopp over gjenvรฆrende og angi standardinnstillinger.

RubyMine innledende tilpasningsskjerm med Hopp over gjenvรฆrende og Angi standardinnstillinger

Trinn 11) ร…pne redigeringsprogrammet.

RubyMine velkomstskjerm med ร…pne-alternativet

Trinn 12) Opprett et nytt prosjekt.

Ny prosjektdialog i RubyMine

โš ๏ธ Versjonsmerknad: RubyMine er en betalt JetBrains produkt med en tidsbegrenset evaluering, som er det Evaluer-knappen i trinn 8 starter. Et gratis alternativ er Visual Studio Code med en rubin og en Cucumber (Gherkin)-utvidelsen; resten av denne gjennomgangen fungerer pรฅ samme mรฅte i begge editorene.

Installer watir-webdriver

Cucumber kjรธrer bare trinnene. Noe annet mรฅ รฅpne nettleseren, og den jobben tilhรธrer Watir, et rubinrรธdt omslag rundt SeleniumHvis du foretrekker รฅ kjรธre nettleseren direkte, kan det samme prosjektet kalle en vanlig WebDriver-skript.

Trinn 1) Klikk pรฅ Start kommandoprompt med Ruby og kjรธr installasjonskommandoen gem install watir-webdriver.

gem install watir-webdriver som kjรธrer i Ruby-kommandoprompten

Trinn 2) watir-webdriver-perlen installeres uten problemer.

Konsollutdata bekrefter at watir-webdriver-perlen er installert

โš ๏ธ Avskrivningsmerknad: watir-webdriver-perlen ble brettet inn i hoveddelen vann perle pรฅ Watir 6.0, og dets eget repository peker nรฅ bare brukere mot erstatningen. Ved kjรธring av en ny maskin perleinstallasjon vann i stedet. Den historiske kommandoen ovenfor er beholdt fordi det er det skjermbildene viser.

Cucumber Prosjektmappestruktur

Cucumber oppdager filer etter konvensjon, ikke etter konfigurasjon, sรฅ layouten er viktigere enn den fรธrst ser ut til. Et minimalt prosjekt ser slik ut:

Sti Holder
funksjoner/ Hver .feature-fil, skrevet i Gherkin. Cucumber sรธker her som standard.
funksjoner/trinn_definisjoner/ Ruby-filene hvis blokker samsvarer med hver Gitt-, Nรฅr- og Sรฅ-linje.
funksjoner/stรธtte/ Oppsettkode lastes inn fรธr noe trinn kjรธres, for eksempel env.rb, som er der nettleseren vanligvis รฅpnes og lukkes.

To regler sparer mye forvirring senere. Cucumber ignorerer nรธkkelordet nรฅr det samsvarer med et trinn, sรฅ Gitt at jeg har variabel a og Sรฅ har jeg variabel a kolliderer med samme definisjon. Og trinnteksten i funksjonsfilen mรฅ samsvare nรธyaktig med det regulรฆre uttrykket i trinnfilen, inkludert tegnsetting.

Fรธrst Cucumber Script

Eksemplet nedenfor multipliserer to tall, noe som er nok til รฅ bevise at funksjonsfilen, trinnfilen og edelstenen alle kommuniserer med hverandre.

Trinn 1) ร…pne RubyMine-editoren fra Windows Startmeny.

ร…pner RubyMine fra Windows Start-meny

RubyMine-dashbordet vises som vist nedenfor.

RubyMine-dashbordet vises etter at redigeringsprogrammet รฅpnes

Trinn 2) Opprett et nytt prosjekt i RubyMine-editoren.

Starte et nytt prosjekt fra RubyMine-dashbordet

Gi prosjektet et navn og en plassering, og bekreft deretter.

Skrive inn prosjektnavn og plassering i dialogboksen for nytt prosjekt

Trinn 3) Opprett en filkatalog.

Opprette en ny katalog i RubyMine-prosjektet

Den nye katalogen vises i prosjekttreet.

Prosjekttre som viser den nyopprettede funksjonskatalogen

Trinn 4) Opprett og lagre en fil i dinmappe/funksjoner/ med navnet dittfilnavn.funksjon.

Oppretter funksjonsfilen i funksjonskatalogen

Bekreft filnavnet slik at det slutter pรฅ .feature-typen.

Navngi den nye filen med filtypen .feature

Trinn 5) For รฅ utfรธre scenarioet vรฅrt, lagre fรธlgende kommandoer i funksjonsfilen.

Funksjonsfilen er รฅpen i RubyMine-editoren, klar for scenarioet

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

Trinn 6) Kjรธr nรฅ den fรธrste funksjonsfilen.

Klikk pรฅ Start kommandoprompt med Ruby og kjรธr agurk-kommandoen fra prosjektmappen.

Starte Ruby-kommandoprompten for รฅ kjรธre funksjonsfilen

Konsollen rapporterer resultatet som vist nedenfor.

Konsollutgang fra den fรธrste Cucumber kjรธring av funksjonsfilen

Trinn 7) Opprett trinndefinisjonsfilen for funksjonsfilen.

Opprett en ny mappe i RubyMine-editoren.

Opprette en ny mappe i RubyMine-prosjektet for trinndefinisjoner

Navngi den nye mappen for trinndefinisjoner

Trinn 8) Lagre filen i dinmappe/funksjoner/trinn_definisjoner med navnet test_trinn.rb.

Lagre en ny Ruby-fil i mappen med trinndefinisjoner

Skriv inn test_step.rb som filnavn for trinndefinisjonen

Trinn 9) Skriv fรธlgende kode i trinnfilen.

Stegdefinisjonsfil รฅpnes i redigeringsprogrammet fรธr koden legges til

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

Trinn 10) Kjรธr nรฅ funksjonsfilen pรฅ nytt.

Kjรธre funksjonsfilen en gang til etter at trinnene er definert

Resultatet skrives ut i konsollen, og hvert trinn rapporteres som bestรฅtt.

Cucumber konsollutdata etter at funksjonsfilen kjรธrer med definerte trinn

Felles Cucumber Installasjonsfeil og hvordan du fikser dem

De fleste feil pรฅ dette stadiet kommer fra miljรธet snarere enn fra CucumberDette er de som er verdt รฅ gjenkjenne med det samme.

Melding ร…rsak Fix
ยซagurkยป gjenkjennes ikke som en intern eller ekstern kommando Ruby bin-katalogen er ikke pรฅ PATH, eller du er i et vanlig cmd-vindu. Open Start kommandoprompt med Ruby, eller installer Ruby pรฅ nytt med PATH-alternativet valgt.
SSL_connect returned=1 errno=0 state=feil: sertifikatverifisering mislyktes RubyGems kan ikke validere sertifikatkjeden, vanligvis bak en bedriftsproxy. Oppdater RubyGems med gem update โ€“system, eller konfigurer proxyen med โ€“http-proxy-bryteren.
FEIL: Kunne ikke bygge den opprinnelige utvidelsen av Gem MSYS2-utviklingssettet mangler. Kjรธr ridk install og velg verktรธykjedealternativene MSYS2 og MINGW.
ugyldig alternativ: -versjon En enkelt bindestrek ble brukt for en lang opsjon. Skriv agurk โ€“ versjon med to bindestreker.
Udefinert trinn, med et foreslรฅtt utdrag trykt under det Cucumber fant funksjonsfilen, men ingen samsvarende definisjon. Lim inn det foreslรฅtte kodeutdraget i en fil under features/step_definitions og fyll ut brรธdteksten.
kan ikke laste inn en slik fil โ€” watir Edelstenen ble installert for en annen Ruby-versjon enn den som kjรธrer. Sjekk ruby โ€‹โ€‹-v og gem list watir i samme ledetekst, og installer deretter gem-en pรฅ nytt der.

Nรฅr multiplikasjonsscenariet rapporterer et bestรฅtt resultat, er installasjonen fullfรธrt, og det samme prosjektet kan vokse til et fullstendig automatiseringstesting suite, enten den brukes til funksjonstesting eller nattlig Regresjonstesting.

Spรธrsmรฅl og svar

Nei. Cucumber-JVM-omslag Java, Kotlin og Scala, Cucumber.js-omslag JavaSkript og porter finnes for flere andre sprรฅk. Ruby-versjonen som beskrives her er den originale implementeringen, og Gherkin-syntaksen er identisk pรฅ tvers av alle.

Enhver editor fungerer, fordi en funksjonsfil er ren tekst. RubyMine legger til Gherkin-autofullfรธring og hopp-til-definisjon, mens Visual Studio Code tilbyr lignende oppfรธrsel gratis gjennom en Ruby-utvidelse og en Cucumber Utvidelse.

Ja, for enhver pakke kjรธrer mer enn รฉn person. En Gemfile med en eksplisitt cucumber-versjon og en committed Gemfile.lock betyr at hver maskin og hver CI-agent lรธser den samme gem-en, noe som fjerner en hel klasse med works-on-my-machine-feil.

Ikke i det hele tatt. Watir er en praktisk innpakning over Selenium, slik at du kan kreve selenium-webdriver-perlen direkte i trinndefinisjonene dine i stedet. Watir gir ganske enkelt kortere elementsyntaks for Ruby-prosjekter.

Cucumber skriver allerede ut et utdrag for hvert udefinerte trinn, og AI-assistenter utvider dette ved รฅ fylle ut brรธdteksten fra de omkringliggende sideobjektene. Behandle resultatet som et fรธrsteutkast, fordi genererte selektorer ofte er feil.

Det gjรธr det. Copilot gjenkjenner Funksjon, Scenario, Gitt, Nรฅr og Sรฅ, og vil foreslรฅ ytterligere scenarier i samme stil. Den er svakest til รฅ bedรธmme hvilke scenarier som virkelig legger til dekning i stedet for รฅ gjenta et eksisterende.

Oppgraderinger av patcher innenfor รฉn gren, som for eksempel 3.4.0 til 3.4.3, kan gjenbruke den samme katalogen og beholde eksisterende gems. En flytting mellom stabile grener krever en ny mรฅlkatalog, fordi gems med C-utvidelser ikke er kompatible pรฅ tvers av dem.

Tre dekker de fleste behov: โ€“prรธvekontroller at hvert trinn har en definisjon uten รฅ utfรธre noe, โ€“tags kjรธrer et merket delsett av scenarier, og โ€“format setter rapportรธren, for eksempel pretty output lokalt og JSON eller HTML for en byggeserver.

Oppsummer dette innlegget med: