JMeter “si le contrôleur” avec les paramètres?
Je lisais le JMeter documentation et suis tombé sur cette info concernant "Si les Contrôleurs":
Pas de variables sont mises à la disposition du script lorsque la condition est interprétée comme Javascript. Si vous avez besoin d'accéder à ces variables, puis sélectionnez "Interpréter la Condition que la Variable d'Expression?" et l'utilisation d'un __javaScript() appel de fonction. Vous pouvez ensuite utiliser les objets "vars", "journal", "ctx" etc. dans le script.
Je n'arrive pas à suivre. Est-ce à dire si je veux avoir accès à un "Défini par l'Utilisateur Paramètre" alors que je peux y accéder que par l'écriture de certains de JavaScript? L'exemple qui suit cette boîte, puis se réfère à "${COUNT}"
Quelqu'un pourrait-il clarifier l'utilisation de la Si le Contrôleur, avec peut-être un exemple ou deux?
- Date.maintenant() - ${__propriété(lastUpdateTimeMS)} > 900000
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser quelque chose comme
Parfois JMeter documentation peut être source de confusion 🙂
Modifier le 27 septembre 2017:
La réponse ici fonctionne mais a un très mauvais impact sur les performances lorsque le nombre de threads dépasse 40.
Voir ci-dessous pour les corriger et les plus performants réponse:
Voir:
Toutes ces réponses sont fausses! Vous avez besoin de mettre la référence de variable entre guillemets, comme ceci:
DÉCOCHEZ la CASE
"Interpréter la condition que la variable de l'expression"
J'ai perdu une couple d'heures sans décochant cette case. Il a travaillé avec et sans point-virgule(;) à la fin de l'instruction. Assurez-vous que vous avez défini les Variables Définies par l'Utilisateur avant l'appel de la si le contrôleur.
Toutes les variations suivantes travaillé pour moi dans le centre de Jakarta Jmeter 1.5
Dieu bénisse le http://habrahabr.ru
Ont essayé jusqu'trouvé ces.
À l'aide de la cite a été ma solution.
Si le Contrôleur en interne l'utilisation de javascript pour évaluer l'état mais cela peut avoir sur les performances.
Une meilleure option (par défaut à partir de JMeter 4, voir https://bz.apache.org/bugzilla/show_bug.cgi?id=61675) est de cocher la case "Interpréter l'État comme Expression d'une Variable?", puis dans le champ condition, vous avez 2 options:
ou toute variable qui contient la valeur true/false
Par exemple si COUNT est égal à 1:
OU
De départ avec 4.0, si vous n'utilisez pas le "Interpréter la Condition que la Variable d'Expression?", un avertissement en ROUGE s'affiche:
Si vous souhaitez en savoir plus sur JMeter et des tests de performance de cette livre peut vous aider.
Comme Gerrie dit, vous avez besoin de vérifier votre variable
Mais être prudent avec les"Variables Définies Par L'Utilisateur'
Que, fondamentalement signifie que vous ne pouvez pas définir les "Variables Définies par l'Utilisateur' à l'intérieur d'un "Si Controller'. Jetez un oeil à la "BeanShell" à la place.
Remplacer:
${my_variable}=='1'
avec
"${my_variable}" == "1"
J'ai utilisé
${code_g1}== 200
dans la condition et il a travaillé pour moi.