Fiddler Gebruiken In Smartsite iXperion TestSuite

by Camiel 6. April 2011 12:28

Screenshot van de Smartsite Testsuite

Ontwikkelaars die ontwikkelen binnen Smartsite iXperion hebben de mogelijkheid gebruik te maken van de Smartsite TestSuite. Deze windows applicatie maakt het mogelijk de site waaraan ontwikkeld wordt lokaal te draaien, en biedt een groot aantal functionaliteiten die het leven van een Smartsite ontwikkelaar vereenvoudigen. De TestSuite gebruikt in de applicatie een browsercontrol om de ontwikkelde op een lokale webserver zaken te bekijken.

Soms wil je op low-level niveau kijken wat het http verkeer is tussen browser en webserver, en DE tool om dit te doen is Fiddler. Deze tool fungeert als proxy tussen de browser en webserver, en maakt het verkeer inzichtelijk. 

Echter is er één probleem: de TestSuite is een .NET applicatie, en .NET omzeilt altijd de proxy wanneer localhost wordt gebruikt. En de server die de TestSuite start draait op localhost.

Een veel aangedragen oplossing voor dit probleem is het aanroepen van de website op http://127.0.0.1.:<poortnummer> (let op de extra punt na 1). De TestSuite server accepteert dit echter niet.

Gelukkig is er een andere oplossing. Binnen Fiddler is het mogelijk om rules aan te maken in de vorm van een .js bestand. Dit bestand is te vinden in Fiddler onder het menuitem "Rules -> Customize rules". In deze file is onder andere de function OnBeforeRequest(oSession: Session) te vinden, waarin code staat die bij elk request die voorbij Fiddler komt wordt uitgevoerd.

Als binnen de OnBeforeRequest de volgende code wordt toegevoegd, is de site binnen de TestSuite ook op http://EmptySix te bereiken:

if (oSession.HostnameIs("EMPTYSIX")) { oSession.host = "localhost:7812"; }

 

Fiddler vertaalt de host EMPTYSIX in localhost:7812, welk geaccepteerd wordt door de TestSuite webserver. Voor de (TestSuite) webbrowser lijkt het echter een externe host, en wordt de call dus over de proxy gestuurd.

Tags: , ,

smartsite

Month List