Extracteur Expression Reguliere

238 views
Skip to first unread message

Thomas

unread,
Nov 30, 2009, 12:57:28 PM11/30/09
to JMeter en français
Bonjour a la communaute francophone,

Je viens faire appel a vous parce que je n'arrive pas a recuperer dans
une variable un String renvoye par le server en reponse a une requete.
Je mets donc telles informations dans les champs :
Nom de référence : MonString
Expression régulière : (?s)(.*)
Canevas : $1$
Correspondant au num : 1
Valeur par défaut : ERREUR

la reponse renvoyee est du type : www.une_url.com

Le soucis c'est que je ne recupere rien. Alors il faut savoir qu'en
ayant manipuler cette requete dans un programme java, j'avais remarque
que le premier caractere ramene a la ligne et je pense que c'est celui-
ci qui pose probleme. (j'ai du utiliser la fonction trim() )

Comment je peux m'en debarasser.

Merci

Thomas R.

Milamber

unread,
Nov 30, 2009, 4:41:31 PM11/30/09
to jmet...@googlegroups.com
Bonjour,

Si je comprends bien le texte entier de la réponse est :
=========

www.une_url.com
=========

?

Essai plutôt cette reg exp : (?s)([^\n]+)

A+
Milamber

Le 30/11/2009 17:57, Thomas a ecrit :

Thomas Rasoarahona

unread,
Dec 1, 2009, 5:29:04 AM12/1/09
to jmet...@googlegroups.com
Bonjour,

Ca n'a pas marche avec (?s)([^\n]+) : JMeter n'execute meme pas les requetes utilisant la variable recuperee. J'imagine que vous avez compris, je recupere l'URL dans le corps de la page renvoye par le serveur, la met dans une variable ${monUrl} et ensuite dans les requetes suivantes utilise cette variable comme appel HTTP.
Je ne comprends pas ce qui se passe. J'ai mis un processeur de deboggage en fils de la requete qui extrait l'expression et en fils du Thread Group mais je ne vois pas ${monUrl} dans l'arbre des resultats

Merci

Thomas Rasoarahona

unread,
Dec 1, 2009, 11:28:12 AM12/1/09
to jmet...@googlegroups.com
Bonjour,

Est-ce que quelqu'un a eu une idee ou a deja eu un probleme similaire ?

ThomasR

Milamber

unread,
Dec 2, 2009, 3:02:17 AM12/2/09
to jmet...@googlegroups.com
Bonjour,

Est-ce que tu peux m'envoyer directement sur mon email, le script (un extrait) JMeter ainsi qu'un fichier JTL traçant une exécution (à configurer dans un récepteur avec dans la fenêtre du bouton Configurer toutes les cases cochées), afin que je regarde ce qui se passe.

A+
Milamber

Le 01/12/2009 16:28, Thomas Rasoarahona a ecrit :

Thomas Rasoarahona

unread,
Dec 7, 2009, 7:09:45 AM12/7/09
to jmet...@googlegroups.com
Bonjour,

J'ai finalement decide de bien distingue les 3 parties dans l'expression reguliere et cela fonctionne.
J'ai donc mis : (?s)(.+?):\/\/([^\n]+)\/(\S+)

Merci encore pour votre aide qui m'a permis de comprendre comment manipuler les expressions regulieres.

JMeterement

Thomas RASOARAHONA


Le 5 décembre 2009 10:20, Milamber <milamb...@gmail.com> a écrit :
Je ne suis pas sur de comprendre.
En tous cas, c'est ${test_g3} avec une accolade fermante et non une parenthèse.



Le 04/12/2009 10:13, Thomas Rasoarahona a ecrit :
Bonjour,

J'ai un dernier petit soucis. En fait j'aurai voulu faire : ${test_g3)/actions1/actions1.1 dans le path de la requete et ca n'a pas marche. Comment dois-je faire ?

Merci

Thomas RASOARAHONA


Le 4 décembre 2009 10:25, Thomas Rasoarahona <thomas...@gmail.com> a écrit :
Bonjour,

Je te tiens d'abord a vous remercier pour votre aide.
Neanmoins pouvez vous me dire ce que signifie l'expression reguliere que vous m'avez donne et me dire pourquoi cela ne marche qu'avec un seul extracteur.

Encore merci

JMeterement

Thomas RASOARAHONA


Le 3 décembre 2009 23:17, Milamber <milamb...@gmail.com> a écrit :

Bonjour,

Tu devrais pourvoir récupérer le tout avec une seule expression régulière :
(?s)(.+?):\/\/([^/]+)([^\n]+)

Si tu mets TEST dans le nom de référence, tu auras ensuite trois variables JMeter :
TEST_g1=http
TEST_g2=www.monurl.com
TEST_g3=/ma_servlet

A+
Milamber

Le 03/12/2009 18:02, Thomas Rasoarahona a ecrit :
Bonjour,

C'est bon j'ai trouve d'ou venait mon erreur.
En fait la requete renvoit une url du type : http://www.monurl.com/ma_servlet(avec un retour chariot a la fin)
Quand je recuperais  cette url et la mettais dans servername de la requete suivante cela ne marchait pas puisque servername est obligatoirement de la forme www.mon_url.com et c'est ensuite que je dois preciser le protocol donc http puis le path de l'application web /ma_servlet.
Mon nouveau soucis actuellement, c'est que je dois donc a partir de la reponse de la requete et decomposer celle-ci en trois parties avec l'extracteur d'expression reguliere pour recuperer :
1) ${protocole} : http
2) ${servername} : www.mon_url.com
3) ${app_path} : /ma_servlet

Comment est-ce que je dois faire ? Utiliser 3 extracteur differents ?
Si vous pouviez m'aider pour trouver l'expression reguliere pour la premiere variable, je pourrai comprendre pour trouver les 2 autres.

Merci

Thomas R

Le 2 décembre 2009 09:02, Milamber <milamb...@gmail.com> a écrit :
Bonjour,

Est-ce que tu peux m'envoyer directement sur mon email, le script (un extrait) JMeter ainsi qu'un fichier JTL traçant une exécution (à configurer dans un récepteur avec dans la fenêtre du bouton Configurer toutes les cases cochées), afin que je regarde ce qui se passe.

A+
Milamber


Bonjour,

Est-ce que quelqu'un a eu une idee ou a deja eu un probleme similaire ?

ThomasR


Reply all
Reply to author
Forward
0 new messages