Monthly Archives: September 2010

Selenium, MSBuild og TeamCity

Jeg har i de sidste par dage arbejdet på at lave setup til at afvikle frontend tests på et webprojekt med Selenium.

De tests-makroer man optager med med Selenium IDE, et plugin til Firefox, er i en nogenlunde ok kvalitet, og kan efterfølgende justeres til at være helt fine.

Den løsning jeg skal teste er ASP.NET, så de tests, der bliver genereret er ikke mere stabile end de DOM-ids som ASP.NET leverer, men det er ikke mit ærinde her at løse det problem.

Udfordringen har været at lave et MSBuildbuildscript, der på en TeamCity build server kan afvikle disse tests.

Så det ville jeg lige dele med jer.

Det er et simpelt projekt, der kan køres med
>msbuild.exe build.xml

Og så søger den på “Eksponent” på henholdsvis Bing og Google. Testen fejler sikkert hvis søgeresultaterne ændrer sig, men det illustrerer helt fint.

Ideen er at man kan bruge projektet som udgangspunkt til at lave buildservervenlige frontendtests, og det er nemt at smide nogle hooks ind efter sine tests til at lave datacleanup og verifikation af f.eks. oprettede brugere i et signup flow.

Alt er i pakken, men der er et par forudsætninger for at det spiller

  • Visual Studio 2010
  • Java JRE – til at køre selenium serveren
  • Firefox – som styres af selenium serveren
  • Rettigheder til at afvikle WMIC-kommandoer – der dræber selenium-server processen efter endt test.
  • Og hvis du skal bruge den i en build server, vil jeg foreslå TeamCity, der er markant nemmere at sætte op end CruiseControl.Net. Og desuden har en ret generøs freemium udgave med op til 20 buildkonfigurationer og 5 distribuerede build agents.

Hent pakken her: SeleniumTests.zip (17mb)

Giv lyd, hvis du har noget feedback eller hvis det driller. Eller kom forbi mit bord. Eller stop mig på gaden. Eller hvad din desperation og skam kan drive dig til.

Røvrendt af Kronborg

Så ved du det.

Der findes et gammelt trick: hvis du gerne vil se pæn ud, så stil dig klods op af en der er grim. Jo grimmere des pænere, på en måde.

I går ramte de 37 år mig lige i smasken. Og når man er i begyndelsen af slutningen på midten af tredverne får man leverpletter for øjnene, hvergang man er i nærheden af et spejl, man konfronteres med snarlig total demens, hvergang man glemmer noget (og det er tit), og bliver nærmest overrasket over at der ikke kommer blod med op når man hoster.

Så med det gamle trick i ærmet og en evne til let improvisation, konstruerede jeg et nyt trick til sikkert selvbedrag:
Hvis du gerne vil være yngre, så stil dig klods op af noget gammelt. Jo ældre des yngre, på en måde.

Derfor brugte jeg dagen på Kronborg.

Det var noget af det ældste og største jeg kunne finde i Nordsjælland.

Og det virkede faktisk. Jeg følte mig ganske ung, trak vejret dybt og sukkede lettet.

Men så følte jeg mig pludselig lille. Og totalt ubetydelig på den der irriterende ‘boblerne i bækken’-måde.

Trick testet. Dur ikke. Så hellere gammel. Og sur.

“It’s not your birthday anymore. There’s no need to be kind to you.” – morrisey

Sproglig note: des flere ord des mere blah

Og ja, jeg har stadig en blog. Men hælder oftere blah ud på @dalager for tiden.