2017-10-05 3 views
0

Je cours donc quelques tests sur Jmeter, j'ai des assertions configurées pour Pass/Fail. Le problème est, j'ai besoin de mettre en place un "avertissement" ou "prudence" résultat.JMeter Pass, échouer, avertissement?

Par exemple -

Latency < 500ms = Pass 
Latency > 1000ms = Fail 
Latency < 999ms AND Latency > 501 = Caution 

Ce qui précède est juste un exemple .. La variation entre A et B serait beaucoup plus faible.

Est-ce que quelqu'un sait comment régler quelque chose comme ça dans Jmeter?

Répondre

0

Pour le moment JMeter ne supporte pas le résultat caution, l'échantillonneur peut être réussi ou non. Vous pouvez définir un code d'état de réponse personnalisé, un message, imprimer quelque chose à jmeter.log, envoyer un e-mail, etc. mais vous ne pouvez rien obtenir d'autre que Success: true|false sans les modifications de base de JMeter.

Vous pouvez essayer d'utiliser JSR223 Assertion pour mettre en œuvre votre réussite/échec logique critères, le code correspondant qui fixera le code de réponse de l'échantillonneur à 999 et message à CAUTION serait quelque chose comme:

def latency = prev.getLatency() as int 
def range = new IntRange(501, 999) 

if (latency >= 1000) { 
    AssertionResult.setFailure(true) 
    AssertionResult.setFailureMessage('Latency exceeds 1000 (was ' + latency + ')') 
} 

if (range.contains(latency)){ 
    prev.setResponseCode('599') 
    prev.setResponseMessage('CAUTION! High latency: ' + latency) 
} 

Si la latence sera entre 501 et 999 vous obtiendrez inclusivement le résultat suivant:

JMeter High Latency Warning

et l'échec regardera "normalement"

JMeter JSR223 Assertion test failure

Plus d'informations:

+0

Merci pour cela, je crois que cela répondra à mes besoins pour le moment. – Luke676