Visual Studio Team Test et Fiddler

L’astuce peut sembler de moindre importance mais elle n’est généralement connue que si quelqu’un vous l’a transmise et surtout, elle peut sous sauver la vie  notamment pour la réalisation de vos webtests.

Pour rappel, nous avons d’un côté Visual Studio Team Test, qui permet de réaliser différents types de tests sur vos applications, dont notamment des tests de charge pour vos applications Web. Or, pour réaliser un test de charge, il convient de définir un scénario (durée, nombre d’utilisateur, paramètres de réseau, etc.) qui contient un jeu de tests à dérouler. Ces tests peuvent être soit codés (en C# par exemple), soit être des webtests. Ces derniers sont généralement enregistrés à l’aide de l’outil Web Test Recorder, outil qui s’insert au sein d’Internet Explorer pour enregistrer les actions (plus exactement les requêtes) que vous effectuez lors de l’utilisation du site Web à tester. Web Test Recorder peut être ainsi vu comme un sniffer HTTP mais malheureusement, celui-ci a des limites. Notamment, il a de grosses difficultés à détecter tous les paramètres des requêtes Web comme par exemple l’upload de fichier.

A l’inverse, Fiddler est le sniffer HTTP par excellence pour qui rien n’échappe et qui est capable de rejouer un jeu de requêtes pour simuler les actions réalisées sur un site Web y compris l’upload de fichier.

Là où je veux en venir c’est que Fiddler est capable d’exporter les requêtes enregistrées pour en faire un webtest au format Visual Studio. Il est ainsi possible de faire des tests que même Visual Studio n’est pas capable de réaliser de par ses limitations.

Pour cela, rien de plus simple, une fois votre capture effectuée, cliquez sur le menu File > export sessions

fiddler2

Puis sélectionnez le format d’export et le chemin.

fiddler1

Il ne vous reste plus qu’à insérer le webtest dans votre projet Visual Studio et le tour est joué!

/!\ à plusieurs reprises, notamment avec l’upload de certains fichiers (PDF entre autres), les captures Fiddler sont fonctionnelles et rejouables mais l’export produit un webtest corrompu, principalement parce que l’export ne respecte pas l’encodage de base (ou alors parce que Visual Studio n’est pas capable d’afficher le bon encodage dans son éditeur et la compilation en devient bloquée).