Bonjour à tous,
Je reviens à vous afin d’avoir votre avis sur une méthode efficace à utiliser pour l’extraction de variables.
Voici le problème. J
Dans un scénario de test, je reçois comme résultat d’une requête http les éléments suivants :
Variables identifiées :
· N°Client
· Nom
· Prénom
· Adresse
…….
· Block
· Titre
· Auteurs
· Editeurs
· Code EAN
· Block
· Titre
· Auteurs
· Editeurs
· Code EAN
· Block
· Titre
· Auteurs
· Editeurs
· Code EAN
…….
· Code Client
· Remise
· Compta
· Date Achat
Comme vous pouvez le constater s’il s’agit d’information relative à un client qui achète des livres.
La particularités c’est que tous les clients n’achètent pas tous 3 livres, certains en achètent 1 et d’autres peuvent en avoir 4, 5,…
Mon problème c’est de trouver une méthode pour récupérer les « Block » de variables.
Actuellement j’utilise les composant :
· Extracteur CSS/JQuery
o Nom de référence : Block_1
o Expression CSS/JQuery : input[name=Block]
o Attribut : Value
o Récupérer la Nème corresp. : 1
o Valeur par défaut : ** ERROR - Block_1 **
· Assertion Réponse
o Appliqué sur une variable : Block_1
o Type de correspondance du motif : Est égale à (texte brut)
o Motif à tester : ** ERROR - block_1 **
· Extracteur CSS/JQuery
o Nom de référence : Block_2
o Expression CSS/JQuery : input[name=Block]
o Attribut : Value
o Récupérer la Nème corresp. : 2
o Valeur par défaut : ** ERROR - Block_2 **
· Assertion Réponse
o Appliqué sur une variable : Block_2
o Type de correspondance du motif : Est égale à (texte brut)
o Motif à tester : ** ERROR - block_2 **
· Extracteur CSS/JQuery
o Nom de référence : Block_3
o Expression CSS/JQuery : input[name=Block]
o Attribut : Value
o Récupérer la Nème corresp. : 3
o Valeur par défaut : ** ERROR - Block_3 **
· Assertion Réponse
o Appliqué sur une variable : Block_3
o Type de correspondance du motif : Est égale à (texte brut)
o Motif à tester : ** ERROR - block_3 **
Et je répète la séquence pour les 3 blocks.
Le résultat est correcte sauf si j’ai un client qui achète un nombre différent de 3 livres. J
Auriez-vous une idée sur une méthode qui éviterait ce problème.
Merci d’avance.
If the match number is set to a negative number, then all the possible matches in the sampler data are processed. The variables are set as follows:
onjour Vincent,
Tout grand merci pour l'info. C'EST GENIAL et cette solution est mieux que ce que je pouvais espérer.
De plus, dans cette requête j'ai essayé la valeur -1 pour les autres variables à extraire et j'ai même pu récupérer des variables qui étaient passées au travers du filet :)
Par ailleurs, j'ai quand même une autre question concernant l'injection des variables extraites dans les requêtes suivantes.
En effet, en revenant sur mon exemple j'ai le cas suivant :
Variables identifiées :
Block = ${Block_1}
Titre = ${Titre_1}
Auteurs = ${Auteurs_1}
Editeurs = ${Editeurs_1}
CodeEAN = ${CodeEAN_1}
Block = ${Block_2}
Titre = ${Titre_2}
Auteurs = ${Auteurs_2}
Editeurs = ${Editeurs_2}
CodeEAN = ${CodeEAN_2}
Bonjour à tous,Je vous remercie beaucoup pour l'aide. De plus, je tiens quand même vous affirmer que l'ensemble des solutions apportées ont toutes été utilisées suivant le contexte à différent moment dans le même scénario.Par ailleurs, je me retrouve avec un problème de variables et j'ignore comment l'aborder.Dans mon scénario, je récupère les valeurs de toute une série de variables via les Extracteurs d'expressions régulières.Lorsque je réinjecte ces valeurs par la suite dans d'autres Requêtes HTTP, je me trouve face à une erreur.En comparant l'URL envoyée manuellement via l'IE avec l'URL envoyée par JMeter, j'ai constaté une différence de syntaxe :Exemple :URL JMeter : Le Titre du LivreURL I.E. : Le%20Titre%20du%20LivreDonc, c'est simple :
- J'utilise l'Extracteurs d'expressions régulières pour récupérer la valeur. C'est OK
- Je transforme les "espace" par %20 -- Oui mais comment ?
- Je remets à jour avec la valeur corrigée.
Le problème c'est que je n'ai aucune idée sur l'approche à suivre.J'aurais souhaité que l'on me mette le pied à l'étrier.Merci d'avance pour votre aide.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes JMeter en français.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse jmeter-fr+...@googlegroups.com.
Pour envoyer un message à ce groupe, adressez un e-mail à jmet...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/jmeter-fr .
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
Bonjour Milamber,Merci pour ta réponse, je pense que c'est ce que je recherche.Pour être plus précis, voici la séquence:
- Requête HTTP
- Extracteur d'expression Régulière :
- Nom de la référence : VarTitre
- Requête HTTP
- Paramètres Valeur Encodage Inclure égale ?
- pTitreLivre ${VarTitre} v v
A ce stade j'ai aussi vérifié en cochant la case Encodage ---> Quelque soit le choix je n'ai eu aucun effet. comparaison entre JMeter et IE via le Tools Fiddler.Je me trouve avec la variable ${VarTitre} : Le Grand Bleu
Or je dois avoir : Le%20Grand%Bleu
En ce qui concerne ta solution, je vais essayer de remplacer dans la requête ${VarTitre} par ${__urlencode(${VarTitre})}Dès que j'aurai testé, je reviens pour un feedbackEncore tout grand merci pour le coup de main.