Installatiehandleiding Cucumber op linux machine met Ruby

Als eerst is het van belang om te zorgen dat alles up to date is. Middels het terminalvenster kan hier voor gezorgd worden.

Voer het volgende commandos uit in een terminalvenster:

 

  • sudo aptitude update
  • sudo aptitude upgrade
  • sudo aptitude install build-essential

 

Vervolgens worden er een aantal onderdelen geinstalleerd, namelijk:

Het is niet nodig om hier zelf iets voor te downloaden, dit gebeurt automatisch bij de onderstaande stappen.

 

Open een terminalvenster om deze installatiehandleiding te kunnen volgen.

 

Stap 1: Er wordt gekeken of Ruby al aanwezig is op de machine. En als dit het geval is wordt ook weergeven welke versie aanwezig is.

  • Voer het volgende commando in, in het terminalvenster: ruby -v
    • Dit commando checkt of Ruby aanwezig is en geeft eventueel de aanwezige versie aan

In bovenstaande afbeelding is te zien dat Ruby 2.3.1 aanwezig is.

Stap 2: Installeren Ruby / updaten Ruby

Deze stap kan overgeslagen worden als er al een recentere versie van Ruby aanwezig is op de machine.

  • Voer het volgende commando uit om Ruby te installeren of te updaten: sudo apt-get install ruby-full
    • Met dit commando wordt een stabiele versie van Ruby geïnstalleerd.
    • Als een nieuwe versie gewenst is, dan kan deze via een derde partij geïnstalleerd worden. Bijvoorbeeld via RVM of rbenv

Kies hier j of enter en de installatie gaat verder.

Na het installatieproces van Ruby, wordt nogmaals de versie gecheckt middels ruby -v

 

Stap 3: Het installeren van Cucumber

  • Cucumber wordt geïnstalleerd door het invoeren van het volgende commando: sudo gem install cucumber

  • Na de installatie wordt er gekeken of deze ook succesvol is verlopen. Doe dit door het volgende commando in te voeren: cucumber –help
  • Hierdoor wordt een overzicht weergeven van de help items in Cucumber en dit ziet er alsvolgt uit

Stap 4: Het installeren van Gherkin

    • Installeer Gherkin door het volgende commando uit te voeren: sudo gem install gherkin

 

  • Gherkin is de taal die Cucumber begrijpt, deze taal beschrijft gedrag zonder in detail te treden over hoe dit gedrag geïmplementeerd moet worden.

 

Op dit moment is alles aanwezig om aan de slag te gaan met een eerste story.

Maken en runnen van een .feature file

Om een story te maken, moet er een .feature file gemaakt worden, bijvoorbeeld “test.feature”. .feature files moeten altijd opgeslagen worden in een “features” map. Deze map wordt automatisch aangemaakt als Cucumber voor de eerste keer gestart wordt.

Stap 1: Opstarten cucumber en aanmaken mappen

  • Open een terminalvenster
  • Voer het volgende commando uit om Cucumber te starten en de mappen aan te maken: cucumber –init

Te zien is dat de volgende mappen zijn aangemaakt.

 

Stap 2: Maken van een .feature file

Een feature file kan in een teksteditor gemaakt worden, bijvoorbeeld in Notepad of Tekstpad. Het is alleen van belang dat deze opgeslagen wordt met de extensie: .feature

  • Open een teksteditor
  • Hierin wordt de feature aangegeven en vervolgens een scenario
    • Feature: Laat een simpel Cucumber scenario zien
      • As a BDD fanatist in wording
      • I want dat het mogelijk is om dit scenario te runnen en de stappen te zien slagen
      • So that vastgesteld wordt dat Cucumber goed geinstalleerd en geconfigureerd is
    • Scenario: Groente snijden
      • Given een komkommer is 30 cm lang
      • When ik deze doorsnijdt
      • Then heb ik twee komkommers
      • And zijn beide 15 cm lang
  • Sla dit bestand op als een “.feature” file in de map “features”

Stap 3: Runnen van de .feature file

Het runnen van de .feature file gebeurd in het terminalvenster

  • ga naar het terminalvenster en voer het volgende commando uit: cucumber

Het resultaat van de story en de bijbehorende scenario’s worden getoond, waarbij te zien is dat de stappen die gedaan worden nog niet gedefinieerd zijn.

Wanneer er automatisch getest gaat worden, kunnen deze stappen worden gedefinieerd en zullen de scenario’s zich automatisch afspelen met een resultaat.

Aan de slag met Selenium WebDriver

Om te kunnen beginnen zijn er nog een aantal dingen nodig, namelijk:

  • Selenium WebDriver
  • Geckodriver
  • Geckodriver-helper

Installeren Selenium WebDriver

Voer het volgende commando uit om Selenium WebDriver te installeren: sudo gem install selenium-webdriver

Vervolgens zal Geckodriver gedownload moeten worden van: https://github.com/mozilla/geckodriver/releases

 

Pak dit bestand uit en plaatst in het PATH. Dit kan op de volgende manier:

 

  • export PATH=$PATH:/path/to/geckodriver

 

Tenslotte wordt Geckodriver-helper geinstalleerd, middels het volgende commando:

 

  • sudo gem install geckodriver-helper

 


Nu is alles gereed om te beginnen met het geautomatiseerd testen met Selenium WebDriver op een Linux machine met Cucumber.

Voorbeeld

Nu alle ingredienten aanwezig zijn om testen te automatiseren, wordt er nu een voorbeeld gegeven.

Als eerste wordt de .feature file gemaakt. Deze ziet er alsvolgt uit:

Feature: Laat een simpel zoek scenario zien

As a tester

I want wat weten over BDD

So that ik dit zelf kan toepassen

Scenario: Koffie zoeken

Given Ik open TestTalk

And Ik vul in BDD

When Ik klik op zoeken

Then Ik zie de resultaten

 

Hierin is in Gherkin stappen beschreven wat de test doet.

Om deze uit te kunnen voeren, is er ook een step definition file nodig. Deze ziet er alsvolgt uit:

 

require ‘selenium-webdriver’

driver = Selenium::WebDriver.for :firefox

 

Given (/^Ik open TestTalk$/) do

driver.navigate.to “http://www.testtalk.nl”

 

end

 

And (/^Ik vul in BDD$/) do

 

driver.find_element(:id, ‘search-open’).click

driver.find_element(:id, ‘s’).send_keys(“BDD”)

 

end

 

When (/^Ik klik op zoeken$/) do

driver.find_element(:id, ‘searchsubmit’).click

 

end

 

Then (/^Ik zie de resultaten$/) do

wait = Selenium::WebDriver::Wait.new(:timeout => 10) #seconds

driver.quit

end

Sla deze twee bestanden op in de juiste mappen. Vervolgens wordt cucumber gedraaid vanuit het terminalvenster. Het commando hiervoor is “cucumber”.

Vervolgens is te zien dat de browser, in dit geval firfox, automatisch wordt geopend, de website wordt bezocht, het zoekveld wordt ingevuld, gezocht wordt, de zoekresultaten worden getoond en de browser wordt weer afgesloten.

 

In het terminalvester is het resultaat van de test te bekijken. Dit ziet er alsvolgt uit:

Blijf op de hoogte van onze nieuwste ontwikkelingen, schrijf je hier in voor de nieuwsbrief!