Workshop FitNesse & Selenium

Slides:



Advertisements
Verwante presentaties
Stilstaan bij parkeren Dat houdt ons in beweging
Advertisements

De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Werkwoorden d t dt.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Personalisatie van de Archis website Naam: Sing Hsu Student nr: Datum: 24 Juni 2004.
Installatie & beheer Jonathan Mohnen Martijn Wolfs.
1 COVER: Selecteer het grijze vlak hiernaast met rechtsklik & kies ‘change picture’ voor een ander beeld of verwijder deze slide & kies in de menubalk.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
ADOBE PRESENTER Willem vanden Berg Dienst Onderwijsondersteuning en –ontwikkeling KaHo Sint-Lieven 1.
Databases via internet
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
Workshop Nieuwe begroting
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
prNBN D addendum 1 Deel 2: PLT
Aan de slag met Evernote Documenteer je leven, overal en altijd 1.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
© BeSite B.V www.besite.nl Feit: In 2007 is 58% van de organisaties goed vindbaar op internet, terwijl in 2006 slechts 32% goed vindbaar.
9 januari 2013 Bodegraven 1. 1Korinthe 11 1 Wordt mijn navolgers, gelijk ook ik Christus navolg. 2.
© GfK 2012 | Title of presentation | DD. Month
Nooit meer onnodig groen? Luuk Misdom, IT&T
Hoofdstuk 6: Controle structuren
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
Softwarepakket voor het catalogeren en determineren van fruitsoorten
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
TUDelft Knowledge Based Systems Group Zuidplantsoen BZ Delft, The Netherlands Caspar Treijtel Multi-agent Stratego.
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
1 19 dec Rijnsburg 19 dec Rijnsburg. 2 Hebreeën 8 1 De hoofdzaak VAN ONS ONDERWERP is, dat wij zulk een hogepriester hebben, die gezeten is.
Seminarie 1: Pythagoreïsche drietallen
Afrika: Topo nakijken en leren.
Informatiebad sociaal infopunt Demo portaalsite. Lokaal Sociaal Beleidsplan – sociaal infopunt 2 Demo portaalsite Je vindt de portaalsite door te surfen.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
Eerst even wat uitleg. Klik op het juiste antwoord als je het weet.
Seminar Congrescentrum ‘t Elzenveld, Antwerpen 18 juni 2004 Sessie C: Word-sjablonen Marene Kok Manager Opleidingen en Documentatie.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Opleiding CMS website Gent Bart Nelis Gent: #239/ docentengang Brussel: /naast bibliotheek
Samen-bouwen … over paneelbouw en de rest!
23 september 2014 Niels Vanmarcke
Centrummaten en Boxplot
Waar gaat het nou toch om?!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
DIGITAL ANALYTICS TOOLS. 2 DIGITALE MEDIA - METEN.
Workshop Informatievaardigheden 1 Nathalie van den Eerenbeemt Marjolein de Wilde Zoeken naar goede bronnen.
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
© imec 2000 © imec 2001 MAX+PLUS II Installatieprocedure.
Cegeka & TenForce Ronde tafel 17/06/2014 Doelstellingenmanagement VO.
Praegus B.V.. .
Transcript van de presentatie:

Workshop FitNesse & Selenium 1 Workshop FitNesse & Selenium Waardevolle spelers bij Agile Ontwikkeling

Wie ben ik? Wat doe ik? Gijs Sijpesteijn Consultant ICT 2 Gijs Sijpesteijn Consultant ICT In dienst bij Ordina sinds 2006 Sinds 2007 bezig met Agile Ontwikkeling Agile projecten bij Microbais, SNS en Rabobank Cursus: Agile testen voor Java Ontwikkelaars

Onderwerpen Introductie van FitNesse Oefenen met FitNesse 3 Introductie van FitNesse Oefenen met FitNesse Introductie van Selenium Oefenen met Selenium (ism FitNesse)

FitNesse Stukje achtergrond 4 FitNesse is ontwikkeld onder aanvoering van Robert C. Martin FitNesse was gebouwd als uitbreiding op FIT FIT zorgt voor een gemeenschappelijke taal en maakt de testcases voor alle disciplines makkelijk begrijpbaar FIT interpreteert HTML pagina’s als testcases FitNesse genereert HTML pagina’s aan de hand van WIKI pagina’s FIT = Framework for Integrated Test FIT werkt met tabelen waarin invoer waarden en verwachtte uitvoer zijn opgenomen.

FitNesse Architectuur 5 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Fixture Library Fixture naam Uitleg Decision Table Noteer de input -en output waarden voor de test. Output waarden kolommen worden aangegeven met een '?' achter variabele naam Query Table Alle kolommen worden als output gezien. Alle rijen worden gecontroleerd tegen de uitkomst van de query. VB een lijst van klanten. Subset Query Table Zelfde als een Query table, maar nu kan je aangeven welke subset je verwacht in de query. VB een of meer klanten uit een lijst van klanten Ordered Query Table Zelfde als een Query table, maar nu wil je de volgorde van de verschillende elementen ook controleren Script Table Elke rij vormt een script. Import Vergelijkbaar met java import, namespace. Table Table Kan alles zijn wat je wilt. Fixture heeft een method: doTable. Comment Voeg commentaar toe. Scenario Table Kan worden aangeroepen vanuit een Decision en een Script tabel Library Table Definieer een fixture die voor alle onderliggende pagina’s beschikbaar is. Generieke delen kan je hier in kwijt. Vb schonen database.

FitNesse Wat is het? 7 “FitNesse is a software development collaboration tool” FitNesse is een software testing tool. FitNesse bestaat uit: Webserver(tje) Wiki (om testpagina’s op te stellen)

Werken met FitNesse interface. FitNesse Oefening 1 – FitNesse test schrijven 8 Opdrachten: FitNesse opstarten. Werken met FitNesse interface. FitNesse test opstellen in Wiki notatie. Business methode testen mbv FitNesse test.

FitNesse Opstarten (NOTE: Dosbox niet afsluiten. Dan stopt FitNesse) 9 Download: http://www.fitnesse.org (nu te vinden in C:\WorkshopFitNesse\ ) Huidige versie: 20110104 Start commando: java -jar fitnesse.jar Belangrijkste opties: Voor de workshop, gebruik de link op het bureaublad: start_fitnesse.bat om FitNesse te starten. (NOTE: Dosbox niet afsluiten. Dan stopt FitNesse) Optie Default -p <port#> 80 -d /path/to/fitNesse/root . 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Opstart process 10 Na het opstarten van start_fitnesse.bat opent er een dosbox met de hiernaast getoonde output. We zien hier o.a. poort nummer (9090) waarop FitNesse bereikbaar is. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Interface FitNesse is gestart en we kunnen de webserver 11 FitNesse is gestart en we kunnen de webserver (=FitNesse) benaderen op url: http://localhost:9090/ en zien dan de homepage zoals hiernaast afgebeeld. Gebruik de 'FitNesse' link op het bureaublad. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

Onze eerste FitNesse test. Wat gaan we testen? 12 Een requirement voor ons SUT (System under Test), is het optellen van twee getallen en het resultaat retourneren. We willen deze functionaliteit gaan testen m.b.v. een FitNesse test. Aanwezig De business methode en fixture zijn reeds aanwezig. Wij schrijven voor deze oefening enkel de wiki-pagina. Simpel voorbeeld van een optel functie. - Optellen.java is de fixture die door fitnesse wordt aangeroepen. - Iedere rij wordt aan de fixture gevoed. - De fixture zal de operatie op het sut - Fixture zal het resultaat retourneren aan de slim runner - De slim runner zal het verwachte resultaat vergelijken met werkelijke resultaat Deze wiki-pagina gaan wij nu schrijven.

FitNesse OptellenTest 13 De test voor de business methode zien we hiernaast afgebeeld. Naam van fixture In- en output definitie Simpel voorbeeld van een optel functie. - Optellen.java is de fixture die door fitnesse wordt aangeroepen. - Iedere rij wordt aan de fixture gevoed. - De fixture zal de operatie op het sut - Fixture zal het resultaat retourneren aan de slim runner - De slim runner zal het verwachte resultaat vergelijken met werkelijke resultaat Test gevallen

FitNesse OptellenTest – het verwachte testresultaat 14 Na het uitvoeren van de test door FitNesse, ver- wachten we het volgende test resultaat. Simpel voorbeeld van een optel functie. - Optellen.java is de fixture die door fitnesse wordt aangeroepen. - Iedere rij wordt aan de fixture gevoed. - De fixture zal de operatie op het sut - Fixture zal het resultaat retourneren aan de slim runner - De slim runner zal het verwachte resultaat vergelijken met werkelijke resultaat

FitNesse Testpagina’s toevoegen aan FitNesse 15 Gebruik de 'add child' link naast de wiki pagina naam. Voorwaarde: Namen van FitNesse test pagina’s moeten wikiwords zijn. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Wiki Woord 16 Wiki-words zijn woorden die voldoen aan volgende regels: Begint met één of meerdere hoofdletter. Gevolgd door één of meerdere kleine letters of getallen. Gevolgd door één of meerdere hoofdletter. Voorbeelden: BobMartin is een wiki woord. SalesReport1972 is een wiki woord. USAforEver niet, omdat er drie kapitalen elkaar opvolgen. Usa1776 niet, omdat het woord maar een kapitaal heeft. ItDoesNotMatterHowManyCapitalsThereAreYouCanHave1000IfYouLike 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse OptellenTest pagina toevoegen. 17 Toevoegen van de OptellenTest pagina. Klik op de 'add child' link naast FrontPage. Kies voor 'Test' als type pagina. Name = OptellenTest Klik op 'Add' 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De OptellenTest pagina toevoegen 18 De pagina is aangemaakt, maar nog niet zichtbaar op de homepage. Op de homepage, klik 'Edit' in het menu rechts. Voeg onderaan de pagina toe: !contents Klik op de 'Save' button. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De OptellenTest pagina opstellen 19 Door op de link 'OptellenTest' te klikken, komen we op de nieuwe wiki-pagina. Klik op 'Edit' in het menu rechts en we komen wederom in de edit mode. We kunnen nu de test in wiki notatie opstellen. Verwijder '!contents' en voeg de test toe. Klik op de 'Save' button. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De OptellenTest pagina opstellen 20 Je pagina moet er nu zo uit zien. Onze pagina is nog niet volledig. We hebben enkel de requirements van de test ingevoerd. We moeten FitNesse nu extra informatie geven om de test te kunnen uitvoeren tegen onze SUT. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Testpagina van extra informatie voorzien. 21 We moeten FitNesse vertellen welk test systeem we gebruiken. FIT Slim 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners. We moeten FitNesse vertellen waar onze fixture code classes staan.

FitNesse Testpagina van extra informatie voorzien. 22 Klik op 'Edit' in het menu. Voeg toe: !define TEST_SYSTEM {slim} Voeg toe: !path C:/WorkshopFitNesse/target/classes/ Voeg het java package toe aan de Optellen fixture, wijzig | Optellen | in | nl.ordina.workshopfitnesse.fixtures.Optellen | Klik op de 'Save' button 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De volledige testpagina. 23 Je 'OptellenTest' pagina ziet er nu zo uit en is volledig voor FitNesse om de test uit te voeren. Klik nu op 'Test' in het menu. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse OptellenTest - resultaat 24 Na het uitvoeren van de test door FitNesse, ver- wachten we het volgende test resultaat. Simpel voorbeeld van een optel functie. - Optellen.java is de fixture die door fitnesse wordt aangeroepen. - Iedere rij wordt aan de fixture gevoed. - De fixture zal de operatie op het sut - Fixture zal het resultaat retourneren aan de slim runner - De slim runner zal het verwachte resultaat vergelijken met werkelijke resultaat

FitNesse Gebruik van import fixture 25 Het is extra werk om telkens het java package op te nemen. We kunnen hiervoor de build-in fixture ‘Import' gebruiken. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Gebruik van import fixture 26 Klik op 'Edit' in het menu en wijzig de wiki tekst in het volgende: Java package is verdwenen en verplaatst naar de import fixture. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners. Klik na de aanpassingen op de 'Save' button.

FitNesse Gebruik van import fixture 27 Het resultaat zal eruit zien zoals de afbeelding hiernaast. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Special pages 28 O.a.: SetUp & TearDown Subwiki’s die respectievelijk voor en na de test worden uitgevoerd. SuiteSetUp & SuiteTearDown Subwiki’s die respectievelijk voor en na de suite worden uitgevoerd. root Wiki pagina waarin globale variabelen kunnen worden gezet.

FitNesse Optimalizeren van FitNesse. 29 Opdrachten: !define TEST_SYSTEM {slim} verplaatsen naar 'root' wikipagina. !path c:/workshopfitnesse/target/classes verplaatsen naar 'root' wikipagina. Toevoegen van 'SetUp' wiki-pagina. Verplaatsen van Import fixture uit ‘OptellenTest’ naar 'SetUp' wiki-pagina. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Optimalizeren van FitNesse - root pagina. 30 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners. Link onderaan pagina opent de 'root' wiki pagina. Klik op de link.

FitNesse Optimalizeren van FitNesse - root pagina. 31 Klik op 'Edit' in het menu. Voeg de twee onderstaande regels toe. Klik op de 'Save' button. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Optimalizeren van FitNesse - root pagina. 32 De 'root' wiki pagina ziet er nu zo uit. De informatie geldt nu voor elke wiki test pagina. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Optimalizeren van FitNesse – Toevoegen 'SetUp'. 33 Klik op het logo om naar de homepagina te navigeren. Klik op de 'add child' link naast FrontPage. Kies voor 'Normal' als type pagina. Name = SetUp Klik op 'Add' 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Optimalizeren van FitNesse – 'SetUp' bewerken. 34 Klik op de 'SetUp' link op de homepagina. Klik 'Edit' in het menu. Voeg de onderstaande regels toe. Klik op de 'Save' button 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Optimalizeren van FitNesse – 'SetUp' resultaat. 35 De 'SetUp' wiki pagina ziet er nu zo uit. Deze wiki pagina wordt voor iedere FitNesse test uitgevoerd. We kunnen nu de inmiddels overbodige informatie uit de 'OptellenTest' FitNesse test verwijderen. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse Optimalizeren van FitNesse – Opschonen OptellenTest. 36 Navigeer naar de homepagina door op het logo te klikken. Klik op de link 'OptellenTest' Klik 'Edit' in het menu. Verwijder alle code, behalve de fixture tabel. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners. Klik op de 'Save' button.

FitNesse Optimalizeren van FitNesse – Opschonen OptellenTest. 37 De 'OptellenTest' pagina ziet er nu zo uit. Let op de automatisch toegevoegde 'SetUp' wiki. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De gangbare werkwijze. 38 We hebben nu enkel de FitNesse test moeten opstellen, maar normaal zal de procedure zijn: SUT uitbreiden met functionaliteit. FitNesse testpagina opstellen die de requirements van de nieuwe functionaliteit testen. Fixture code schrijven die de wiki pagina verbindt met het SUT. Of in een TDD ( Test Driven Design ) omgeving: FitNesse testpagina opstellen die de requirements van de nieuwe functionaliteit testen. Fixture code schrijven die de wiki pagina verbindt met het SUT. SUT uitbreiden met functionaliteit. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De fixture code en business methode nader bekeken. 39 Open Eclipse d.m.v. link op het bureaublad. Navigeer naar: WorkshopFitNesse/src/main/java/nl/ordina/workshopfitnesse/fixtures/Optellen Of gebruik shortkey: <ctrl>+<shift>+r en type 'Optellen' De fixture Optellen opent. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De fixture code nader bekeken. 40 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

FitNesse De business methode nader bekeken. 41 In Eclipse, navigeer naar: WorkshopFitNesse/src/main/java/nl/ordina/workshopfitnesse/aandelen/ business/OptellenBusiness Of gebruik shortkey: <ctrl>+<shift>+r en type 'OptellenBusiness' De business service OptellenBusiness opent. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

Selenium Stukje achtergrond 42 In een notendop: Selenium automatiseert browsers. Selenium levert een set van tools om tests uit te voeren tegen een webapplicatie. Selenium IDE – Firefox plugin om gebruikers acties op te nemen en af te spelen. Selenium Server – Afspelen selenium scripts. Selenium Client Drivers – Aansturen van selenium server. Support voor Java, Ruby, C#, Python. Selenium IDE is een extensie voor Firefox. (Helaas geen andere browser support) Het stelt je in staat om gebruiker acties in een webapplicatie op te nemen en terug te spelen. Selenium Remote control, afstandbediening, stelt je instaat om elke gewenste taal tests script op te stellen die je kan laten uitvoeren tegen je webapplicatie in een browser. Selenium Grid, stelt je instaat om je tests gedistribueerd af te spelen over verschillende server. Dus tests in meerdere browsers op meerdere machines. Ik ga de Selenium IDE demonstreren. De andere twee vallen buiten de doelstelling van de presentatie.

Selenium Architectuur 43 SUT in een browser Selenium Server (web-acties op SUT) Selenium IDE is een extensie voor Firefox. (Helaas geen andere browser support) Het stelt je in staat om gebruiker acties in een webapplicatie op te nemen en terug te spelen. Selenium Remote control, afstandbediening, stelt je instaat om elke gewenste taal tests script op te stellen die je kan laten uitvoeren tegen je webapplicatie in een browser. Selenium Grid, stelt je instaat om je tests gedistribueerd af te spelen over verschillende server. Dus tests in meerdere browsers op meerdere machines. Ik ga de Selenium IDE demonstreren. De andere twee vallen buiten de doelstelling van de presentatie. Selenium Client Driver (programma code of selenium script)

Selenium Client Driver Selenium - Fitnesse Architecture 44 Maken wij. com.neuri.webfixture.WebTest http(s) Selenium Client Driver Selenium server

Test applicatie starten. Selenium Server starten. Selenium Oefening 1 – Selenium test schrijven 45 Opdrachten: Test applicatie starten. Selenium Server starten. FitNesse test opstellen.

Selenium Oefening 1 – Test applicatie starten 46 Gebruik start_app.bat op het bureaublad om de test applicatie te starten. Na het opstarten van start_app.bat opent er een dosbox met de hieronder getoonde output. We zien o.a. het poort nummer (9999) waarop de test applicatie is gestart. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

Selenium Oefening 1 – Test applicatie starten 47 De test applicatie is nu bereikbaar op: http://localhost:9999/aandelen/ Of gebruik de link ‘open_app’ op het bureaublad. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

Selenium Opstarten Selenium Server 48 Download: http://seleniumhq.org/download/ (nu te vinden in C:\WorkshopFitNesse\ ) Huidige versie: 2.6.0 Start commando: java -jar selenium-server.jar Belangrijkste opties: Voor de workshop, gebruik de link op het bureaublad: start_selenium.bat om de Selenium Server te starten. (NOTE: Dosbox niet afsluiten. Dan stopt Selenium Server) Optie Default -p <port#> 4444 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

Selenium Oefening 1 – Selenium Server starten 49 Gebruik start_selenium.bat op het bureaublad om de Selenium Server te starten. Na het opstarten van start_selenium.bat opent er een dosbox met de hieronder getoonde output. We zien o.a. het poort nummer (4444) waarop de Selenium Server is gestart. 2 test systemen: fit & slim Fit –’classieke manier’: - wiki pagina wordt vertaald naar html en verstuurd naar de server. - de fitserver wordt opgestart en vertaald de html in fit commando’s - de fit commando’s voeren operaties op de fixtures uit - de fixtures voeren operaties uit op het system under test. Slim – ‘nieuwe manier’: - wiki pagina wordt vertaald in een set van fit instructies en naar de server gestuurd - slim executor voert operaties uit op de fixtures Voordeel slim: fixture code geen afhankelijkheid met fitnesse. (niks subclasses of annotaties) kleiner, lichter protocol. Makkelijk te porten naar ander platform. (Er is ondersteuning voor o.a. .Net, C++, Python, Ruby) interpretatie wiki en tonen test resultaat dmv slimrunners.

Selenium Oefening 1 – FitNesse test toevoegen. 50 Selecteer de FitNesse webinterface in de browser. Klik op de 'add child' link naast FrontPage. Kies voor 'Test' als type pagina. Name = WebTest Klik op 'Add'

Selenium Oefening 1 – FitNesse test toevoegen. 51 Klik op de link ‘WebTest’ op de homepagina. Klik op ‘Edit’ in het menu. Klik op de ‘webtest’ link op het bureaublad. Kopieer de inhoud van het bestand. (ctrl+a, ctrl+c) Selecteer FitNesse en plak de inhoud van het clipboard. (ctrl+v) Klik op de ‘Save‘ button.

Selenium Oefening 1 – FitNesse test toevoegen. 52 De ‘WebTest' wiki pagina ziet er nu (deels) zo uit.

Selenium Oefening 1 – FitNesse test nader bekeken. 53

Selenium Oefening 1 – FitNesse test nader bekeken. 54

Selenium Hoe vindt Selenium elementen? 55 <a href="…" id="b-AAPL">

Selenium Oefening 1 – FitNesse test afspelen. 56

Selenium Opschonen WebTest. 57 Deze definities zijn specifiek voor Selenium tests. Je kan ze opnemen in een aparte ‘SetUp’ voor Selenium Tests. Deze kunnen mooi naar ‘root’ wiki pagina.

Websites en literatuur: 58 Links: FitNesse: http://www.fitnesse.org/ FitNesse tutorial: http://schuchert.wikispaces.com/FitNesse.Tutorials Selenium: http://seleniumhq.org/ WebTest: http://www.fitnesse.info/webtest/ FitNesse tutorials: http://schuchert.wikispaces.com/FitNesse.Tutorials Agile tools: http://www.methodsandtools.com/ FitLibrary: http://sourceforge.net/projects/fitlibrary/ Literatuur: FIT for Software Development

www.ordina.nl 59