2014-09-18 1 views
1

Notre application (iOS) envoie les détails de l'image au serveur, le serveur génère l'ID de l'image et la renvoie à l'application comme données de réponse, puis l'application télécharge la vignette de l'image et l'image réelle au serveur. . Donc, ici, je dois utiliser les données de réponse (Image_ID) de la première demande pour télécharger l'image. S'il vous plaît dites-moi comment simuler ce scénario en utilisant Jmeter.Jmeter: Est-il possible d'utiliser la date de réponse d'une requête dans une autre requête?

Merci d'avance.

+0

utilisation d'extraction d'expression régulière pour extraire des données de réponse de req précédente, puis l'utiliser dans la prochaine requête. –

+0

lire à propos de la corrélation dans les exemples jmeter. –

+0

J'ai utilisé "Regular Expression Extractor" pour ce faire, Mais je reçois problème dans le scénario suivant: Par exemple: Plan de test: 1. Première demande (/ v1/images/postimage). 2. Extracteur d'expressions régulières (Nom de référence: image_id, Expression régulière: {"image_id": (. +?)}) 3. Envoyez une requête miniature (/ v1/images/$ {image_id}/uploadthumb) 4. Télécharger la demande d'image (/ v1/images/$ {image_id}/uploadimage) Ici, il faudra prendre la bonne valeur pour la 3ème demande (Upload thumbnail Request), mais elle prendra la valeur par défaut pour la 4ème demande (Upload Image Request). – Tester77

Répondre

2

Pour stocker l'ensemble des données de réponse dans une variable JMeter:

  1. Ajouter un Beanshell PostProcessor comme un enfant de la demande qui génère des données de réponse souhaitée (dans votre cas image ID)
  2. Ajoutez le code suivant dans la zone de script de Beanshell PostProcessor:

    vars.put("imageID", new String(data)); 
    

    imageID peut être un nom de variable significative de votre choix et data est un raccourci pour les données de réponse de l'échantillonneur parent représenté comme un tableau d'octets binaires.

  3. Référez valeur variable ${imageID} ou ${__V(imageID)} le cas échéant dans le groupe en cours de discussion

Si vous n'avez pas besoin l'ensemble des données de réponse, mais une partie plus petite, vous pouvez obtenir la valeur souhaitée à l'aide Regular Expression Extractor PostProcessor.

Références:

+0

J'ai utilisé "Regular Expression Extractor" pour ce faire, Mais je reçois problème dans le scénario suivant: Par exemple: Plan de test: 1. Première demande (/ v1/images/postimage). 2. Extractor Regular Expression (Nom de référence: image_id, Regular Expression: { "image_id »:.? (+)}) 3. Ajouter une miniature Demande (/ v1/images/$ {image_id}/uploadthumb) 4.. Télécharger la demande d'image (/ v1/images/$ {image_id}/uploadimage) Ici, il faudra prendre la bonne valeur pour la 3ème demande (Upload thumbnail Request), mais elle prendra la valeur par défaut pour la 4ème demande (Upload Image Request). – Tester77

+0

Got it, j'ai dû mettre Regular Expression Extractor à l'intérieur Première demande. (Sinon, je pense qu'il fonctionnera pour toutes les demandes) Merci Dmitri T. – Tester77

Questions connexes