2017-09-20 1 views
1

En ce moment im usig Demande HTTP sampler avec 'Follow Redirects' activé et que vous voulez garder cela comme ça. En tant que vérification secondaire en plus de l'assertion, je veux aussi compter le nombre de redirections, mais je ne veux pas implémenter la solution this.Nombre de redirections dans jmeter

Existe-t-il un moyen de n'utiliser qu'un seul échantillonneur HTTP et un postprocesseur (beanshell pour le moment) et d'aller chercher cette information? Im vérifiant SamplerResult documentation, mais ne peux pas trouver une méthode qui rendrait cette information pour moi.

+0

Voulez-vous compter les réoriente pour un seul échantillonneur? – ararar

+0

Pour chaque échantillonneur séparément. – inspiral

Répondre

1

Ajoutez ce qui suit Regular Expression Extractor comme un enfant de votre sampler:

  • Appliquer à: échantillon principal et des sous-échantillons
  • terrain pour vérifier: Code de réponse
  • Expression régulière: (\ d +)
  • Modèle: $ 1 $
  • match No .: -1

Ensuite, ajoutez un BeanShell post processeur aussi comme un enfant de l'échantillonneur et ajouter ce qui suit à la zone de script:

int matchNr = Integer.parseInt(vars.get("MyVar_matchNr"));// MyVar is the name of the variable of the above regular expression extractor 
int counter = 0; 
for(i=1; i <= matchNr; i++){ 
    String x = vars.get("MyVar_"+i); 
    if(x.equals("302")){ 
     counter = counter + 1; 
    }} 
log.info(Label + ": Number of redirects = " + String.valueOf(counter));// The output will be printed in the log like this(BeanShell PostProcessor: Number of redirects = 3) so you might want to change the name of the beanshell post processor to the same name of your sampler. 

vous pouvez voir le nombre de redirections pour l'échantillonneur dans le journal.

2

J'ai entendu Groovy is new black ailleurs users are encouraged to use JSR223 Test Elements and __groovy() function since JMeter 3.1 que Beanshell exécute pas si bien que vous pouvez compter les réoriente comme suit:

  1. Ajouter JSR223 PostProcessor comme un enfant de votre demande HTTP sampler
  2. Placez le code suivant dans " Script » zone:

    int redirects = 0; 
    def range = new IntRange(false, 299, 400) 
    prev.getSubResults().each { 
        if (range.contains(it.getResponseCode() as int)) { 
         redirects++; 
        } 
    } 
    
    log.info('Redirects: ' + redirects) 
    

Une fois que vous ru n votre test, vous pourrez voir le nombre de redirections survenus dans le fichier de :

JMeter Groovy Count Redirects