KOMKOMBER downloaden en installeren in Windows

โšก Slimme samenvatting

Cucumber installatie op Windows Je hebt vier onderdelen nodig: Ruby met de bijbehorende ontwikkelingskit, de Cucumber Gem zelf, een editor zoals RubyMine en een browserstuurprogramma-bibliotheek. Elk van deze onderdelen is binnen enkele minuten geรฏnstalleerd.

  • ๐Ÿ”˜ Ruby eerst: Cucumber Omdat het een Ruby gem is, moet de Ruby+Devkit installer van RubyInstaller eerst geรฏnstalleerd zijn.
  • โ˜‘๏ธ Eรฉn commando: Het commando `gem install cucumber` downloadt de gem en de bijbehorende afhankelijkheden rechtstreeks van RubyGems via de commandoregel.
  • โœ… Controleer direct: Het uitvoeren van `cucumber โ€“version` bevestigt dat de gem is gevonden en dat het uitvoerbare bestand in het systeem-PATH staat.
  • ๐Ÿงช Editor optioneel: RubyMine biedt syntaxmarkering en stapsgewijze navigatie, maar elke editor die platte tekst opslaat, zal een feature-bestand uitvoeren.
  • ๏ธ Browserstuurprogramma: Watir wraps Selenium en stuurt de browser aan; de moderne gem-naam is watir, niet de oude watir-webdriver.
  • ๐Ÿ“Š Vaste lay-out: Featurebestanden bevinden zich in de map features, stapdefinities in features/step_definitions, of Cucumber Kan geen stap matchen.

Download en installeer Cucumber on Windows met Ruby, RubyMine en Watir

Cucumber De installatie lijkt misschien omslachtig, maar is relatief eenvoudig als je de onderdelen in de juiste volgorde pakt. Hier is een stappenplan van de componenten die geรฏnstalleerd moeten worden om het apparaat te kunnen maken. Cucumber werken.

Voorwaarden voor installatie Cucumber on Windows

Cucumber Het wordt gedistribueerd als een Ruby gem, dus niets werkt totdat Ruby is geรฏnstalleerd. Controleer het volgende voordat u iets downloadt:

  • Windows 10 of later, 64-bit. RubyInstaller raadt de 32-bits versie niet langer aan, tenzij u afhankelijk bent van 32-bits native DLL's of COM-objecten.
  • Beheerdersrechten. Het installatieprogramma schrijft naar de map Program Files en wijzigt de omgevingsvariabele PATH.
  • Een internetverbinding. Beide onderstaande `gem install`-opdrachten halen pakketten op van RubyGems.
  • Ongeveer 1 GB vrije schijfruimte Voor Ruby plus de MSYS2-ontwikkelkit, en nog meer als je RubyMine toevoegt.
  • Een browser om te automatiseren. Watir ondersteunt Chrome, Edge of Firefox brengt SeleniumEr moet er dus minstens รฉรฉn geรฏnstalleerd zijn.

Twee commando's zijn handig om te onthouden voor later: ruby -v print de Ruby-versie, en gem -v Geeft de RubyGems-versie weer. Als een van beide mislukt, is het PATH niet bijgewerkt en moet het installatieprogramma opnieuw worden uitgevoerd in plaats van te worden gedebugd.

Installeer Ruby en DevKit

Begin met het Ruby+Devkit-pakket, dat de compiler-toolchain bevat die gems met C-extensies nodig hebben.

Stap 1) Ga naar https://rubyinstaller.org/downloads/ en kies een installatieprogramma. De downloadpagina wordt hieronder weergegeven.

RubyInstaller downloadpagina met een overzicht van de Ruby- en Ruby+Devkit-installatieprogramma's

โš ๏ธ Versie-opmerking: Het aparte DevKit-archief waarnaar in de oorspronkelijke handleiding werd verwezen, is vervangen door de MSYS2-toolchain. Ruby+Devkit De installer bundelt de software als een selecteerbaar onderdeel. RubyInstaller raadt momenteel de Ruby+Devkit 4.0.X (x64) build aan voor nieuwe gebruikers, en de kit wordt later bijgewerkt met ridk installatie In plaats van dk.rb opnieuw uit te voeren. De onderstaande stappen blijven verder ongewijzigd.

Stap 2) Open het gedownloade bestand. Op het eerste scherm:

  1. Accepteer de licentie
  2. Klik op de knop Volgende

Scherm met de licentieovereenkomst van het Ruby-installatieprogramma en de knop 'Volgende'.

Stap 3) Op het volgende scherm:

  1. Selecteer uw installatiemap
  2. Alle opties selecteren
  3. Klik op Installeren

De installatiemap van Ruby kiezen en alle installatieopties selecteren.

Stap 4) Klik op het volgende scherm op Volgende.

Het scherm voor het selecteren van componenten in de Ruby-installer voordat het kopiรซren begint.

Stap 5) Wacht tot de installatie is voltooid.

Voortgang van de Ruby-installatie terwijl bestanden naar de schijf worden gekopieerd

Stap 6) Klik op Voltooien.

Het laatste scherm van de Ruby-installatie met de knop 'Voltooien'.

Stap 7) Zodra de installatie is voltooid, start u Ruby vanuit de Windows Start menu.

Windows Startmenu-item waarmee de opdrachtprompt met Ruby wordt geopend.

Stap 8) Je ziet een Ruby-opdrachtprompt die lijkt op de volgende: Windows opdrachtpromptvenster.

Ruby-opdrachtpromptvenster klaar om gem-opdrachten te accepteren.

Install Cucumber

Met Ruby in het PATH is de gem zelf slechts รฉรฉn commando.

Stap 1) Typen gem install cucumber in de Ruby-opdrachtprompt. Deze opdracht downloadt en installeert Cucumber rechtstreeks via de commandoregel.

`gem install cucumber` typ je in de Ruby-opdrachtprompt.

Na een paar seconden Cucumber De installatieprocedure start en rapporteert elke afhankelijkheid die wordt opgehaald.

Cucumber De uitvoer van de gem-installatie toont een lijst met de afhankelijkheden die worden geรฏnstalleerd.

Stap 2) Om te controleren of Cucumber succesvol geรฏnstalleerd, type komkommer โ€“ versieLet op de twee koppeltekens โ€” รฉรฉn koppelteken is geen geldige optie voor een lange zin.

Het commando `cucumber --version` print de geรฏnstalleerde versie. Cucumber versie

Installeer IDE RubyMine

Een editor is niet strikt noodzakelijk, maar RubyMine begrijpt Gherkin en kan van een stap direct naar de definitie ervan springen. Volg de onderstaande stappen om het te installeren.

Welkomstscherm van de RubyMine installatiewizard

Stap 1) Klik op Volgende om verder te gaan met de RubyMine-installatie.

Eerste pagina van het RubyMine-installatieprogramma met de knop 'Volgende'.

Stap 2) Kies de installatielocatie.

De installatiemap van RubyMine selecteren

Stap 3) Stel de installatieopties in.

Installatieopties voor RubyMine, zoals snelkoppelingen en bestandskoppelingen.

Stap 4) Kies de map in het Startmenu.

De map in het Startmenu kiezen voor de RubyMine-snelkoppeling.

Stap 5) Klik op Installeren.

RubyMine-installatieprogramma is klaar om bestanden te kopiรซren na het klikken op Installeren.

Stap 6) Klik op Voltooien.

Scherm met de voltooide RubyMine-installatie en de knop 'Voltooien'.

Stap 7) Selecteer Instellingen niet importeren.

Dialoogvenster voor het importeren van instellingen bij de eerste keer opstarten van RubyMine

Stap 8) Klik op Evalueren.

Activeringsvenster voor de RubyMine-licentie met de optie 'Evalueren'.

Stap 9) Accepteer de licentie.

Het accepteren van de RubyMine-licentieovereenkomst

Stap 10) Kies 'Overslaan van de resterende stappen' en 'Standaardinstellingen instellen'.

Het eerste aanpassingsscherm van RubyMine met de opties 'Overslaan' en 'Standaardinstellingen instellen'.

Stap 11) Open de editor.

Welkomstscherm van RubyMine met de optie 'Openen'

Stap 12) Maak een nieuw project aan.

Nieuw projectdialoogvenster in RubyMine

โš ๏ธ Versie-opmerking: RubyMine is een betaalde dienst. JetBrains een product met een tijdelijke evaluatieperiode, wat het evaluatieproces start via de knop 'Evalueren' in stap 8. Een gratis alternatief is Visual Studio Code met een robijn en een Cucumber (Gherkin) extensie; de โ€‹โ€‹rest van deze handleiding werkt op dezelfde manier in beide editors.

Installeer watir-webdriver

Cucumber voert alleen de stappen uit. Iets anders moet de browser openen, en die taak behoort toe aan... Watir, een Ruby-wrapper rondom SeleniumAls u de browser liever rechtstreeks aanstuurt, kan hetzelfde project een eenvoudige aanroep doen. WebDriver-script.

Stap 1) Klik op Start de opdrachtprompt met Ruby en voer het installatiecommando uit gem install watir-webdriver.

`gem install watir-webdriver` uitvoeren in de Ruby-opdrachtprompt

Stap 2) De watir-webdriver gem wordt succesvol geรฏnstalleerd.

Console-uitvoer die bevestigt dat de watir-webdriver gem is geรฏnstalleerd.

โš ๏ธ Afschrijvingsbericht: De gem watir-webdriver is in de hoofdcode opgenomen. water edelsteen bij Watir 6.0, en de bijbehorende repository verwijst gebruikers nu alleen nog maar naar de vervanging. Voer op een nieuwe machine het volgende commando uit: gem install watir In plaats daarvan. Het bovenstaande historische commando is behouden omdat de schermafbeeldingen dat laten zien.

Cucumber Projectmapstructuur

Cucumber Het programma vindt bestanden op basis van conventies, niet op basis van configuratie, dus de lay-out is belangrijker dan je op het eerste gezicht zou denken. Een minimaal project ziet er als volgt uit:

Pad houdt
Kenmerken/ Elk .feature-bestand is geschreven in Gherkin. Cucumber Hier wordt standaard gezocht.
functies/stapdefinities/ De Ruby-bestanden waarvan de blokken overeenkomen met elke Given-, When- en Then-regel.
functies/ondersteuning/ De configuratiecode wordt geladen voordat er stappen worden uitgevoerd, zoals env.rb, waar de browser gewoonlijk wordt geopend en gesloten.

Twee regels voorkomen een hoop verwarring achteraf. Cucumber negeert het trefwoord wanneer het overeenkomt met een stap, dus Aangezien ik een variabele a heb en Dan heb ik variabele a botsen met dezelfde definitie. En de staptekst in het featurebestand moet exact overeenkomen met de reguliere expressie in het stapbestand, inclusief leestekens.

Voornaam* Cucumber Script

Het onderstaande voorbeeld vermenigvuldigt twee getallen, wat voldoende bewijst dat het feature-bestand, het step-bestand en de gem met elkaar communiceren.

Stap 1) Open de RubyMine-editor vanuit de Windows Start menu.

RubyMine openen vanuit de Windows startmenu

Het RubyMine-dashboard ziet eruit zoals hieronder weergegeven.

Het RubyMine-dashboard wordt weergegeven nadat de editor is geopend.

Stap 2) Maak een nieuw project aan in de RubyMine-editor.

Een nieuw project starten vanuit het RubyMine-dashboard

Geef het project een naam en een locatie en bevestig dit vervolgens.

De projectnaam en -locatie invoeren in het dialoogvenster voor een nieuw project.

Stap 3) Maak een bestandsmap aan.

Een nieuwe map aanmaken binnen het RubyMine-project.

De nieuwe map verschijnt in de projectstructuur.

Projectstructuur met de zojuist aangemaakte functionaliteitenmap

Stap 4) Maak een bestand aan en sla het op in jouw map/functies/ met de naam jouwbestandsnaam.functie.

Het aanmaken van het feature-bestand in de features-directory.

Controleer of de bestandsnaam eindigt op de extensie .feature.

Het nieuwe bestand de extensie .feature geven

Stap 5) Om ons scenario uit te voeren, slaat u de volgende opdrachten op in het feature-bestand.

Het featurebestand is geopend in de RubyMine-editor en is klaar voor het scenario.

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

Stap 6) Voer nu het eerste feature-bestand uit.

Klik op Start de opdrachtprompt met Ruby en voer het cucumber-commando uit vanuit de projectmap.

De Ruby-opdrachtprompt openen om het functiebestand uit te voeren.

De console geeft het resultaat weer zoals hieronder te zien is.

Console-uitvoer van de eerste Cucumber uitvoering van het functiebestand

Stap 7) Maak het stapdefinitiebestand voor het featurebestand aan.

Maak een nieuwe map aan in de RubyMine-editor.

Een nieuwe map aanmaken in het RubyMine-project voor stapdefinities.

De nieuwe map voor stapdefinities een naam geven

Stap 8) Sla het bestand op in jouw map/functies/stapdefinities met de naam test_step.rb.

Een nieuw Ruby-bestand opslaan in de map met stapdefinities.

test_step.rb wordt ingevoerd als de naam van het stapdefinitiebestand.

Stap 9) Schrijf de volgende code in het stapbestand.

Open het stapdefinitiebestand in de editor voordat de code wordt toegevoegd.

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

Stap 10) Voer het functiebestand nu opnieuw uit.

Het uitvoeren van het feature-bestand een tweede keer nadat de stappen zijn gedefinieerd

Het resultaat wordt in de console weergegeven en elke stap wordt als geslaagd gemeld.

Cucumber Console-uitvoer na het uitvoeren van het functiebestand met de gedefinieerde stappen.

Veelgestelde Cucumber Installatiefouten en hoe u ze kunt oplossen

De meeste mislukkingen in dit stadium komen eerder door de omgeving dan door de oorzaak zelf. CucumberDit zijn de exemplaren die je direct herkent.

Typ hier uw vraag of bericht Veroorzaken Bepalen
'Komkommer' wordt niet herkend als een intern of extern commando. De Ruby bin-directory staat niet in het PATH, of je bevindt je in een gewoon cmd-venster. Open Start de opdrachtprompt met RubyOf installeer Ruby opnieuw met de PATH-optie geselecteerd.
SSL_connect returned=1 errno=0 state=error: certificate verify failed RubyGems kan de certificaatketen niet valideren, omdat deze zich meestal achter een bedrijfsproxy bevindt. Werk RubyGems bij met `gem update โ€“system`, of configureer de proxy met de `--http-proxy` schakelaar.
FOUT: Het bouwen van de native gem-extensie is mislukt. De MSYS2-ontwikkelkit ontbreekt. Voer ridk install uit en selecteer de toolchain-opties MSYS2 en MINGW.
ongeldige optie: -versie Voor een lange optie werd een enkel koppelteken gebruikt. Typ cucumber โ€“versie met twee koppeltekens.
Een niet-gedefinieerde stap, met daaronder een voorgesteld codefragment. Cucumber Het functiebestand is gevonden, maar er is geen overeenkomende definitie gevonden. Plak het voorgestelde codefragment in een bestand onder features/step_definitions en vul de inhoud in.
Kan dit bestand niet laden โ€” watir De gem is geรฏnstalleerd voor een andere Ruby-versie dan de versie die wordt gebruikt. Controleer de commando's `ruby -v` en `gem list watir` in dezelfde prompt en installeer de gem vervolgens opnieuw.

Zodra het vermenigvuldigingsscenario een positief resultaat oplevert, is de installatie voltooid en kan hetzelfde project uitgroeien tot een volledig project. automatisering testen suite, of het nu gebruikt wordt voor functioneel testen of 's nachts regressietesten.

Veelgestelde vragen

Nee. Cucumber-JVM-dekkingen Java, Kotlin en Scala, Cucumber.js-covers JavaEr bestaan โ€‹โ€‹scripts en ports voor diverse andere programmeertalen. De hier beschreven Ruby-versie is de originele implementatie en de Gherkin-syntaxis is in al deze versies identiek.

Elke editor werkt, omdat een feature-bestand platte tekst is. RubyMine voegt Gherkin-autocompletie en de mogelijkheid om direct naar een definitie te springen toe, terwijl Visual Studio Code biedt vergelijkbaar gedrag gratis aan via een Ruby-extensie en een Cucumber verlenging.

Ja, voor elke suite die door meer dan รฉรฉn persoon wordt gebruikt. Een Gemfile met een expliciete Cucumber-versie en een vastgelegde Gemfile.lock betekent dat elke machine en elke CI-agent dezelfde gem gebruikt, waardoor een hele reeks fouten die op mijn machine werken, worden voorkomen.

Helemaal niet. Watir is een handige verpakking over SeleniumJe kunt de selenium-webdriver gem dus rechtstreeks in je stapdefinities opnemen. Watir Het biedt simpelweg een kortere elementsyntaxis voor Ruby-projecten.

Cucumber Er wordt al een fragment afgedrukt voor elke ongedefinieerde stap, en AI-assistenten breiden dat uit door de inhoud aan te vullen met de omliggende paginaobjecten. Beschouw de uitvoer als een eerste concept, omdat gegenereerde selectors vaak onjuist zijn.

Ja, dat klopt. Copilot herkent Feature, Scenario, Given, When en Then en stelt verdere scenario's in dezelfde stijl voor. Het zwakste punt is echter het inschatten welke scenario's daadwerkelijk een aanvulling vormen op de dekking, in plaats van een bestaand scenario te herhalen.

Patch-upgrades binnen รฉรฉn branch, zoals van 3.4.0 naar 3.4.3, kunnen dezelfde directory hergebruiken en bestaande gems behouden. Een overstap tussen stabiele branches vereist een nieuwe doeldirectory, omdat gems met C-extensies niet compatibel zijn tussen deze branches.

Drie opties dekken de meeste behoeften: โ€“ dry-run controleert of elke stap een definitie heeft zonder iets uit te voeren, โ€“ tags voert een gelabelde subset van scenario's uit, en โ€“ format stelt de rapportage-eenheid in, bijvoorbeeld een overzichtelijke uitvoer lokaal en JSON of HTML voor een buildserver.

Vat dit bericht samen met: