2009-09-03 11 views
5

Existe-t-il un moyen de modulariser les tests JMeter?DRY pour les tests JMeter

J'ai enregistré plusieurs cas d'utilisation pour notre application. Chacun d'eux est dans un groupe de thread séparé dans le même plan de test. Pour contrôler le flux de travail, j'ai écrit des primitives (par exemple des éléments de post-traitement) qui sont utilisées dans plusieurs de ces groupes de threads.

Existe-t-il un moyen de ne pas copier ces éléments dans chaque groupe de threads mais d'utiliser une sorte de référencement dans le même plan de test? Ce qui serait également utile est un moyen de référencer les éléments d'un fichier différent.

Est-ce que quelqu'un a des solutions ou des solutions de contournement. Je suppose que je ne suis pas le seul à essayer de suivre le principe DRY ...

Répondre

0

Vous ne pouvez pas faire cela avec JMeter. L'interface utilisateur ne le supporte pas. Le Workbench serait un endroit parfait pour stocker ces éléments communs mais il n'est pas sauvegardé dans JMX. Cependant, vous pouvez paramétrer à peu près n'importe quoi pour obtenir des effets similaires. Par exemple, nous utilisons le même postprocesseur regex dans plusieurs groupes de threads. Même si nous ne pouvons pas partager le processeur, l'expression entière est un paramètre défini dans le plan de test, qui est partagé. Nous avons seulement besoin de changer un endroit quand l'expression régulière change.

Ils parlent d'enregistrer Workbench dans une future version de Jmeter. Une fois cela fait, il est trivial d'ajouter une interface utilisateur pour faire référence à l'élément dans Workbench.

+0

C'est triste :-( Dans notre cas, nous démarrons un travail en arrière-plan asynchrone via l'interface graphique de la webapp La seule façon de savoir si le travail est terminé est d'interroger la base de données via une requête jdbc. dans un contrôleur de temps, qui est plus qu'un simple paquebot qui pourrait peut-être être importé en tant que paramètre – jens

+0

C'est pourquoi nous utilisons simultanément Grinder et JMeter JMeter est bon pour des tâches plus simples mais Grinder est plus puissant pour des choses comme ça. –

0

contrôleurs de module sont utiles pour exécuter les mêmes échantillons dans différents groupes de discussion.

Il est possible d'utiliser très facilement les mêmes assertions dans plusieurs groupes de threads. Au niveau de votre plan de test, créez un ensemble de variables définies par l'utilisateur avec des noms tels que "Expected_Result_x". Ensuite, dans votre assertion de réponse, référencez simplement le nom de la variable $ {Expected_Result_x}. Vous devez toujours ajouter l'assertion manuellement à chaque page sur laquelle vous souhaitez appliquer une assertion particulière, mais il vous suffit maintenant de la modifier à un endroit si l'assertion change.

Questions connexes