2017-09-27 1 views
0

IN JMeter Je souhaite que certaines des 500 erreurs de serveur internes ne soient PAS marquées comme des échecs si la réponse contient un texte spécifié. Toutes les 500 erreurs de serveur sont marquées comme failures.written code pour le faire passer pour tous les cas d'échec.same code fonctionne sans erreur dans windows, mais obtenir tous les samplers échoue dans linux machine.Échec du script d'assertion Beanshell dans la machine Linux et fonctionnant sous Windows

if (ResponseCode.equals("412") == true) 
    { 
     SampleResult.setResponseOK(); 
    } 
     else if (ResponseCode.equals("500") == true) 
     { 
     SampleResult.setResponseOK(); 
     } 
+0

Quelle erreur obtenez-vous dans jmeter.log? –

Répondre

0

Vous devez ajouter SampleResult.setSuccessful(true);, également supprimer == true qui est redondant et supprimer le code en double:

if (ResponseCode.equals("412") || ResponseCode.equals("500")) { 
     SampleResult.setResponseOK(); 
     SampleResult.setSuccessful(true); 
} 

Voir également le changement ResponseCode à responseCode selon les conventions de nom du paramètre Java/Oracle.

0

Vous pouvez réaliser cela en utilisant Response Assertion, il suffit de cocher Ignore Status. Par exemple, sous la marque de configuration sampler affecté (s) comme un succès si la réponse contiendra foo

JMeter Response Assertion

Découvrez Response Assertions in JMeter 3.2 - New and Improved article pour plus d'informations sur l'utilisation de réponse Assertion ajouter réussite/échec logique des critères à vos tests JMeter.


Si vous avez besoin logique d'affirmation plus complexe qui ne peut être réalisée à l'aide par exemple Assertion de réponse unique ou multiple (s) envisager de passer à JSR223 Assertion comme it is recommended to use Groovy for scripting since JMeter 3.1

En ce qui concerne votre question, faites un double contrôle « lib de JMeter "dossier de la machine Linux contient bsh-2.0b5.jar fichier pour script Beanshell et groovy-all-2.4.10.jar pour les scripts Groovy.