2010-02-11 6 views
4

J'ai une application J2EE qui nécessite des tests d'intégration approfondis. J'utilise Jmeter pour générer des requêtes HTTP POST. Jusqu'à présent, je parviens à les envoyer au serveur correctement, mais le xml est statique.
Je cherche un moyen d'insérer des valeurs dynamiques/aléatoires dans le XML, puis de l'envoyer au serveur. Quelque chose comme un PreProcessor mais je ne suis pas sûr comment c'est fait.Jmeter - Générer xml

Quelqu'un peut-il fournir:
1. Didacticiels JMeter?
2. Comment générer du contenu dynamique xml/aléatoire requête HTTP
3. Exemples JMeter

Un grand merci,
Gadi.

Répondre

1

Les recommandations de JMeter recommandent fortement d'utiliser des données pré-générées pour avoir une bonne performance et une bonne précision.

La tâche peut être effectuée via le composant CSV Data Set Config (Best Practices, section 16.5). L'idée principale est de générer un grand ensemble de données de test, de l'enregistrer dans un fichier texte, puis de l'utiliser comme params dans le modèle de requête (ligne de fichier CSV par requête). On peut mettre toute la demande en un seul et unique paramètre s'il le souhaite.

S'il vous plaît noter que JMeter 2.3.4 (dernière version atm) a quelques restrictions:

  • il ne comprend pas les valeurs multilignes (bien que de telles celles prises en charge par la norme CSV lui-même), échappant ainsi pourrait être nécessaire ;
  • il ne comprend pas les noms de colonne, il est donc possible d'associer des variables uniquement par position de colonne (pas par nom logique malheureusement).

Merci, Maksim

+0

Un grand merci Maksim. Quels sont les outils disponibles pour générer le fichier XML de votre fichier csv suggéré? Disons que j'ai 10 paramètres différents à insérer dans un fichier XML et je peux les lire à partir du fichier csv. Merci beaucoup. – Gadi

+0

De rien, Gadi. Je suppose, une fois que vous avez besoin d'envoyer un XML, un sampler SOAP/XML-RPC doit être utilisé. Dans un tel cas, tout ce dont vous avez besoin est simplement de mettre un template avec params dans le champ SOAP-XML-RPC Data. $ {} paramFirst Si vous êtes limité avec une connexion HTTP standard, puis XML est à envoyer comme get/post param, non? Ensuite, ajoutez simplement des paramètres à votre échantillonneur de requête HTTP. Cheers. –

1

vous pouvez insérer des données dynamiques ou aléatoires dans le XML en utilisant __Random et les fonctions de __char imbriquées dans le fichier XML.

Afin que chaque fois qu'un XML est publié, les valeurs seront aléatoires. Fondamentalement, il vous suffit de définir votre structure xml et d'utiliser les fonctions __random et __char imbriquées les unes dans les autres pour créer aléatoirement tout texte/nombre aléatoire. Utilisez ensuite la fonction __time pour générer des données de date/heure.

0

Une autre approche pour tester une application Web est l'utilisation d'outils d'enregistrement automatisés comme Badboy pour enregistrer les étapes que vous souhaitez tester avec votre application Web. Ensuite, vous pouvez passer le même script à Jmeter à des fins de test.

Vous pouvez également transmettre des valeurs différentes aux paramètres du script pour tester différents scénarios. Par exemple, votre application a une 'page de connexion' avec le champ nom d'utilisateur/mot de passe. Ensuite, vous pouvez enregistrer le script en cas de 1) valide et 2) les informations d'identification de connexion non valides.

Ensuite, pendant le test, vous pouvez transmettre des valeurs différentes via CSV ou en modifiant directement certaines valeurs dans un script enregistré.

Vous pouvez trouver plus d'informations sur Badboy à http://www.badboy.com.au/