JMeter sur une application JSF

514 views
Skip to first unread message

moun...@gmail.com

unread,
Mar 31, 2009, 5:41:32 AM3/31/09
to JMeter en français
Salut,

J'essaye de faire des tests de montée en charge avec JMeter pour une
application JSF et plus precisémment Icefaces.

Le Test consiste à se connecter et s'authentifier puis accéder à un
module de l'application. Le test biensur est exécuté pour n
utilisateurs.

J'ai rajouté le Regular Expression Extractor pour passer la
jsfViewState, configuration obligatoire pour les appli JSF.
http://wiki.apache.org/myfaces/PerformanceTestingWithJMeter

Le test est comme suite :

HTTP Request Defaults : requête par defaut (IP/Port du serveur Tomact)
HTTP Request : Première requête GET, sans accès aux pages JSF.
J'accede seulement a la page du serveur tomcat

Login : Requete POST de connexion à l'appli (page de connexion dans le
path), contient mdp, login, ${jsfViewState} ...
loginForm%3A_SUBMIT : 1
loginForm%3A_link_hidden_
loginForm%3A_idcl
javax.faces.ViewState : ${jsfViewState}
loginForm:login : ${LOGIN}
loginForm:password : ${PASSWORD} - Encoder coché

Ici le login et le mdp sont recuperés depuis un fichier csv

Access : Requete POST d'acces à une URL (un menu de l'appli)

Je me suis inspiré aussi du site de Milamber (Un grand merci à lui)
pour construire ce test.

Quand je lance le test, tout à l'aire bien, je reçois des réponses
mais le problème c'est que sur mon serveur Tomcat, j'ai aucune
indication que JMeter s'est connecté. C'est là que je me suis rendu
compte que JMeter n'essaye même pas de se connecter , les réponses que
je reçois pour Login et Access sont les mêmes, c'est juste la page de
connexion qui contient deux champs login et mdp.
J'ai rajouté pour la requête Login, une response assertion pour tester
si je reçois le login et le mdp dans la réponse. Et effectivement je
reçois pas ces informations, du coup mnt j'ai une erreur

Dans le View Results Tree
Thread Name: Obm Users 1-1
Sample Start: 2009-03-31 11:36:09 CEST
Load time: 209
Latency: 12
Size in bytes: 9063
Sample Count: 1
Error Count: 1
Response code: 200
Response message: OK

Response headers:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=34E731676C01A88EDE0C21EC6569F1EF; Path=/
ulextranet
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: must-revalidate
Pragma: no-cache
Expires: 0
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 31 Mar 2009 09:36:17 GMT

Request:
POST http://127.0.0.1:8080/extranet/login.iface

POST data:
loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
%3A_idcl=&javax.faces.ViewState=${jsfViewState}
&loginForm:login=agfam01&loginForm%3Apassword=agfam01

[no cookies]

Request Headers:
Connection: keep-alive
Content-Length: 158
Content-Type: application/x-www-form-urlencoded


Response data :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
id="document:html" lang="en"><head><title id="document:title">UL
EXTRANET</title>
<link href="/extranet/xmlhttp/css/rime/rime.css" rel="stylesheet"
type="text/css" /><link href="/extranet/css/login.css"
rel="stylesheet" type="text/css" /><script src="/extranet/js/
extranet.js" type="text/javascript"></script>
<meta content="Rendered by ICEFaces D2D" name="icefaces" /><script
src="/extranet/xmlhttp/1237976516078/icefaces-d2d.js" type="text/
javascript"></script>
<script src="/extranet/xmlhttp/1237976516078/ice-extras.js" type="text/
javascript"></script>
<script type="text/javascript">try { document.execCommand
('BackgroundImageCache', false, true); } catch(e) {}</script></head>
<body id="document:body" style="padding: 0px; margin: 0px;"><iframe
frameborder="0" id="history-frame:xp1JW_LvPTAXPwb-mq7qRg:1"
name="history-frame:xp1JW_LvPTAXPwb-mq7qRg:1" src="/extranet/xmlhttp/
blank" style="z-index: 10000; visibility: hidden; width: 0; height: 0;
position: absolute; opacity: 0.22; filter: alpha(opacity=22);"
title="Icefaces Redirect"></iframe>
<script id="xp1JW_LvPTAXPwb-mq7qRg:1:configuration-script" type="text/
javascript">if (!window.sessions) window.sessions = [];
window.sessions.push('xp1JW_LvPTAXPwb-mq7qRg');
window.disposeViewsURI = '/extranet/block/dispose-views';
var container = 'xp1JW_LvPTAXPwb-mq7qRg:1:configuration-
script'.asElement().parentNode;
container.bridge = new Ice.Community.Application({session:
'xp1JW_LvPTAXPwb-mq7qRg',view: 1,synchronous:
false,connectionLostRedirectURI: null,sessionExpiredRedirectURI:
null,connection: {context: {current: '/extranet/',async: '/
extranet/'},timeout: 60000,heartbeat: {interval: 50000,timeout:
30000,retries: 3}},messages: {sessionExpired: 'User Session
Expired',connectionLost: 'Network Connection Interrupted',serverError:
'Server Internal Error',description: 'To reconnect click the Reload
button on the browser or click the button below',buttonText:
'Reload'}}, container);</script>
<div class="icePnlGrp" id="j_id10" style="width:100%;height:
134px;background-image:url(images/core/login_bg.jpg);background-
repeat:repeat-x;text-align:center;"><center><img alt=""
class="iceGphImg" id="j_id12" src="/extranet/images/core/
login_header.jpg" /></center></div>
<div class="icePnlGrp" id="j_id13" style="width:100%;"><center><div
class="icePnlGrp" id="j_id15" style="width:1024px;;height:
650px;background-image:url(images/core/
background_login.jpg);background-repeat:no-repeat;"><form
action="javascript:;" class="iceFrm" enctype="application/x-www-form-
urlencoded" id="loginForm" method="post" onsubmit="return false;"
style="padding-top:200px;"><script type="text/javascript">$element
(document.getElementById('loginForm')).captureAndRedirectSubmit();</
script><input name="loginForm" type="hidden" value="loginForm" /
><input name="icefacesCssUpdates" type="hidden" value="" /><table
cellpadding="2" cellspacing="2" class="icePnlGrd loginGrid"
id="loginForm:j_id16"><tbody><tr class="icePnlGrdRow1
loginGridRow1"><td class="icePnlGrdCol1 loginGridCol1"
id="loginForm:j_id16-0-0"><span class="iceOutTxt"
id="loginForm:j_id17" style="color:white;font-weight:bold;font-
family:arial;font-size:11px;">Login</span></td><td
class="icePnlGrdCol2 loginGridCol2" id="loginForm:j_id16-0-1"><div
class="icePnlGrp" id="loginForm:j_id18"><input class="iceInpTxt"
id="loginForm:login" name="loginForm:login" onblur="setFocus
(&#39;&#39;);setFocus(&#39;&#39;);" onfocus="setFocus(this.id);"
onkeypress="iceSubmit(form,this,event);" onmousedown=";this.focus();"
style="width:150px;" type="text" value="" /></div></td></tr>
<tr class="icePnlGrdRow2 loginGridRow2"><td class="icePnlGrdCol1
loginGridCol1" id="loginForm:j_id16-1-0"><span class="iceOutTxt"
id="loginForm:j_id19" style="color:white;font-weight:bold;font-
family:arial;font-size:11px;">Password</span></td><td
class="icePnlGrdCol2 loginGridCol2" id="loginForm:j_id16-1-1"><div
class="icePnlGrp" id="loginForm:j_id20"><input class="iceInpSecrt"
id="loginForm:password" name="loginForm:password" onblur="setFocus
(&#39;&#39;);" onfocus="setFocus(this.id);" onkeypress="submitonEnter
();iceSubmit(form,this,event);" onmousedown=";this.focus();"
style="width:150px;" type="password" value="" /></div></td></tr>
<tr class="icePnlGrdRow1 loginGridRow1"><td class="icePnlGrdCol1
loginGridCol1" id="loginForm:j_id16-2-0"><div class="icePnlGrp"
id="loginForm:j_id21"><input class="iceSelBoolChkbx"
id="loginForm:rememberMe" name="loginForm:rememberMe" onblur="setFocus
(&#39;&#39;);" onfocus="setFocus(this.id);" style="padding:0px;margin:
0px;" type="checkbox" /></div></td><td class="icePnlGrdCol2
loginGridCol2" id="loginForm:j_id16-2-1"><span class="iceOutTxt"
id="loginForm:j_id22" style="color:white;font-weight:normal;font-
family:arial;font-size:11px;">Remember my login on this computer </
span></td></tr></tbody></table>
<div class="icePnlGrp" id="loginForm:j_id23" style="padding:20px 0px
5px 0px;"><div class="icePnlGrp" id="loginForm:j_id24" style="width:
190px;text-align:center;height:20px;"><input class="iceCmdBtn"
id="loginForm:j_id25" name="loginForm:j_id25" onblur="setFocus
(&#39;&#39;);" onclick="iceSubmit(form,this,event);return false;"
onfocus="setFocus(this.id);" src="/extranet/images/core/logon.jpg"
type="image" /></div></div>
<div class="icePnlGrp" id="loginForm:j_id26" style="width:190px;text-
align:left;height:70px;"><table class="icePnlGrd"
id="loginForm:j_id27"><tbody><tr class="icePnlGrdRow1"><td
class="icePnlGrdCol1" id="loginForm:j_id27-0-0"><span
id="loginForm:j_id28"></span></td></tr>
<tr class="icePnlGrdRow2"><td class="icePnlGrdCol1"
id="loginForm:j_id27-1-0"><span id="loginForm:j_id29"></span></td></
tr></tbody></table>
<table id="loginForm:j_id30" style="display:none;"><td></td></table></
div>
<div class="icePnlGrp" id="loginForm:j_id31" style="width:250px;text-
align:center;"><a class="iceCmdLnk" href="javascript:;"
id="loginForm:j_id32" onblur="setFocus(&#39;&#39;);" onclick="var
form=formOf(this);form
[&#39;loginForm:_idcl&#39;].value=&#39;loginForm:j_id32&#39;;return
iceSubmit(form,this,event);" onfocus="setFocus(this.id);"
style="color:white;font-weight:bold;font-family:arial;font-size:
10px;text-decoration:underline;">Forgot your password ?</a></div>
<div id="loginFormhdnFldsDiv" style="display:none;"><input
name="loginForm:_idcl" type="hidden" /></div></form></div></center></
div>
<form action="javascript:;" class="iceFrm" enctype="application/x-www-
form-urlencoded" id="forgotPasswordForm" method="post"
onsubmit="return false;"><script type="text/javascript">$element
(document.getElementById
('forgotPasswordForm')).captureAndRedirectSubmit();</script><input
name="forgotPasswordForm" type="hidden" value="forgotPasswordForm" /
><input name="icefacesCssUpdates" type="hidden" value="" /><div
class="icePnlPop corePopup" id="forgotPasswordForm:j_id33"
name="forgotPasswordForm:j_id33" style="width: 350px;height:
120px;;padding-bottom:10px;display:none;"><table cellpadding="0"
cellspacing="0" width="100%"><tr><td class="icePnlPopHdr corePopupHdr"
id="forgotPasswordForm:j_id33Handle"><div class="icePnlGrp
popupHeaderWrapper" id="forgotPasswordForm:j_id34"><span
class="iceOutTxt popupHeaderText" id="forgotPasswordForm:j_id35"
style="color: #C1E244;font-size:12px;">Forgot your password ?</
span><input alt="Close" class="iceCmdBtn popupHeaderImage"
id="forgotPasswordForm:j_id36" name="forgotPasswordForm:j_id36"
onblur="setFocus(&#39;&#39;);" onclick="iceSubmit
(form,this,event);return false;" onfocus="setFocus(this.id);" src="/
extranet/images/core/closePopup.gif" title="Close this popup"
type="image" /></div></td></tr>
<tr id="forgotPasswordForm:j_id33-tr"><td class="icePnlPopBody
corePopupBody"><div class="icePnlGrp popupBody"
id="forgotPasswordForm:j_id37"><div class="icePnlGrp"
id="forgotPasswordForm:j_id43"><div class="icePnlGrp"
id="forgotPasswordForm:j_id44" style="height:20px;"></div>
<div class="icePnlGrp" id="forgotPasswordForm:j_id45" style="margin:
5px 0px 5px 0px;height:20px; text-align:center;"><span
id="forgotPasswordForm:j_id46"></span></div></div>
<center><input class="iceCmdBtn" id="forgotPasswordForm:j_id49"
name="forgotPasswordForm:j_id49" onblur="setFocus(&#39;&#39;);"
onclick="iceSubmit(form,this,event);return false;" onfocus="setFocus
(this.id);" src="/extranet/images/core/close.jpg" type="image" /></
center></div></td></tr></table>
<script language="JavaScript" type="text/javascript">Ice.modal.stop
('forgotPasswordForm:j_id33');</script></div>
<div id="forgotPasswordFormhdnFldsDiv" style="display:none;"></div></
form>
<script id="xp1JW_LvPTAXPwb-mq7qRg:1:dynamic-code" type="text/
javascript">Ice.autoPosition.stop
('forgotPasswordForm:j_id33');Ice.autoCentre.start
('forgotPasswordForm:j_id33');Ice.iFrameFix.start
('forgotPasswordForm:j_id33','/extranet/xmlhttp/blank');//-714242947</
script>
<noscript><meta content="0;url=/extranet/xmlhttp/javascript-blocked"
http-equiv="refresh" /></noscript></body></html>


Aurriez vous une idée pour quoi ça marcherait pas ?
Est ce qu'il y a quelqu'un qui a deja fait ce genre de test, à savoir
une connexion à une application JSF ?

Merci pour votre aide, si vous avez besoin que je vous montre mon plan
de test je peux encore le détailler où faire des captures d'ecran

Milamber

unread,
Mar 31, 2009, 4:52:44 PM3/31/09
to jmet...@googlegroups.com
Bonjour,

D'après :

POST data:
loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
%3A_idcl=&javax.faces.ViewState=${jsfViewState}
&loginForm:login=agfam01&loginForm%3Apassword=agfam01
L'extracteur d'expression régulière n'agit pas. Tu l'as mis où ? normalement c'est un enfant de ta page d'accueil (celle qui affiche les champs login/mdp).

Tu peux envoyer une capture de ton arbre déployé (la partie à gauche), le code HTML de la page d'accueil (si c'est confidentiel, juste la partie contenant le viewstate) et l'expression régulière utilisée, Stp.

(sinon tu as bien pensé à mettre un gestionnaire de cookie pour gérer l'état connecté ?)

A+
Milamber

Le 31/03/2009 09:41, moun...@gmail.com a ecrit :

moun...@gmail.com

unread,
Apr 7, 2009, 3:24:32 AM4/7/09
to JMeter en français
Bonjour Milamber,

Merci bq pour ton retour

Désolé de rependre que maintenant mais j'étais cloué au lit :)

Pour l'extracteur d'expression c'est vrai que je l'est pas mit dans la
page de login, mais au même niveau que celle ci. Pour le Cookie
Manager je l'est bien rajouté.

Voil
On 31 mar, 22:52, Milamber <milambersp...@gmail.com> wrote:
> Bonjour,
>
> D'après :
>
> POST data:
> loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
> %3A_idcl=&javax.faces.ViewState=${jsfViewState}
> &loginForm:login=agfam01&loginForm%3Apassword=agfam01
>
> L'extracteur d'expression régulière n'agit pas. Tu l'as mis où ?
> normalement c'est un enfant de ta page d'accueil (celle qui affiche les
> champs login/mdp).
>
> Tu peux envoyer une capture de ton arbre déployé (la partie à gauche),
> le code HTML de la page d'accueil (si c'est confidentiel, juste la
> partie contenant le viewstate) et l'expression régulière utilisée, Stp.
>
> (sinon tu as bien pensé à mettre un gestionnaire de cookie pour gérer
> l'état connecté ?)
>
> A+
> Milamber
>
> Le 31/03/2009 09:41, mound...@gmail.com a ecrit :
> > POSThttp://127.0.0.1:8080/extranet/login.iface
> ...
>
> plus de détails »

moun...@gmail.com

unread,
Apr 7, 2009, 3:37:20 AM4/7/09
to JMeter en français
Bonjour Milamber,

Merci bq pour ton retour

Désolé de rependre que maintenant mais j'étais cloué au lit :)

Pour l'extracteur d'expression c'est vrai que je l'est pas mit dans la
page de login, mais au même niveau que celle ci. Pour le Cookie
Manager je l'est bien rajouté.

voila l'arbre (car je sais pas comment joindre une piece ici):
- Plan de test
- Thread group
- HTTP Request Defaults
- HTTP Request
- Login (page pour se loguer)
- Response Assertion
- Une autre page de l'appli
- HTTP Cookie Manager
- CSV Data Set Config
- Regular Expression Extractor


Au fait, on regardant comment le proxy JMeter agit en suivant les
mêmes étapes, j'ai remarqrué que mon framework (Icefaces) à besoin
d'un attribut ice.session qui ressemble à JSESSIONID. Je l'est donc
rajouté dans les paramétres à envoyer avec la requête mais je ne sais
pas quoi mettre dedans.

J'ai trouvé un post qui parle de la même chose sur le Forum
d'icefaces, mais je vois pas comment configurer l'extractor dont il
parle, pour qu'il parcours le code HTML
http://www.icefaces.org/JForum/posts/list/10914.page#48544

Aurais tu une idée de comment il faudrais faire cela ?

Voila l'expression reguliere que j'utilise
<input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces
\.ViewState" value="(.+?)" />
c'est marqué ici http://wiki.apache.org/myfaces/PerformanceTestingWithJMeter

Pour le code de ma page web, le voila ci dessous, mais il faut savoir
qu'il y a bq de Javascript (c'est générer automatiquement par icefaces
car il y a bq d'ajax dedans) donc c pas trop lisible
C'est le code de la page de login avant d'effectuer une connexion

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
id="document:html" lang="en"><head><title id="document:title">UL
EXTRANET</title>
<link href="/ulextranet/xmlhttp/css/rime/rime.css" rel="stylesheet"
type="text/css" /><link href="/ulextranet/css/login.css"
rel="stylesheet" type="text/css" /><script src="/ulextranet/js/
extranet.js" type="text/javascript"></script>
<meta content="Rendered by ICEFaces D2D" name="icefaces" /><script
src="/ulextranet/xmlhttp/1239089698937/icefaces-d2d.js" type="text/
javascript"></script>
<script src="/ulextranet/xmlhttp/1239089698937/ice-extras.js"
type="text/javascript"></script>
<script type="text/javascript">try { document.execCommand
('BackgroundImageCache', false, true); } catch(e) {}</script></head>
<body id="document:body" style="padding: 0px; margin: 0px;"><iframe
frameborder="0" id="history-frame:p9qim3OXyEsTDPi6UeVltQ:2"
name="history-frame:p9qim3OXyEsTDPi6UeVltQ:2" src="/ulextranet/xmlhttp/
blank" style="z-index: 10000; visibility: hidden; width: 0; height: 0;
position: absolute; opacity: 0.22; filter: alpha(opacity=22);"
title="Icefaces Redirect"></iframe>
<script id="p9qim3OXyEsTDPi6UeVltQ:2:configuration-script" type="text/
javascript">if (!window.sessions) window.sessions = [];
window.sessions.push('p9qim3OXyEsTDPi6UeVltQ');
window.disposeViewsURI = '/ulextranet/block/dispose-views';
var container = 'p9qim3OXyEsTDPi6UeVltQ:2:configuration-
script'.asElement().parentNode;
container.bridge = new Ice.Community.Application({session:
'p9qim3OXyEsTDPi6UeVltQ',view: 2,synchronous:
false,connectionLostRedirectURI: null,sessionExpiredRedirectURI:
null,connection: {context: {current: '/ulextranet/',async: '/
ulextranet/'},timeout: 60000,heartbeat: {interval: 50000,timeout:
30000,retries: 3}},messages: {sessionExpired: 'User Session
Expired',connectionLost: 'Network Connection Interrupted',serverError:
'Server Internal Error',description: 'To reconnect click the Reload
button on the browser or click the button below',buttonText:
'Reload'}}, container);</script>
<div class="icePnlGrp" id="j_id10" style="width:100%;height:
134px;background-image:url(images/core/login_bg.jpg);background-
repeat:repeat-x;text-align:center;"><center><img alt=""
class="iceGphImg" id="j_id12" src="/ulextranet/images/core/
onfocus="setFocus(this.id);" src="/ulextranet/images/core/logon.jpg"
ulextranet/images/core/closePopup.gif" title="Close this popup"
type="image" /></div></td></tr>
<tr id="forgotPasswordForm:j_id33-tr"><td class="icePnlPopBody
corePopupBody"><div class="icePnlGrp popupBody"
id="forgotPasswordForm:j_id37"><div class="icePnlGrp"
id="forgotPasswordForm:j_id43"><div class="icePnlGrp"
id="forgotPasswordForm:j_id44" style="height:20px;"></div>
<div class="icePnlGrp" id="forgotPasswordForm:j_id45" style="margin:
5px 0px 5px 0px;height:20px; text-align:center;"><span
id="forgotPasswordForm:j_id46"></span></div></div>
<center><input class="iceCmdBtn" id="forgotPasswordForm:j_id49"
name="forgotPasswordForm:j_id49" onblur="setFocus(&#39;&#39;);"
onclick="iceSubmit(form,this,event);return false;" onfocus="setFocus
(this.id);" src="/ulextranet/images/core/close.jpg" type="image" /></
center></div></td></tr></table>
<script language="JavaScript" type="text/javascript">Ice.modal.stop
('forgotPasswordForm:j_id33');</script></div>
<div id="forgotPasswordFormhdnFldsDiv" style="display:none;"></div></
form>
<script id="p9qim3OXyEsTDPi6UeVltQ:2:dynamic-code" type="text/
javascript">Ice.autoPosition.stop
('forgotPasswordForm:j_id33');Ice.autoCentre.start
('forgotPasswordForm:j_id33');Ice.iFrameFix.start
('forgotPasswordForm:j_id33','/ulextranet/xmlhttp/blank');//
1002671566</script>
<noscript><meta content="0;url=/ulextranet/xmlhttp/javascript-blocked"
http-equiv="refresh" /></noscript></body></html>

Merci beaucoup pour ton aide



On 31 mar, 22:52, Milamber <milambersp...@gmail.com> wrote:
> Bonjour,
>
> D'après :
>
> POST data:
> loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
> %3A_idcl=&javax.faces.ViewState=${jsfViewState}
> &loginForm:login=agfam01&loginForm%3Apassword=agfam01
>
> L'extracteur d'expression régulière n'agit pas. Tu l'as mis où ?
> normalement c'est un enfant de ta page d'accueil (celle qui affiche les
> champs login/mdp).
>
> Tu peux envoyer une capture de ton arbre déployé (la partie à gauche),
> le code HTML de la page d'accueil (si c'est confidentiel, juste la
> partie contenant le viewstate) et l'expression régulière utilisée, Stp.
>
> (sinon tu as bien pensé à mettre un gestionnaire de cookie pour gérer
> l'état connecté ?)
>
> A+
> Milamber
>
> Le 31/03/2009 09:41, mound...@gmail.com a ecrit :
> > POSThttp://127.0.0.1:8080/extranet/login.iface
> ...
>
> plus de détails »

moun...@gmail.com

unread,
Apr 7, 2009, 8:54:35 AM4/7/09
to JMeter en français
Re

Je viens de trouver pourquoi l'extracteur d'expression reguliere ne
marchait pas. Il fallait coché Encoded dans la javax.faces.ViewState

voila la requete mnt


POST data:
loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
%3A_idcl=&javax.faces.ViewState=%24%7BjsfViewState
%7D&loginForm:login=agfam01&loginForm
%3Apassword=agfam01&ice.submit.partial=false&ice.event.target=loginForm
%3Aj_id25&ice.event.captured=loginForm
%3Aj_id25&loginForm:j_id25=onclick&loginForm=&ice:session=&ice:view=1&rand=0.9569122183602303&ice:focus=loginForm:j_id25

[no cookies]

Request Headers:
Connection: keep-alive
Content-Length: 374
Content-Type: application/x-www-form-urlencoded

J'ai rajouté plusieurs autre parametres à la requete, pour essayer
d'avoir les mêmes parametre générer par le proxy Jmeter (ice.view,
rand, ice;focus ...) mais le plus important c'est ice.session pour qui
j'ai toujours pas trouvé de moyen pour le remplir

Merci
> parle, pour qu'il parcours le code HTMLhttp://www.icefaces.org/JForum/posts/list/10914.page#48544
>
> Aurais tu une idée de comment il faudrais faire cela ?
>
> Voila l'expression reguliere que j'utilise
> <input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces
> \.ViewState" value="(.+?)" />
> c'est marqué icihttp://wiki.apache.org/myfaces/PerformanceTestingWithJMeter
>
> Pour le code de ma page web, le voila ci dessous, mais il faut savoir
> qu'il y a bq de Javascript (c'est générer automatiquement par icefaces
> car il y a bq d'ajax dedans) donc c pas trop lisible
> C'est le code de la page de login avant d'effectuer une connexion
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
> <div class="icePnlGrp" id="forgotPasswordForm:j_id45" style="margin: ...
>
> plus de détails »

moun...@gmail.com

unread,
Apr 8, 2009, 10:08:56 AM4/8/09
to JMeter en français
Salut

Comme je vois pas comment faire, j'ai essayé de créer une expression
reguliere pour ice.session :
Reference name : iceSession
Regular Expression : <input type="hidden" name="ice\.session" id="ice
\.session" value="(.+?)" />
Template : $1$
Match No : 0

Mais j'ai le même resultat que le viewState !!!

POST data:
loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
%3A_idcl=&javax.faces.ViewState=%24%7BjsfViewState
%7D&loginForm:login=agfam01&loginForm%3Apassword=agfam01&ice.session=
%24%7BiceSession%7D&ice.view=1&rand=0.9569122183602303

Seul le nom change
javax.faces.ViewState=%24%7BjsfViewState%7D
ice.session=%24%7BiceSession%7D

Je pense que l'extracteur ne marche pas dans les deux cas ! les deux
Regular Expression Extractor ont été ajouté à la page de login

Merci pour votre aide


On 7 avr, 14:54, "mound...@gmail.com" <mound...@gmail.com> wrote:
> Re
>
> Je viens de trouver pourquoi l'extracteur d'expression reguliere ne
> marchait pas. Il fallait coché Encoded dans la javax.faces.ViewState
>
> voila la requete mnt
>
> POST data:
> loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
> %3A_idcl=&javax.faces.ViewState=%24%7BjsfViewState
> %7D&loginForm:login=agfam01&loginForm
> %3Apassword=agfam01&ice.submit.partial=false&ice.event.target=loginForm
> %3Aj_id25&ice.event.captured=loginForm
> %3Aj_id25&loginForm:j_id25=onclick&loginForm=&ice:session=&ice:view=1&rand= 0.9569122183602303&ice:focus=loginForm:j_id25
> ...
>
> plus de détails »

Milamber

unread,
Apr 8, 2009, 4:57:58 PM4/8/09
to JMeter en français
Bonjour,

Dans la page html que tu as envoyé dans ton précédent mail, je ne vois
pas l'élément javax.faces.ViewState...

Ton expression régulière doit avoir une erreur, je pense que c'est le
manque d'échappement pour le slash (/) à la fin == (.+?)" /> ==
(mettre \/> )

Ce que tu peux faire pour te simplifier la vie, c'est :
1/ Mettre dans "ERREUR REGEXP" dans l'extracteur d'expression
regulière au niveau du champ *Valeur par défaut*, comme cela tu verras
ce texte en cas d'erreur (mauvaise regexp)

2/ Ajouter un échantillon Débogage juste après la requête HTTP de
login. Ainsi qu'un récepteur Arbre de résultats pour voir le contenu
des variables (et extraction regexp) au niveau de l'échantillon
Débogage

Par ailleurs la page HTML a été formatée par le système de messagerie,
mais il s'agit peut-être d'un problème de retour à ligne, c'est à dire
ta ligne "input...." est sur 2 lignes, donc ta regexp ne marche pas.
Je te suggère ce lien si c'est le cas :
http://blog.milamberspace.net/index.php/2009/03/08/jmeter-trouver-le-bon-element-dans-une-liste-avec-les-expressions-regulieres-et-en-mode-ligne-unique-227.html

A+
Milamber
> ...
>
> read more »

moun...@gmail.com

unread,
Apr 9, 2009, 4:22:48 AM4/9/09
to JMeter en français
Salut,

Pour le javax.faces.ViewState c'est ce que j'ai remarqué aussi et j'ai
aucune explication à cela. Je croyais que cette variable va nous être
retourner par le serveur, mais je vois que c'est pas le cas. Le
probème vient certainement dela, c'est pourquoi l'extracteur n'arrive
pas à retrouver cette variable. J'ai rajouté le debogage, c'est une
très bonne idée, on voit bien que le problème ne vient pas de
l'expression reguliere mais de response assertion qui attend le login
et mdp que je reçois pas.

Je vais continuer à chercher du côté du viewState pour comprendre
pourquoi sa ne s'affiche pas

Merci bq


On 8 avr, 22:57, Milamber <milambersp...@gmail.com> wrote:
> Bonjour,
>
> Dans la page html que tu as envoyé dans ton précédent mail, je ne vois
> pas l'élément javax.faces.ViewState...
>
> Ton expression régulière doit avoir une erreur, je pense que c'est le
> manque d'échappement pour le slash (/) à la fin == (.+?)" />  ==
> (mettre \/> )
>
> Ce que tu peux faire pour te simplifier la vie, c'est :
> 1/ Mettre dans "ERREUR REGEXP" dans l'extracteur d'expression
> regulière au niveau du champ *Valeur par défaut*, comme cela tu verras
> ce texte en cas d'erreur (mauvaise regexp)
>
> 2/ Ajouter un échantillon Débogage juste après la requête HTTP de
> login. Ainsi qu'un récepteur Arbre de résultats pour voir le contenu
> des variables (et extraction regexp) au niveau de l'échantillon
> Débogage
>
> Par ailleurs la page HTML a été formatée par le système de messagerie,
> mais il s'agit peut-être d'un problème de retour à ligne, c'est à dire
> ta ligne "input...." est sur 2 lignes, donc ta regexp ne marche pas.
> Je te suggère ce lien si c'est le cas :http://blog.milamberspace.net/index.php/2009/03/08/jmeter-trouver-le-...
> ...
>
> plus de détails »

Milamber

unread,
Apr 9, 2009, 8:56:40 AM4/9/09
to jmet...@googlegroups.com
Bonjour,

Est-ce que tu pourrais m'envoyer (sur mon email directement) une session de connexion à ton appli ? Cette session est faisable avec le proxy JMeter en mettre un élément récepteur en fils du Serveur Proxy HTTP, et en configurant un fichier de destination (genre c:\masession.jtl) ainsi que toutes les cases à cocher du bouton Configurer.

La session est :
1/ page d'accueil
2/ Saisie Login / mdp + connexion
3/ page de résultat après authentification

A+
Milamber

Le 09/04/2009 08:22, moun...@gmail.com a ecrit :

moun...@gmail.com

unread,
Apr 10, 2009, 6:28:16 AM4/10/09
to JMeter en français
Salut,

Dans le texte

<script id="JvPrFzVtTSW-urELHFfLMA:2:configuration-script" type="text/
javascript">if (!window.sessions) window.sessions = [];
window.sessions.push('JvPrFzVtTSW-urELHFfLMA');
window.disposeViewsURI = '/ulextranet/block/dispose-views';
var container = 'JvPrFzVtTSW-urELHFfLMA:2:configuration-
script'.asElement().parentNode;
container.bridge = new Ice.Community.Application({session:
'JvPrFzVtTSW-urELHFfLMA',view: 2,synchronous:
false,connectionLostRedirectURI: null,sessionExpiredRedirectURI:
null,connection: {context: {current: '/ulextranet/',async: '/
ulextranet/'},timeout: 60000,heartbeat: {interval: 50000,timeout:
30000,retries: 3}},messages: {sessionExpired: 'User Session
Expired',connectionLost: 'Network Connection Interrupted',serverError:
'Server Internal Error',description: 'To reconnect click the Reload
button on the browser or click the button below',buttonText:
'Reload'}}, container);</script>

il y aurai pas un autre moyen de recuperer JvPrFzVtTSW-urELHFfLMA a
part
Ice\.Community\.Application\(\{session\: '(.+?)'\,view\: 3\,synchronous
\: false\,connectionLostRedirectURI
ou
window\.sessions\.push('(.+?)')
ou encore
var container = '(.+?):2:configuration-script'\.asElement()
\.parentNode;

Car je n'arrive pas à recuperer cette valeur pour pouvoir tester si ca
pourrais me resoudre mon probleme de session

merci

On 9 avr, 14:56, Milamber <milambersp...@gmail.com> wrote:
> Bonjour,
>
> Est-ce que tu pourrais m'envoyer (sur mon email directement) une session
> de connexion à ton appli ? Cette session est faisable avec le proxy
> JMeter en mettre un élément récepteur en fils du Serveur Proxy HTTP, et
> en configurant un fichier de destination (genre c:\masession.jtl) ainsi
> que toutes les cases à cocher du bouton Configurer.
>
> La session est :
> 1/ page d'accueil
> 2/ Saisie Login / mdp + connexion
> 3/ page de résultat après authentification
>
> A+
> Milamber
>
> Le 09/04/2009 08:22, mound...@gmail.com a ecrit :
> ...
>
> plus de détails »

Eudes Elie

unread,
Apr 10, 2009, 10:15:07 AM4/10/09
to JMeter en français
Salut,

tu peux peut etre le récupérer en deux temps :
un extracteur Xpath avec une expression toute simple :
//script/@id
qui devrait te retourner id="JvPrFzVtTSW-urELHFfLMA:2:configuration-
script"

Ensuite il te suffit de manipuler cette chaîne pour extraire ton
id ;-) (avec un sampler beanshell / bsh ou autre)

Eudes.
> ...
>
> plus de détails »

moun...@gmail.com

unread,
Apr 10, 2009, 10:49:51 AM4/10/09
to JMeter en français
merci pour ta réponse,
pourrais tu me détailler la partie sampler beanshell ?
Est ce que c'est le BeanShell PostProcessor ? qu'est ce qu'il faut
mettre dans les champs ?

Merci encore
> ...
>
> plus de détails »

Eudes Elie

unread,
Apr 10, 2009, 11:20:31 AM4/10/09
to JMeter en français
en BeanShell par exemple :
String maSousChaine = maChaine.substring(maChaine.indexOf("\"")+1,
maChaine.indexOf(":"));
print("maSousChaine = " + maSousChaine);

ca devrait le faire ;-)
> ...
>
> plus de détails »

moun...@gmail.com

unread,
Apr 10, 2009, 11:53:51 AM4/10/09
to JMeter en français
Merci pour ta réponse

désolé si j'insiste sur des choses qui peuvent paraître évident ):
c'est que je suis débutant avec JMeter.
Est ce que c'est comme ça que je dois faire :

- Creer un XPath Extractor
- Dans XPath query mettre //script/@id avec comme refrence name :
maChaine

-Creer un BeanShell PostProcessor
- mettre dans le champs Script
String maSousChaine = maChaine.substring(maChaine.indexOf("\"")
+1,maChaine.indexOf(":"));


Si c'est comme ca, je ne vois pas comment je vais pouvoir recuperer
maSousChaine pour la passer à ma requete

Merci bien
> ...
>
> plus de détails »

Eudes Elie

unread,
Apr 10, 2009, 1:31:13 PM4/10/09
to jmet...@googlegroups.com
ah mince j'ai oublié les opérations vars.get et vars.put !

En gardant ce que tu as mis dans le Xpath extractor, le contenu du beanshell est le suivant :

maChaineRecuperee = vars.get("maChaine"); //on recupere la variable extraite du xpath dans une varaible locale

String maSousChaine = maChaineRecuperee.substring(maChaineRecuperee.indexOf("\"")
+1,maChaineRecuperee.indexOf(":")); //traitement

vars.put("<nomdelavariable>",maSousChaine);//on place dans une variable 'globale' le contenu de la variable maSousChaine


En principe tu dois pouvoir utiliser <nomdelavariable> dans d'autres éléments de JMeter par la suite avec l'utilisation de ${<nomdelavariable>} dans ta requête par exemple

Eudes.

moun...@gmail.com

unread,
Apr 11, 2009, 6:03:20 AM4/11/09
to JMeter en français
ok merci bq, je vais essayer tout ça le mardi après un bon long
weekend :) j'ai hate de voir si ça marchera :)
bon weekend

On 10 avr, 19:31, Eudes Elie <eudes.e...@gmail.com> wrote:
> ah mince j'ai oublié les opérations vars.get et vars.put !
>
> En gardant ce que tu as mis dans le Xpath extractor, le contenu du beanshell
> est le suivant :
>
> maChaineRecuperee = vars.get("maChaine"); //on recupere la variable extraite
> du xpath dans une varaible locale
>
> String maSousChaine =
> maChaineRecuperee.substring(maChaineRecuperee.indexOf("\"")+1,maChaineRecup eree.indexOf(":"));
> //traitement
>
> vars.put("<nomdelavariable>",maSousChaine);//on place dans une variable
> 'globale' le contenu de la variable maSousChaine
>
> En principe tu dois pouvoir utiliser <nomdelavariable> dans d'autres
> éléments de JMeter par la suite avec l'utilisation de ${<nomdelavariable>}
> dans ta requête par exemple
>
> Eudes.
>
> ...
>
> plus de détails »

Milamber

unread,
Apr 11, 2009, 8:33:12 AM4/11/09
to jmet...@googlegroups.com
Bonjour,

Il y a un soucis dans l'expression régulière, les quotes ' ne sont pas désactivés (dans les deux), ainsi que les parenthèses dans la deuxième.

Celle ci marche :
window\.sessions\.push\(\'(.+?)\'\)

(testée avec JMeter)

A+
Milamber

Le 10/04/2009 10:28, moun...@gmail.com a ecrit :

moun...@gmail.com

unread,
Apr 14, 2009, 4:24:57 AM4/14/09
to JMeter en français
Salut tout le monde,

J'ai commencé par essayer ce que ma proposer Milamber, car sa
ressemble à ce que j'avais avant. Je vais essayer la deuxieme méthode
d'Eudes tout de suite.

Concernant l'expression window\.sessions\.push\(\'(.+?)\'\) je ne
comprend pas pq ça ne marche pas chez moi alors que ça marche chez
Milamber !!

Voila ce que j'ai dans la requete de login :
loginForm%3A_SUBMIT : 1
loginForm%3A_link_hidden_
loginForm%3A_idcl
loginForm:login : ${LOGIN}
loginForm:password :${PASSWORD}, Encoded coché
ice.session : ${iceSession} , Encoded coché
ice.view : 3
rand : 0.9569122183602303

Dans l'expression reguliere de cette requete
Response Field to check : Body coché

Refrence name : iceSession
Regular Expression : window\.sessions\.push\(\'(.+?)\'\)
Template : $1$
Match : 0
Default Value : ERREUR REGEXP

J'ai aussi rajouté un Debut PostProcessor comme ce que m'a conseillé
Milamber

Dans mon view results tree:

Dans le debug PostProcessor de Login :
Response data :
HTTPsampler.Arguments=loginForm%3A_SUBMIT=1&loginForm
%3A_link_hidden_=&loginForm
%3A_idcl=&loginForm:login=agfam01&loginForm:password=agfam01&ice.session=
${iceSession}&ice.view=3&rand=0.9569122183602303
HTTPSampler.domain=10.141.1.7
HTTPSampler.port=8080
HTTPSampler.protocol=
HTTPSampler.contentEncoding=
HTTPSampler.path=/ulextranet/login.iface
HTTPSampler.method=POST
HTTPSampler.follow_redirects=true
HTTPSampler.auto_redirects=false
HTTPSampler.use_keepalive=true
HTTPSampler.DO_MULTIPART_POST=false
HTTPSampler.FILE_NAME=
HTTPSampler.FILE_FIELD=
HTTPSampler.mimetype=
HTTPSampler.monitor=false
HTTPSampler.embedded_url_re=
TestElement.name=Login
TestElement.gui_class=org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui
TestElement.test_class=org.apache.jmeter.protocol.http.sampler.HTTPSampler
TestElement.enabled=true
TestPlan.comments= Logon to UL Extranet
HTTPSampler.cookie_manager=org.apache.jmeter.protocol.http.control.CookieManager@12315e5
delimiter=,
fileEncoding=
filename=C:\TESTS\jakarta-jmeter-2.3.2\jakarta-jmeter-2.3.2\tests
\boxers-login-pass.csv
quotedData=false
recycle=true
shareMode=All threads
stopThread=false
variableNames=LOGIN,PASSWORD

l'expression n'a pas l'aire de marcher !!
et même chose dans la requete login elle même dans l'onglet Request
POST http://10.141.1.7:8080/ulextranet/login.iface

POST data:
loginForm%3A_SUBMIT=1&loginForm%3A_link_hidden_=&loginForm
%3A_idcl=&loginForm:login=agfam01&loginForm
%3Apassword=agfam01&ice.session=%24%7BiceSession
%7D&ice.view=3&rand=0.9569122183602303

Cookie Data:
JSESSIONID=0C6E4D37A8057AD9E508627E95BFDC0D

Request Headers:
Connection: keep-alive
Content-Length: 187
Content-Type: application/x-www-form-urlencoded

Vous voyez quelques choses d'anormales que je fais ?

Je vais essayer de tester mnt la méthode proposer par Eudes, j'espere
que ça marchera

Merci à vous



moun...@gmail.com

unread,
Apr 14, 2009, 5:30:29 AM4/14/09
to JMeter en français
Re,

Pour la proposition de Eudes,

Ma requete Login ne s'affiche pas dans le view results tree, ca à
laire de marcher mais je vois aucun resultat (response, request)
j'ai un XPath + BeanShell de la requete de login

c'est normal ?
> POSThttp://10.141.1.7:8080/ulextranet/login.iface

Eudes Elie

unread,
Apr 14, 2009, 5:59:49 AM4/14/09
to JMeter en français
salut,

s'il n'y a pas de résultat dans le results tree, regarde du côté de
tes logs (fichier jmeter.log), il y a peut etre des erreurs
Si l'erreur n'est pas suffisamment explicitée, tu peux passer les log
en mode DEBUG (log_level.jmeter=DEBUG dans jmeter.properties)

Eudes

moun...@gmail.com

unread,
Apr 14, 2009, 6:04:56 AM4/14/09
to JMeter en français
T'avais raison, voila l'erreur

2009/04/14 12:03:30 ERROR - jmeter.util.BeanShellTestElement: Cannot
find BeanShell: java.lang.ClassNotFoundException: bsh.Interpreter
2009/04/14 12:03:30 INFO - jmeter.engine.StandardJMeterEngine:
Running the test!
2009/04/14 12:03:30 INFO - jmeter.gui.util.JMeterMenuBar: setRunning
(true,*local*)
2009/04/14 12:03:30 INFO - jmeter.engine.StandardJMeterEngine:
Starting 1 threads for group Obm Users. Ramp up = 30.
2009/04/14 12:03:30 INFO - jmeter.engine.StandardJMeterEngine:
Continue on error
2009/04/14 12:03:30 ERROR - jmeter.util.BeanShellTestElement: Cannot
find BeanShell: java.lang.ClassNotFoundException: bsh.Interpreter
2009/04/14 12:03:30 ERROR - jmeter.util.BeanShellTestElement: Cannot
find BeanShell: java.lang.ClassNotFoundException: bsh.Interpreter
2009/04/14 12:03:30 INFO - jmeter.threads.JMeterThread: Thread Obm
Users 1-1 started
2009/04/14 12:03:30 INFO - jmeter.services.FileServer: Stored: C:
\TESTS\jakarta-jmeter-2.3.2\jakarta-jmeter-2.3.2\tests\boxers-login-
pass.csv
2009/04/14 12:03:34 ERROR - jmeter.threads.JMeterThread:
java.lang.NullPointerException
at org.apache.jmeter.util.BeanShellTestElement.getBeanShellInterpreter
(BeanShellTestElement.java:73)
at org.apache.jmeter.extractor.BeanShellPostProcessor.process
(BeanShellPostProcessor.java:51)
at org.apache.jmeter.threads.JMeterThread.runPostProcessors
(JMeterThread.java:532)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:299)
at java.lang.Thread.run(Unknown Source)

Faut il installer quelques chose pour que le beanshell marche ?? ou
bien rajouter un jar

Eudes Elie

unread,
Apr 14, 2009, 6:17:20 AM4/14/09
to JMeter en français
c'est exactement cela ;-)
cf le user manual : http://jakarta.apache.org/jmeter/usermanual/component_reference.html#BeanShell_Sampler
"""
Please note that the BeanShell jar file is not included with JMeter;
it needs to be separately downloaded.
For full details on using BeanShell, please see the BeanShell web-site
at http://www.beanshell.org/.
"""
il faut le telecharger : http://www.beanshell.org/bsh-2.0b4.jar
et mettre le jar dans JMETER_HOME\lib (et redemarrer jmeter)

moun...@gmail.com

unread,
Apr 14, 2009, 6:30:20 AM4/14/09
to JMeter en français
J'ai fait ça, le programme s'execute maintenant nikel

Mais j'ai le même problème avec les expressions regulieres, j'arrive
toujours pas à recuperer la session. C'est sûrement pas à cause du
beanshell/Xpath ou la regular exp qui sont valides sans aucun doute
mnt, mais bien à cause de mon appli web et plus précisément
d'icefaces. Je crois que je peux dire que j'ai essayé la plupart les
possiblitès offertes par JMeter ...

J'ai bien regardé le jmx que tu m'a envoyé Milamber, j'ai exactement
la même chose mais ça ne marche pas chez moi

Je ne vois pas ce que je pourrais essayer de plus.

En tous cas merci bq à vous deux pour votre disponibilités votre aide
et votre réactivité, bien cordialement

On 14 avr, 12:17, Eudes Elie <eudes.e...@gmail.com> wrote:
> c'est exactement cela ;-)
> cf le user manual :http://jakarta.apache.org/jmeter/usermanual/component_reference.html#...
> """
> Please note that the BeanShell jar file is not included with JMeter;
> it needs to be separately downloaded.
> For full details on using BeanShell, please see the BeanShell web-site
> athttp://www.beanshell.org/.

Eudes Elie

unread,
Apr 15, 2009, 3:31:59 AM4/15/09
to JMeter en français
c'est bizarre ... dans l'element tree result vois-tu les messages
envoyés et recus ?
Si oui alors c'est bien le test qui est mal écrit
Dans ce cas, tu peux intégrer à ton test un element de debug pour voir
le contenu des variables (qui seront affichées dans le result element
tree)

Eudes

moun...@gmail.com

unread,
Apr 15, 2009, 4:09:35 AM4/15/09
to JMeter en français
Salut,

Le probleme c'est que je recois toujours la même response pour toute
mes requetes post, j'ai mit mes tests JMeter (avec BeanShell et
Regular Exp) sur cette adresse
http://dl.free.fr/getfile.pl?file=/2CHmQ8kO

Pourriez vous voir mon scénario de test, je pense qu'il n'y a rien qui
m'échappe mais on sait jamais.

Merci bien

Milamber

unread,
Apr 15, 2009, 1:49:54 PM4/15/09
to jmet...@googlegroups.com
Bonjour,

Ton extracteur regexp est mal positionné, car tu le mets sur la requête Login, tout en l'utilisant directement (${session}) en tant que paramètre... ce n'est pas possible (le chat qui morde sa queue)

Ci-joint ton plan de test retravaillé, je pense qu'il va mieux fonctionner maintenant (déplacement de la regexp sur le premier appel à login.iface, ainsi il sera récupéré avant le deuxième où tu l'utilise en tant que paramètre)

http://dl.free.fr/jYcmehUtr

A+
Milamber

Le 15/04/2009 08:09, moun...@gmail.com a ecrit :

moun...@gmail.com

unread,
Apr 16, 2009, 6:04:05 AM4/16/09
to JMeter en français
Un très très grand Merci

Avec ton script j'arrive à recuperer la session. Mais le logon ne
marche toujours pas, mais c'est vraiment un grand pas de fait :)
J'avais commencer hier à utiliser openSta j'ai réussi à faire un
logon, mais la doc est énorme et j'ai vraiment pas envie de m'y mettre
sauf si ca marche pas avec JMEter biensur :). Car j'ai juste utiliser
un script generé par un proxy comme celui de JMeter

En tous je vous tiens au courant de mon avancement

Merci bq

On 15 avr, 19:49, Milamber <milambersp...@gmail.com> wrote:
> Bonjour,
>
> Ton extracteur regexp est mal positionné, car tu le mets sur la requête
> Login, tout en l'utilisant directement (${session}) en tant que
> paramètre... ce n'est pas possible (le chat qui morde sa queue)
>
> Ci-joint ton plan de test retravaillé, je pense qu'il va mieux
> fonctionner maintenant (déplacement de la regexp sur le premier appel à
> login.iface, ainsi il sera récupéré avant le deuxième où tu l'utilise en
> tant que paramètre)
>
> http://dl.free.fr/jYcmehUtr
>
> A+
> Milamber
>
> Le 15/04/2009 08:09, mound...@gmail.com a ecrit :
Reply all
Reply to author
Forward
0 new messages