Google+ Followers

maandag 3 januari 2011

Selenium remote

Eigenlijk is dit meer onder het motto: wist je dat.

Met selenium kun je browse- sessies opnemen als op een videorecorder en later afspelen. Tijdens het afspelen kun je laten controleren of de pagina voldoet aan bepaalde eisen zoals het zichtbaar zijn van een element, het aanwezig zijn van een text, etc.

De leut is nu dat je de opgenomen test ook kunt afspelen vanuit phpunit, waarin je de commando's kunt laten versturen naar een centrale server. Die server kan vervolgens de test uitvoeren op... even wachten... meerdere browsers. Dat is recht; je kunt de test laten uitvoeren op firefox en de diverse smaken van IE, zonder er zelf een vinger naar uit te steken.

PostgreSQL en windowing.

Iedereen die met PostgreSQL werkt heeft wel gehoord van de windowing functies maar wat doen ze nu eigenlijk en wat kun je er nu feitelijik mee?

Kort samengevat kun je door middel van windowing functies gegevens ophalen over de relatie van records tot andere records die iets gemeen hebben. Dat klinkt heel erg als GROUP BY, en dat is het ook, met als grote verschil dat je gewoon alle records blijft terugkrijgen. Je kunt dus b.v. alle records van een personeelsdatabase ophalen en per personeelslid gegevens krijgen over hoe hij zich verhoudt tot andere personeelsleden uit dezelfde afdeling.

Een iets directer nut zal waarschijnlijk zijn dat je per record kunt ophalen hoeveel een kolomwaarde verschilt van het volgende of vorige record in een bepaalde sortering. Die informatie kun je dus ophalen tegelijk met het record zelf, er is geen aparte query meer voor nodig, ook niet in een subquery of iets dergelijks.

Verder kun je er running-totals mee maken, rangorde berekenen (1e, 2e, 3e plaats), gemiddelde, totalen etc mee berekenen, en als klap op de vuurpijl kun je per record ook informatie ophalen over het eerste of laatste record uit de groep.



Voor meer informatie, zie windowing queries op yapf.net