{"id":778,"date":"2010-12-01T07:38:26","date_gmt":"2010-12-01T07:38:26","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=778"},"modified":"2011-05-17T22:38:34","modified_gmt":"2011-05-17T22:38:34","slug":"jmeter-sauvegarder-dans-un-fichier-votre-session-de-navigation-lors-de-lenregistrement-de-vos-scenarios-fonctionnels","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2010\/12\/01\/jmeter-sauvegarder-dans-un-fichier-votre-session-de-navigation-lors-de-lenregistrement-de-vos-scenarios-fonctionnels-778.html","title":{"rendered":"JMeter\u00a0: Sauvegarder dans un fichier votre session de navigation lors de l&rsquo;enregistrement de vos sc\u00e9narios fonctionnels"},"content":{"rendered":"<p>Imaginez- vous en mission pour effectuer un test de charge avec votre logiciel favori <a href=\"http:\/\/jakarta.apache.org\/jmeter\/\">JMeter<\/a>. Vous allez suivre le processus habituel\u00a0:<\/p>\n<ol>\n<li><a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-test-de-charges-dun-site-web-mode-demploi\/jmeter-preparer-son-scenario-fonctionnel\">Identifier le sc\u00e9nario \tfonctionnel<\/a> qui sera rejou\u00e9 par les utilisateurs virtuels<\/li>\n<li><a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-test-de-charges-dun-site-web-mode-demploi\/jmeteriser-son-scenario-fonctionnel\">Enregistrer ce sc\u00e9nario dans \tJMeter au travers d&rsquo;un session de navigation<\/a> avec votre navigateur<\/li>\n<li><a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-test-de-charges-dun-site-web-mode-demploi\/affinage-du-scenario-de-tests\">Affiner le sc\u00e9nario<\/a> (variabiliser \tce qui doit l&rsquo;\u00eatre, ajouter des assertions r\u00e9ponses, etc.)<\/li>\n<li><a href=\"http:\/\/blog.milamberspace.net\/index.php\/jmeter-test-de-charges-dun-site-web-mode-demploi\/executer-son-scenario-de-tir-de-charges\">Lancer votre tir<\/a><\/li>\n<\/ol>\n<p>Le probl\u00e8me, c&rsquo;est que vous avez acc\u00e8s \u00e0 l&rsquo;application cible pendant une p\u00e9riode limit\u00e9e, genre 15 min, ou bien que vous n&rsquo;avez pas acc\u00e8s directement \u00e0 l&rsquo;application, vous devez passer un poste de travail pour acc\u00e9der \u00e0 l&rsquo;application, ce poste \u00e9tant bien entendu moins bien que votre ordinateur (genre c&rsquo;est pas Linux ;-))<\/p>\n<p>Que diriez-vous d&rsquo;enregistrer votre session de navigation compl\u00e8te, c&rsquo;est-\u00e0-dire les requ\u00eates avec leurs param\u00e8tres mais surtout les r\u00e9ponses re\u00e7ues par le navigateur, afin de pouvoir affiner votre sc\u00e9nario \u00ab\u00a0\u00e0 froid\u00a0\u00bb, sans connexion avec l&rsquo;application cible, ou carr\u00e9ment tranquillement \u00e0 la maison\u00a0?<\/p>\n<p>Voici le mode d&#8217;emploi. <!--more--><span style=\"text-decoration: underline;\"><strong>Partie 1\u00a0: l&rsquo;enregistrement dans un fichier.<\/strong><\/span><\/p>\n<p>Voici, ci-dessous, un arbre d&rsquo;exemple pour l&rsquo;enregistrement d&rsquo;une session de navigation dans un JMeter (version 2.4).<\/p>\n<p>L&rsquo;\u00e9l\u00e9ment Serveur Proxy HTTP va capturer les requ\u00eates HTTP effectu\u00e9es par votre navigateur (ce dernier \u00e9tant configur\u00e9 pour utiliser JMeter comme proxy). Puis JMeter va cr\u00e9er les requ\u00eates HTTP correspondantes dans le Contr\u00f4leur Enregistreur.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Arbre de JMeter pour l'enregistrement\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips01.png\" alt=\"\" width=\"568\" height=\"396\" \/><\/p>\n<p>Vous remarquerez la petite particularit\u00e9 de mon \u00e9l\u00e9ment <strong>Serveur Proxy HTTP<\/strong> : il a un r\u00e9cepteur <strong>Arbre de r\u00e9sultats<\/strong> en tant que fils.<\/p>\n<p>Cet Arbre de r\u00e9sultats permet de\u00a0:<\/p>\n<ul>\n<li>De voir le d\u00e9tail des requ\u00eates HTTP captur\u00e9es par le proxy JMeter<\/li>\n<li>D&rsquo;enregistrer la session de navigation au format JMeter (extension .JTL) afin de pouvoir revenir sur la session \u00ab\u00a0\u00e0 froid\u00a0\u00bb (sans connexion au serveur).<\/li>\n<\/ul>\n<p>Pour indiquer \u00e0 JMeter que vous voulez enregistrer les donn\u00e9es (requ\u00eates\/r\u00e9ponses) capt\u00e9es par le proxy, il faut donc un \u00e9l\u00e9ment de type r\u00e9cepteur (comme mon arbre de r\u00e9sultats), puis dans le champ <strong>Nom du fichier<\/strong> il faut saisir <em>(avec ses petits doigts, sans utiliser le bouton Parcourir situ\u00e9 \u00e0 droite)<\/em> le chemin complet du fichier destination. L&rsquo;extension usuelle de JMeter pour ce type de fichier est .jtl.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Configurer un nom de fichier sur un r\u00e9cepteur JMeter\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips02.png\" alt=\"\" width=\"1142\" height=\"314\" \/><\/p>\n<p>Ensuite il faut cliquer sur le bouton <strong>Configurer<\/strong> qui se trouve \u00e0 droite du nom du fichier. La fen\u00eatre ci-dessous appara\u00eet\u00a0:<\/p>\n<p>\ufeff<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Configure les options du fichier JTL JMeter\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips02-configure.png\" alt=\"\" width=\"815\" height=\"272\" \/><\/p>\n<p>Ici, on coche <strong>toutes<\/strong> les cases \u00e0 cocher <em>(histoire de ne pas se casser la t\u00eate)<\/em>, puis on ferme la fen\u00eatre.<\/p>\n<p>Ensuite, il faut revenir dans l&rsquo;\u00e9l\u00e9ment Serveur proxy HTTP afin de <strong>le (re)d\u00e9marrer<\/strong> pour qu&rsquo;il puisse commencer \u00e0 enregistrer les donn\u00e9es lors de la navigation avec votre navigateur.<\/p>\n<p>Voil\u00e0, maintenant vous avez un fichier JTL qui contient tout ce qu&rsquo;il vous faut pour travailler tranquillement, et \u00e0 froid, \u00e0 l&rsquo;affinage de votre script JMeter.<\/p>\n<p><em>(Ou, autre utilisation possible : zipper le fichier jtl et l&rsquo;envoyer \u00e0 quelqu&rsquo;un d&rsquo;autre pour assistance dans votre travail.)<\/em><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Partie <\/strong><\/span><span style=\"text-decoration: underline;\"><strong>2<\/strong><\/span><span style=\"text-decoration: underline;\"><strong> : <\/strong><\/span><span style=\"text-decoration: underline;\"><strong>Revoir son fichier JTL<\/strong><\/span><\/p>\n<p>Vous \u00eates maintenant pr\u00eat pour travailler sur l&rsquo;affinage du script, il faut donc ouvrir son fichier JTL dans JMeter.<\/p>\n<p>Ci-dessous, un JMeter fra\u00eechement lanc\u00e9 <em>(mais vous pouvez aussi le faire depuis un JMeter ayant d\u00e9j\u00e0 son arbre)<\/em> :<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"JMeter \u00e0 vide\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips06.png\" alt=\"\" width=\"489\" height=\"154\" \/><\/p>\n<p>On se place sur le Plan de test, puis avec le bouton droit de la souris\u00a0: <strong>Ajouter <\/strong>&gt; <strong>R\u00e9cepteurs<\/strong> &gt; <strong>Arbre de r\u00e9sultats.<\/strong><\/p>\n<p style=\"text-align: center;\"><strong><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Ajout d'un arbre de r\u00e9sultats JMeter\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips07-arbre-de-resultats.png\" alt=\"\" width=\"864\" height=\"239\" \/><br \/>\n<\/strong><\/p>\n<p>Ceci ajoute un nouvel \u00e9l\u00e9ment <strong>Arbre de r\u00e9sultats<\/strong>, dans lequel on va cliquer sur le bouton <strong>Parcourir&#8230;<\/strong> qui est situ\u00e9 dans la partie \u00e0 droite sur l&rsquo;\u00e9cran (pas dans les menus).<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Bouton parcourir dans JMeter\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips07-parcourir.png\" alt=\"\" width=\"900\" height=\"188\" \/><\/p>\n<p>Dans la nouvelle fen\u00eatre qui s&rsquo;affiche, on recherche son fichier JTL, et on clique sur Ouvrir.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Ouvrir son fichier JTL avec JMeter\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips08-open.png\" alt=\"\" width=\"517\" height=\"326\" \/><\/p>\n<p>Et hop, l&rsquo;arbre de r\u00e9sultats se remplit les donn\u00e9es enregistr\u00e9es (requ\u00eates et surtout les r\u00e9ponses)\u00a0:<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Voir son JTL dans l'arbre de r\u00e9sultats JMeter\" src=\"\/wp-content\/images\/jmeter30-tips\/jmeter-tips09-voir.png\" alt=\"\" width=\"1106\" height=\"406\" \/><\/p>\n<p>Y-a-pu-qu&rsquo;\u00e0 faire l&rsquo;affinage \ud83d\ude09 ou toute autre chose que vous aimeriez.<\/p>\n<p>.\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imaginez- vous en mission pour effectuer un test de charge avec votre logiciel favori JMeter. Vous allez suivre le processus habituel\u00a0: Identifier le sc\u00e9nario fonctionnel qui sera rejou\u00e9 par les utilisateurs virtuels Enregistrer ce sc\u00e9nario dans JMeter au travers d&rsquo;un session de navigation avec votre navigateur Affiner le sc\u00e9nario (variabiliser ce qui doit l&rsquo;\u00eatre, ajouter &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2010\/12\/01\/jmeter-sauvegarder-dans-un-fichier-votre-session-de-navigation-lors-de-lenregistrement-de-vos-scenarios-fonctionnels-778.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">JMeter\u00a0: Sauvegarder dans un fichier votre session de navigation lors de l&rsquo;enregistrement de vos sc\u00e9narios fonctionnels<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,33,169],"tags":[244,330,243],"class_list":["post-778","post","type-post","status-publish","format-standard","hentry","category-apache","category-jmeter","category-test-fonctionnel","tag-enregistrer-ses-donnees","tag-jmeter","tag-jtl"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=778"}],"version-history":[{"count":4,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/778\/revisions"}],"predecessor-version":[{"id":899,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/778\/revisions\/899"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}