Fermer

juin 3, 2025

Débogage avec Fiddler partout 101

Débogage avec Fiddler partout 101


Fiddler partout, non seulement vous permet d’analyser la conversation entre votre client et votre service Web, mais vous donne le moyen le plus rapide de les déboguer tous les deux.

Si vous créez un service Web, un client pour un service Web ou les deux, vous allez tout mettre en place plus rapidement avec Progress Telerik Fiddler partout (à moins que tout fonctionne la première fois… et que nous savons tous les deux que n’arrivera pas). Je vends en fait Fiddler Short ici: si votre application implique un type de trafic réseau, Fiddler va être utile car, une fois que vous commencez Fiddler partout, il surveille toutes vos demandes de réseau sortantes et entrantes, pas seulement votre trafic HTTP.

Dans cet article, cependant, je vais me concentrer uniquement sur l’utilisation de Fiddler partout lors de la création de services Web et de leurs clients. Fiddler vous donne non seulement la possibilité de déboguer ce qui se passe vraiment dans la conversation entre votre client et votre serveur, mais aussi la possibilité d’utiliser vos propres messages pour prendre en charge le débogage et les tests. Fiddler partout est le moyen le plus rapide / le plus simple de déclencher une session de débogage avec votre service, par exemple, ainsi que le moyen le plus efficace de déboguer des cas spéciaux.

Explorer les problèmes

L’installation de Fiddler partout est facile (téléchargez-le à partir de votre compte Telerik). Cependant, lorsque vous commencez Fiddler, son affichage initial peut être… intimidant. Ces jours-ci, il y a un tonne du trafic dans et hors de votre ordinateur et de votre violonateur, par défaut, montre tout cela.

La liste initiale des interactions réseau après le démarrage de Fiddler, montrant un plein écran de messages réseau

Cependant, généralement tout ce que vous voulez voir, c’est ce qui se passe avec le client et le service Web sur lesquels vous travaillez actuellement. Votre première étape consiste donc à affiner cette liste des messages jusqu’à les demandes envoyées par votre client et les réponses renvoyées de votre service. Pour ce faire, cliquez sur le bouton Filtres en haut de la liste des messages réseau de Fiddler pour ouvrir la boîte de dialogue Filtres.

La boîte de dialogue des filtres avec un seul filtre, illustré comme une ligne avec trois zones de texte. La zone de texte à gauche dans le filtre défini sur «URL», la zone de texte moyenne est définie sur «Contient» et la dernière zone de texte est définie sur une URL.

Dans cette boîte de dialogue, vous pouvez utiliser plusieurs paramètres pour filtrer les messages que Fiddler vous montre, mais le paramètre que vous souhaitez probablement est celui par défaut: URL.

Pour limiter vos messages à ceux entre votre client et votre service, copiez simplement l’URL que votre client utilise pour appeler votre service Web et coller (ou une partie de celui-ci) dans la zone de texte à droite du filtre. Au bas de la boîte de dialogue, vous obtiendrez un message disant combien des messages actuels correspondent à votre filtre. (Si ce numéro est 0, ne paniquez pas! Cela signifie simplement que vous n’avez pas encore exécuté votre client et qu’il n’y a pas de messages à afficher.)

Après avoir réglé le filtre, cliquez sur le bouton Appliquer dans le coin inférieur droit de la boîte de dialogue des filtres pour fermer la boîte de dialogue et revenez à l’interface utilisateur du violoncule principal.

Vous pouvez désormais passer à votre client et le faire appeler votre service Web pour afficher le message de demande envoyé par votre client et la réponse renvoyée par votre service (Fiddler regroupe ceux en une seule entrée dans la liste des messages). Soit dit en passant, si votre client est une application de bureau ou une application côté client exécutant dans votre navigateur Web: Fiddler voit tout.

Si vous avez de la chance, l’appel de votre client réussira et vous obtiendrez un affichage comme ceci:

Un message réussi envoyé et reçu d'un client à un service

Mais, si tout fonctionnait, vous n’utiliseriez pas Fiddler, n’est-ce pas? Il est plus probable que vous utilisez Fiddler car vous avez un problème et que votre application client affiche un message comme celui-ci (dans ce cas, le message provient d’un client basé sur un navigateur accédant à un service Web Azure sécurisé):

Un message d'erreur, affiché dans le navigateur. L'essentiel indiqué dans le message a le texte «Status: 502»

Si votre client envoie et reçoit beaucoup de messages qui fonctionnent très bien, vous pouvez re-filtrer votre message pour vous concentrer sur vos «messages de problème». Pour vous concentrer sur votre erreur, revenez à la boîte de dialogue Filtres, définissez le type de filtre sur le code d’état et entrez le code d’état que votre client entre dans la zone de texte de la valeur (502 dans ce cas). La liste déroulante moyenne passera automatiquement à «est égal à» lorsque vous sélectionnez le code d’état comme paramètre.

La boîte de dialogue des filtres à nouveau, avec un seul filtre. La zone de texte à gauche dans le filtre défini sur «Code d'état», la zone de texte moyenne est définie sur «est égal à», et la dernière zone de texte est définie sur «502»

Vous vous concentrez maintenant sur les messages entre votre client et votre service qui vous tiennent à cœur. Le panneau à droite de la liste de messages dans Fiddler partout vous permettra d’explorer cet échange défaillant.

La liste de messages Fiddler affichant un seul message sélectionné

Exercer votre client et votre service

Mais la création d’une application ne consiste pas toujours à retrouver les bogues: lorsque vous écrivez un nouveau code dans votre client ou votre service, vous devez l’exécuter pour voir ce qu’il fait. Fiddler peut vous rendre plus productif dans l’exécution du code dans votre client et votre service en effectuant la première étape du test: isolant le code que vous souhaitez tester.

Une mise en garde: Fiddler partout est idéal pour effectuer les tests interactifs et exploratoires qui vous permettent de diagnostiquer et de résoudre les problèmes entre votre client et votre service. C’est le type de test qui précède le développement de suites de tests de régression automatisés. Fiddler n’est pas un remplacement pour un package qui prend en charge la création de suites de tests à exécuter sur un horaire ou lorsque un nouveau code est enregistré. (Pluging Puch: l’offre de progrès dans cette zone est Test Studio for APIque vous pouvez utiliser en commençant par tests unitaires Et tout au long de tests d’intégration.)

Tester votre service

Le moyen le plus propre de tester votre service est de l’isoler de votre client afin que vous puissiez voir comment votre service réagit aux messages qu’il reçoit.

La façon la plus simple de le faire est de réutiliser un message existant dans la liste des messages de Fiddler: cliquez avec le bouton droit sur le message de votre choix et, dans le menu contextuel, sélectionnez Replay. Fiddler enverra votre message au service et affichera les messages résultants sous forme de nouveaux éléments dans la liste des messages. Vous pouvez maintenant modifier votre service et tester dans quelle mesure (ou malheureusement) vos modifications fonctionnent sans avoir à redémarrer votre client et à naviguer dans son interface (comme je l’ai dit plus tôt: c’est aussi le moyen le plus rapide et le plus simple de démarrer une session de débogage avec votre service).

Si vous avez une licence Pro, vous pouvez également modifier un message de demande / réponse existant pour voir ce qui se passe lorsque, par exemple, votre service est envoyé un message mal formé – et le faire sans torturer votre client dans l’envoi d’un message malformé.

Tout ce que vous avez à faire est de cliquer avec le bouton droit sur le message et de sélectionner Modifier dans Composer pour ouvrir la fenêtre Composer. Dans Composer, vous pouvez modifier une ou plusieurs de la méthode du message, de l’URL, des en-têtes, de la version HTTP et de la charge utile / corps. Faites vos modifications et cliquez sur le bouton Exécuter en haut du compositeur pour envoyer votre message révisé à votre service.

La vue du compositeur montrant le corps d'une demande en cours de modification

Tester votre client

Vous pouvez également, avec la licence Pro, simplifier l’exercice des modifications de votre client en isolant votre client de votre service. Vous le faites en définissant des règles dans Fiddler qui définissent les réponses aux demandes des clients (cette fonction était autrefois appelée Auto Responder). Maintenant, lorsque votre client envoie un message, Fiddler l’attrapera et envoie une réponse pour vous. Cela vous permet, par exemple, de voir comment votre client réagit à un code d’état malheureux (par exemple, une réponse «serveur trop occupé» 503) sans trouver un moyen de forcer votre service à envoyer ce statut.

Pour ajouter une règle, passez à l’onglet Règles dans le panneau droit de Fiddler et cliquez sur le bouton Ajouter une règle à une boîte de dialogue pour générer votre règle. Une fois cette boîte de dialogue de règle ouverte, vous devez d’abord spécifier une condition qui invoquera une règle – dans de nombreux cas qui seront l’URL et la méthode que votre client utilise lors de l’invocation de votre service (utilisez le bouton Ajouter la condition en haut de l’onglet pour ajouter une autre condition).

Après avoir ajouté une connexion pour spécifier les demandes de votre client que vous souhaitez à Fiddler pour répondre, votre prochaine étape consiste à ajouter une action qui spécifie le message à envoyer à votre client. Vous le faites avec l’action ADD sur le côté droit de la boîte de dialogue Règles.

Vous pouvez utiliser des actions pour modifier le message de demande du client à envoyer au service ou la réponse à envoyer au client lorsque les conditions de la règle sont remplies. Cet exemple crée une règle qui renvoie une réponse 401 non autorisée pour toute demande GET envoyée à mon client:

La boîte de dialogue Règles montrant deux conditions (une pour une URL et une pour une méthode) et une action (Envoi d'un code d'état de 401)

Vos dernières étapes dans la création d’une règle consistent à donner un nom à votre règle et à cliquer sur le bouton Enregistrer dans la boîte de dialogue en bas à droite. Votre nouvelle règle sera ajoutée à la liste dans l’onglet Règles et est prête à être utilisée (par défaut, Fiddler ignore vos règles jusqu’à ce que vous souhaitiez les utiliser).

Pour utiliser votre règle, vous devez d’abord activer l’utilisation de toutes les règles: définissez la bascule en haut de l’onglet Règles. Avec les règles maintenant activées, vous activez ensuite sélectivement les règles que vous souhaitez utiliser pour exercer votre client. Maintenant, lorsque vous exécutez votre client, Fiddler partout interceptera toutes les demandes qui répondent à l’état de votre règle et renverront le message que vous avez spécifié dans votre action (dans mon cas, c’est un code d’état non autorisé afin que je puisse voir quels problèmes que crée dans mon client).

Vous avez maintenant les outils dont vous avez besoin pour analyser la conversation entre votre client et votre service, ainsi que la possibilité d’effectuer la tâche clé pour tester n’importe quel code: isoler le composant testé. Maintenant, vous savez juste, faites-leur travailler.

Essayez Fiddler partout




Source link