9
votes

Jmètre et javascript

Lorsque je fais une demande HTTP dans JMeter, j'ai reçu des données de réponse telles que "Cette page utilise JavaScript et nécessite un navigateur activé JavaScript." Comment est-il possible de résoudre ce problème?


0 commentaires

4 Réponses :


18
votes

JMeter n'est pas un navigateur et n'interprète pas le JavaScript dans les pages téléchargées.

du JMeter Wiki :

JMeter ne traite pas JavaScript ou Applets Embedded dans les pages HTML.

JMeter peut télécharger les ressources pertinentes (certaines ressources intégrées sont automatiquement téléchargés si les options correctes sont définies), mais Ne traite pas le HTML et exécute des fonctions JavaScript.

Si la page utilise JavaScript pour créer une URL ou soumettre un formulaire, vous Peut utiliser l'installation d'enregistrement proxy pour créer l'échantillonneur nécessaire. Si cela n'est pas possible, une inspection manuelle du code peut être nécessaire pour déterminer ce que fait le JavaScript.

Selon ce que vous faites, vous pouvez créer un test d'exécution à l'aide de Selenium IDE pour Firefox. Le test fonctionnera dans votre navigateur afin que JavaScript fonctionnera également. Notez que je n'ai jamais utilisé le sélénium comme substitut de JMeter et ne connaissez pas les fonctionnalités communes aux outils.


2 commentaires

J'ai utilisé l'enregistrement de proxy et je peux voir la variable que j'ai entrée mais en réponse, je reçois ce message, ce message est aussi identique que lorsque j'exécute dans Firefox avec Désactiver JavaScript. Est-il possible de tester comme cette application avec JMeter.


Cela dépend vraiment de ce que vous testez. JMeter a été initialement créé pour tester la fonctionnalité du serveur (sous charge lourde, pour la performance, le temps de réponse, etc.). Si JavaScript est juste utilisé pour les effets de l'interface graphique qui n'interagissent pas avec la fonctionnalité de l'application (c'est-à-dire que vous pourrez l'apparaître), vous pouvez utiliser JMeter pour tester cette fonctionnalité, contourner le message que vous obtenez (il devrait s'agir d'un filtre de certains Trier dans votre application qui teste pour JS activé que vous pouvez éteindre). Si, d'autre part, JavaScript est un must, alors vous avez besoin de capacités de navigateur et que JMeter ne le fournit pas (au moins encore).



-4
votes

Vous devez ajouter un gestionnaire HTTP Cookie / cache à votre fil afin de résoudre ceci.


1 commentaires

Cette réponse est complètement invalide et trompeuse



2
votes

Je suppose que vous pouvez utiliser le plug-in webDriver pour exécuter des tests de navigateur réels (c.-à-d. / Firefox / chrome / sélénium).

Il y a une bonne documentation ici


0 commentaires

1
votes

Vous pouvez Ajouter WebDriver à JMeter Test pour évaluer pleinement le rendu de la page.

Le pilote Web Sampler automatise l'exécution et la collecte de Metrics de performance sur le navigateur (côté client). Une grande partie de Test de performance, jusqu'à ce point, a été sur le côté serveur de des choses. Cependant, avec l'avancement de la technologie, HTML5, JS et CSS Des améliorations, de plus en plus logiques et comportements ont été enfoncés au client. Cela ajoute à la performance globale perçue de Site Web / WebApp, mais cette métrique n'est pas disponible à JMeter. Des choses Cet ajout au temps d'exécution global du navigateur peut inclure:

  1. Exécution JavaScript côté client - par exemple. AJAX, JS Modèles
  2. CSS se transforme - par exemple. Transformations de matrice 3D, animations
  3. plugins 3ème partie - par exemple. Facebook Comme, double clic ads, analytique de site, etc.

    Toutes ces choses ajoutent au temps d'exécution global du navigateur, et ceci Le projet vise à mesurer le temps nécessaire pour compléter tout ce contenu.

    Guide officiel: https://jmeter-plugins.org/wiki/webdrivertorial/


0 commentaires