{"id":534,"date":"2009-11-15T08:10:33","date_gmt":"2009-11-15T08:10:33","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=534"},"modified":"2009-11-15T08:10:33","modified_gmt":"2009-11-15T08:10:33","slug":"envoyer-en-ligne-de-commande-des-parametres-a-votre-scenario-jmeter","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2009\/11\/15\/envoyer-en-ligne-de-commande-des-parametres-a-votre-scenario-jmeter-534.html","title":{"rendered":"Envoyer en ligne de commande des param\u00e8tres \u00e0 votre sc\u00e9nario JMeter"},"content":{"rendered":"<p>Voici un petit billet pour vous monter comment lancer JMeter en ligne de commande tout en param\u00e9trant son sc\u00e9nario de test.<\/p>\n<p>En effet, vous pouvez avoir l&rsquo;id\u00e9e ou l&rsquo;envie de faire une s\u00e9rie de test en jouant sur certains param\u00e8tres de votre sc\u00e9nario JMeter, le tout en ligne de commande. Par exemple, faire un test avec 1 utilisateur, puis le m\u00eame test avec 10 utilisateurs, et le m\u00eame avec 100 utilisateurs.<\/p>\n<p>Bien \u00e9videmment vous pouvez les lancer depuis l&rsquo;interface graphique de JMeter, \u00e0 la suite, tout en modifiant le param\u00e8tre du nombre d&rsquo;utilisateurs dans l&rsquo;interface, mais c&rsquo;est trop facile ;-).<\/p>\n<p>Donc pour le faire en ligne de commande, il faut d&rsquo;abord passer par l&rsquo;interface graphique JMeter. En effet, nous avons besoin d&rsquo;utiliser une fonction JMeter qui va permettre de lire une propri\u00e9t\u00e9 JMeter et renvoyer sa valeur. Cette fonction doit \u00eatre appel\u00e9e \u00e0 la place de la valeur du champ correspondant au param\u00e8tre que l&rsquo;on veut rendre \u00ab\u00a0param\u00e9trable\u00a0\u00bb&#8230;<\/p>\n<p>Le mieux est d&rsquo;abord de voir la capture d&rsquo;\u00e9cran :<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"border: 1px solid black;\" title=\"Utilisation de la fonction __P() de JMeter\" src=\"\/wp-content\/images\/jmeter23-img-cli\/cli02.png\" alt=\"\" width=\"444\" height=\"254\" \/><\/p>\n<p>Les diff\u00e9rents <strong>${__P(xxx,yyy)}<\/strong> correspondent \u00e0 notre fonction JMeter qui permet de lire une propri\u00e9t\u00e9 JMeter, et qui la renvoie.<!--more--><\/p>\n<p>Donc ici, on vient d&rsquo;utiliser la fonction <strong>__P()<\/strong><em> (avec deux caract\u00e8res soulign\u00e9s avant le P)<\/em> pour d\u00e9finir trois param\u00e8tres :<\/p>\n<ul>\n<li>Le nombre d&rsquo;unit\u00e9s d&rsquo;ex\u00e9cution, qui prend soit la valeur de la variable JMeter <strong>nombreUnites<\/strong> ou si elle est inexistante, la valeur par d\u00e9faut \u00ab\u00a010\u00a0\u00bb<\/li>\n<li>La dur\u00e9e de mont\u00e9e en charge, qui prend soit la valeur de la variable JMeter <strong>dureeMontee<\/strong> ou si elle est inexistante, la valeur par d\u00e9faut \u00ab\u00a050\u00a0\u00bb<\/li>\n<li>La nombre d&rsquo;it\u00e9rations, qui prend soit la valeur de la variable JMeter <strong>nombreIterations<\/strong> ou si elle est inexistante, la valeur par d\u00e9faut \u00ab\u00a0100\u00a0\u00bb<\/li>\n<\/ul>\n<p>Comme vous l&rsquo;aurez compris, la fonction<strong> __P() <\/strong>a deux param\u00e8tres, le premier pour indiquer la cl\u00e9 de la propri\u00e9t\u00e9 \u00e0 rechercher, lire et renvoyer, et le second (optionnel) \u00e9tant la valeur par d\u00e9faut si la cl\u00e9 n&rsquo;existe pas.<\/p>\n<p>Une fois que vous avez d\u00e9fini ainsi les diff\u00e9rents champs que vous souhaitez <em>\u00ab\u00a0param\u00e8triser\u00a0\u00bb<\/em>, il ne reste plus qu&rsquo;a lancer JMeter en ligne de commande avec la ou les valeurs.<\/p>\n<p>Pour cela, on utilise l&rsquo;option<strong> \u00ab\u00a0-J\u00a0\u00bb<\/strong> de JMeter. Celle-ci permet de d\u00e9finir un couple cl\u00e9\/valeur correspondant \u00e0 une propri\u00e9t\u00e9 JMeter. Pour notre exemple, la ligne de commande sera donc :<\/p>\n<pre><strong>jmeter -n -l resultats.csv -t scenario.jmx -JnombreUnites=5 -JdureeMontee=10 -JnombreIterations=100<\/strong><\/pre>\n<p><em>(Petit rappel : -n : mode non-gui, -l : fichier de r\u00e9sultats, -t : fichier scripts JMeter)<\/em><\/p>\n<p>Voil\u00e0, maintenant vous pouvez jouer sur les valeurs de ces param\u00e8tres afin de faire plusieurs types de tests.<\/p>\n<p>Plus d&rsquo;infos sur les fonctions, voici <a href=\"http:\/\/jakarta.apache.org\/jmeter\/usermanual\/functions.html\">la page r\u00e9serv\u00e9e aux fonctions du manuel JMeter<\/a><\/p>\n<p>.\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici un petit billet pour vous monter comment lancer JMeter en ligne de commande tout en param\u00e9trant son sc\u00e9nario de test. En effet, vous pouvez avoir l&rsquo;id\u00e9e ou l&rsquo;envie de faire une s\u00e9rie de test en jouant sur certains param\u00e8tres de votre sc\u00e9nario JMeter, le tout en ligne de commande. Par exemple, faire un test &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2009\/11\/15\/envoyer-en-ligne-de-commande-des-parametres-a-votre-scenario-jmeter-534.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Envoyer en ligne de commande des param\u00e8tres \u00e0 votre sc\u00e9nario JMeter<\/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":[33,169,34],"tags":[330,198,197],"class_list":["post-534","post","type-post","status-publish","format-standard","hentry","category-jmeter","category-test-fonctionnel","category-tests-de-charges","tag-jmeter","tag-ligne-de-commande","tag-parametre"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/534","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=534"}],"version-history":[{"count":3,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/534\/revisions"}],"predecessor-version":[{"id":537,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/534\/revisions\/537"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}