Installatiehandleiding Ruby, Cucumber en Watir voor Windows

Als eerste beginnen we me het installeren van Ruby.

Aangezien Windows geen package manager heeft om het te installeren, moet Ruby geinstalleerd worden met een RubyInstaller. Deze kan gedownload worden via de volgende URL: https://rubyinstaller.org/downloads/

Instaleer de RubyInstaller, accepteer de voorwaarden, selecteer “Add Ruby executables to your PATH” en “Associate .rb and .rbw files with this Ruby”.

Zodra de installatie klaar is, selecteer dan “Run ‘ridk install’….” en kies dan “Finish”.

Het volgende scherm wordtdan geopend:

 

Nu kom je bij de installer voor MSYS2, deze is nodig voor een aantal functies in Ruby. Doorloop het installatie proces, maar let erop dat het vinkje voor meteen runnen van MSYS uit staat! Ruby is nu geinstalleerd.

 

De tweede stap is het installeren van Chrome en Firefox drivers

Om Cucumber en Watir de drivers te laten besturen, moeten we Chromedriver en Geckodriver istalleren. Watir maakt gebruik van Chromedriver en Geckodriver om de websites te laden en om acties uit te voeren op de websites. Zoals de naam al doet vermoeden, wordt Chromedriver gebruikt bij de Chrome browser en Geckodriver wordt gebruikt voor Firefox.

Download de laatste versie van Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/downloads

Download de laatste versie van Geckodriver: https://github.com/mozilla/geckodriver/releases

Pak beide zip bestanden uit op de de bin directory van Ruby.

 

De derde stap is het installeren van Bundler en Lapis Lazuli.

Bundler en Lapis Lazuli zijn twee Rubygems die nodig zijn om geautomatiseerde testen te draaien. Volg de volgende stappen om deze te installeren.

1: Open Powershell en typ ‘gem install bundler’. De installatie start en wacht tot deze is afgerond.

2: Typ vervolgens ‘gem install lapis_lazuli -no-ri no-rdoc’ en wacht weer tot deze installatie afgerond is.

Beide Rubygems zijn nu geinstalleerd.

Maken van een test suite

Er kan nu gestart worden met het maken van een test suite.

Als eerste moet er een map aangemaakt worden waarin de Ruby projecten opgeslagen worden. Bijvoorbeeld C:projectsruby.

Vervolgens wordt er een Powershell scherm geopend. Door het volgende commando uit te voeren ‘cd c:projectsruby’, gaan we naar die betreffende map.

Vervolgens wordt het volgende commando uitgevoerd: lapis_lazuli create test-suite’. Hiermee maakt Lapis Lazuli een map aan met die naam. Deze map gaan we in, door middel van het volgende commando: ‘cd test-suite’.

Om deze test suite te draaien moeten er nog een aantal dingen geinstalleerd worden. Gelukkig kan dit door een commando uit te voeren, namelijk ‘bundle install’. Dit commando zorgt ervoor dat Cucumber, Watir en nog enkele andere benodigde gems geinstalleerd worden.

 

Nu kunnen er testen uitgevoerd worden, door simpelweg het volgende commando uit te voeren in Powershell: ‘bundle exec cucumber’.

 

De testen kunnen geschreven worden in een teksteditor, zoals notepad++. Zorg ervoor dat de feature files goed worden opgeslagen met de extentie .feature en de rubyfiles met .rb

Maken van feature en step definition files

Nu alle ingrediënten 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: BDD 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 watir-webdriver’

driver = Watir::Browser.new :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 = Watir::Wait.new(:timeout => 10) #seconds

driver.quit

end

 

Sla deze twee bestanden op in de juiste mappen. Vervolgens wordt cucumber gedraaid vanuit Powershell. Het commando hiervoor is ‘bundle exec 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 Powershell is het resultaat van de test te bekijken. Dit ziet er ongeveer alsvolgt uit:

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