Nell'ambito dei software di testing per le applicazioni web,
voglio ricordare il progetto
WatiN, una
libreria .NET che permette di interagire, tramite
interfaccia COM, con Internet Explorer e, tramite l'
estensione JSSh (JavaScript Shell Server), con Mozilla Firefox.
WatiN nasce da un'idea dell'olandese
Jeroen van Menen nel dicembre del 2005 come evoluzione open source (sotto Apache License 2.0) della versione commerciale (per Ruby)
WatiR.
WatiN, uscito nella versione 2.1 il 12 aprile scorso, permette quindi di interagire e automatizzare le funzionalità del browser preferito quando si utilizzano linguaggi del framework .NET, magari integrandone le funzioni con prodotti come
NUnit,
MBUnit,
MSTest,
TestDriven.Net,
Fitnesse o
SharpDevelop.
La libreria può essere scaricata da
SourceForge.net, oppure installata direttamente in Visual Studio tramite
NuGet. La
documentazione risulta aggiornata e ben fatta. Grazie alla maturità raggiunta dal prodotto, anche un programmatore alle prime armi è in grado di utilizzare facilmente
WatiN. L'esempio comune è quello di effettuare in modo automatico una ricerca su Google:
[Test]
public void SearchForWatiNOnGoogle()
{ using (var browser = new IE("http://www.google.com")) { browser.TextField(Find.ByName("q")).TypeText("WatiN"); browser.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(browser.ContainsText("WatiN")); }
}
Consiglio inoltre di abbinarne l'uso con
HttpWatch (
sniffer per IE e Firefox), allo scopo di
registrare il traffico HTTP e verificare le performance realizzate dall'attività di uno script di test automatizzato, salvandole poi facilmente in un file esterno di log, come
esemplificato su HttpWatch Blog.