1

Dans JMeter, j'ai besoin d'exécuter un groupe de threads particulier une fois que tous les autres groupes de threads terminent leur exécution, je sais Le groupe de threads tearDown a le même comportement mais malheureusement, la logique doit faire partie de mon thread habituel. Disons qu'il y a 4 groupes de threads A, B, C & D dans mon plan de test et je veux que le groupe de threads D ne soit exécuté qu'après A, B & C achèvera leur exécution.Jmeter: Est-il possible d'exécuter un groupe de threads particulier après que tous les autres groupes de threads sont terminés

Peut-on y parvenir sans utiliser "setup, teardown & Run groupes un à la fois" ??

Problème ScreenShot:

enter image description here

+1

Est-ce une sorte de question d'entrevue? – vins

Répondre

1

je peux suggérer 2 options:

  1. Utilisez Inter-Thread Communication Plugin. Voir example test plan pour plus de détails.
  2. Si pour une raison quelconque, vous n'êtes pas en mesure d'utiliser JMeter Plugins vous pouvez obtenir les mêmes en utilisant des propriétés JMeter aiment:

    • Quand le groupe de discussion A termine définir une JMeter propriété, à savoir ThreadGroupADone=true en utilisant __setProperty() fonction comme

      ${__setProperty(ThreadGroupADone,true,)} 
      
    • dans cette discussion Groupe D:

      • Ajouter While Controller au début du groupe de discussion et d'utiliser la condition suivante:

        ${__javaScript("${__P(ThreadGroupADone,)}"=="false",)} 
        
      • Ajouter sampler Test Action comme un enfant du Bien contrôleur et le configurer pour faire une pause pour une quantité raisonnable de secondes, soit 5 de sorte que chaque 5 secondes Alors que le contrôleur va vérifier la valeur de la propriété ThreadGroupADone et si elle est encore false - Dormez pendant encore 5 secondes. Lorsque la valeur de la propriété deviendra true - Thread Group D va continuer.