2008-11-19 12 views
1

Quelle est la meilleure stratégie à utiliser lors de l'écriture de tests JMeters sur une application Web où les valeurs de certaines variables de chaîne de requête et de publication vont changer pour chaque exécution.Tests JMeter et paramètres GET/POST non statiques

rapide, commun, par exemple

  1. Vous allez à une page Web
  2. Entrez des informations dans une forme
  3. Cliquez sur Enregistrer
  4. Dans les coulisses, un nouvel enregistrement est entré dans la base de données
  5. Vous voulez éditer l'enregistrement que vous venez d'entrer, donc vous allez sur une autre page web. Dans les coulisses, vous passez à la page un paramètre avec l'ID de la ligne que vous venez de créer

Lorsque vous exécutez l'étape 5 du test ci-dessus, le paramètre de page/ID de base de données change à chaque fois.

Le workflow/stratégie que je suis actuellement à l'aide est

  1. Enregistrer un test en utilisant les actions ci-dessus
  2. Notez chaque endroit où une variable de chaîne de requête peut changer d'une exécution à
  3. Utilisez un XPath ou un extracteur d'expressions régulières pour extraire la valeur d'une réponse et la placer dans une variable JMeter
  4. Remplacez toutes les instances appropriées du paramètre codé en dur par la variable ci-dessus.

Cela fonctionne et peut être automatisé dans une certaine mesure. Cependant, il peut devenir fastidieux, sujet à erreur et fragile. Existe-t-il une meilleure façon de gérer cette situation? (Ou est-ce la raison pour laquelle la plupart des gens utilisent simplement JMeter pour lire les logs? (-;)

Répondre

2

Le meilleur que vous pouvez obtenir par JMeter est d'extraire les variables de la page avec un régulier Expression ou post-processeur xpath Cependant, votre tout à fait correcte en ce que ce n'est pas une solution évolutive et devient de plus en plus difficile à maintenir ou à développer

Si vous avez atteint le point t Quand vous voudrez peut-être considérer un outil qui est plus spécialisé pour ce genre de problème. Jetez un coup d'oeil outil de test Web tel que Watir, il va gérer automatiquement les changements de paramètres de poste; mais vous devrez toujours extraire des paramètres si vous devez effectuer une mise à jour de la base de données, mais l'utilisation de Watir permet une meilleure réutilisation du code rendant le problème moins douloureux.

+0

Je n'ai pas essayé Watir, mais ce qu'il décrit est à peu près exactement la technique que j'ai trouvée pour bien fonctionner avec jmeter. Pas de données sur la maintenabilité à long terme, mais je m'inquiète surtout de authenticity_token dans les applications Rails, ce qui ne va pas trop changer. – edebill

1

Nous avons eu beaucoup de succès en testant des scénarios similaires avec JMeter en stockant des paramètres dans JMeter Variables dans une assertion JDBC. obtenir/poster et utiliser un BSF Assertion et javascript faire une validation complexe de la réponse.J'espère que ça aide

+0

Informations utiles, merci !. Cependant, une partie de ce qui me dérange est/était la "validation complexe". Mon instinct me dit que vous obtiendrez une quantité de couverture de test, mais le maintien de ces validations complexes rognerait tout avantage apporté par la couverture. Trouvez-vous que ce n'est pas le cas? –

Questions connexes