La meilleure façon d'inspecter-têtes de réponse HTTP avec le Sélénium
J'ai besoin de la meilleure façon d'inspecter-têtes de réponse HTTP avec le Sélénium. J'ai regardé autour de le Sélénium docs et ne vois pas de moyen simple de le faire. L'aide est très apprécié.
Qu'est-ce exactement que vous essayez de faire? Le sélénium fonctionne dans le navigateur. Est-il notamment des informations vous après?
OriginalL'auteur globulus | 2009-03-24
Vous devez vous connecter pour publier un commentaire.
J'ai répondu à cette question à deux reprises sur StackOverflow. Recherche de mes précédentes réponses à creuser. La touche que vous avez à écrire du code Java personnalisé qui s'étend ProxyHandler et SeleniumServer. Vous avez également besoin d'utiliser un presse APRÈS 1.0 beta 2.
Que pour les gens qui demandent pourquoi vous voulez le faire: il y a beaucoup de raisons. Dans mon cas, nous sommes en train de tester un AJAX lourd app et quand les choses vont mal, l'une des premières choses que nous debug est le réseau de fil de fer. Qui nous aide à voir si l'appel AJAX qui s'est passé et, dans l'affirmative, quelle est la réaction a été. Nous sommes en train d'automatiser la collecte de ces informations et de les capturer (avec une capture d'écran) avec toutes les Sélénium test.
Eh bien, puisque c'est M. le Sélénium lui-même, ne peuvent pas argumenter ;). Je savais que vous pouvez également étendre les classes Java dans le serveur.
J'ai cherché dans vos réponses et n'arrive pas à trouver celui que vous consultez. La réponse était-il? Avez-vous quelques exemples de l'extension de ces deux classes Java?
Désolé, il n'était pas claire. Les choses ont un peu changé avec les plans pour le Sélénium + inspecter le trafic HTTP. Assez bien, nous sommes tous l'accent maintenant sur l'utilisation de l'un des trop open source outils de mon entreprise, BrowserMob, a construit. Découvrez browsermob.com/tools pour en savoir plus sur browsermob-proxy (bon pour Se 1 + tous les navigateurs) et browsermob-page-perf (bon pour Se 2 + Firefox utilise Firebug). Bonne chance!
Si "la Recherche de mes précédentes réponses à creuser" n'est plus valable conseils, pourriez-vous ṕlease modifier la réponse à réfléchir? Actuellement, c'est plutôt trompeur (je suis aussi allé creuser dans vos réponses aux questions précédentes, apparemment en vain)...
OriginalL'auteur Patrick Lightbody
captureNetworkTraffic() de l'API dans DefaultSelenium capture de requête/réponse http en-têtes et vous pouvez y accéder en html/xml/plaine format.
Voici un exemple de code:
java.lang.UnsupportedOperationException: captureNetworkTraffic
OriginalL'auteur
Je ne voudrais pas utiliser le Sélénium pour ce type de test et vous suggérons de résoudre une variété de problèmes avec des outils différents. ce que nous faisons est:
Utilisation de l'unité de tests de code de test: les méthodes et les classes
De tests d'intégration pour tester la façon dont les composants de l'application accrocher ensemble
Un Simple framework de test fonctionnel comme Canoo WebTest (ou l'équivalent) pour affirmer des choses comme le cache Http, structure de page de base, simple de redirection et de témoin de réglage /valeurs de
Sur mesure à des tests pour s'assurer de la validité des pages aux normes W3C
JSunit pour tester Javascript, des classes et des méthodes que nous avons créé
Sélénium pour tester la fonctionnalité de l'INTERFACE utilisateur et/ou du comportement et de l'intégration de Javascript
dans ces pages
Sa vaut le coup de passer du temps de casser la responsabilité de tester différents aspects du système à l'aide de ces différents outils, car en utilisant uniquement le Sélénium peut causer des problèmes:
Il y a aussi quelques techniques que vous peut ou peut ne pas venir de partout - que vous pouvez utiliser pour rendre votre Sélénium tests plus résilient.
OriginalL'auteur j pimmel
Je suis venu avec une solution de contournement qui utilise un proxy intégré, avec l'aimable autorisation de la Proxoid projet.
Son poids léger, contrairement à pratiquement tous les autres alternatives (comme BrowserMob ou même LittleProxy)
Voir le HOWTO, avec le code, ici: http://www.supermind.org/blog/968/howto-collect-webdriver-http-request-and-response-headers
OriginalL'auteur superkelvint
Ce que j'ai fait pour gérer ce à l'aide de Sélénium (pas Selenium RC) était de convertir le HTML des tests dans des JSP, puis utiliser Java nécessaires à la lecture des en-têtes ou faire ce que des choses que JavaScript (sélénium est juste du Javascript) ne pouvait pas le faire.
Vous pourriez peut-être donner quelques détails sur la façon dont vous prévoyez d'utiliser le Sélénium?
OriginalL'auteur Eric Wendelin
Il me semble qu'il peut être très utile pour tester-têtes de réponse HTTP à partir de sélénium. Pas dans 100% des cas, peut-être ... mais il ya certainement certains. Si vous sont à la recherche d'une séquence de pages, il me semble qu'il serait utile de tester certains en-têtes de réponse dans le cadre de cet essai (Type de Contenu et Pragma qui viennent à l'esprit).
OriginalL'auteur Gary
Bien, j'espérais trouver si Accept-Encoding bien de HTTP tête contient "gzip", parce que dans notre société, nous compresser les fichiers CSS et JS dans notre application web par gzip et nous voulons tester en Selenim après chaque commit.
OriginalL'auteur Mvek
Lire les cookies de session à partir de Sélénium et ensuite utiliser un vrai HTTP bibliothèque en dehors de Sélénium à la demande de la page.
Voici le code Python:
OriginalL'auteur Nimo