<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MilamberSpace &#187; BeanShell</title>
	<atom:link href="http://blog.milamberspace.net/index.php/tag/beanshell/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.milamberspace.net</link>
	<description>JMeter (surtout) mais aussi l&#039;Informatique, Internet, etc.</description>
	<lastBuildDate>Sun, 29 Aug 2010 21:29:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JMeter : Exemple de script BeanShell pour enregistrer des données dans un fichier</title>
		<link>http://blog.milamberspace.net/index.php/2009/03/13/jmeter-exemple-de-script-beanshell-pour-enregistrer-des-donnees-dans-un-fichier-241.html</link>
		<comments>http://blog.milamberspace.net/index.php/2009/03/13/jmeter-exemple-de-script-beanshell-pour-enregistrer-des-donnees-dans-un-fichier-241.html#comments</comments>
		<pubDate>Fri, 13 Mar 2009 23:07:51 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[Test fonctionnel]]></category>
		<category><![CDATA[BeanShell]]></category>
		<category><![CDATA[fonctionnel]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=241</guid>
		<description><![CDATA[Un petit billet dans un but pédagogique, pour montrer un exemple de script BeanShell pour enregistrer des données dans un fichier texte.
Soit le plan de test suivant :

Dans ce plan de test, on extrait avec l&#8217;extracteur d&#8217;expressions régulières des données de la page reçue, (ici un NOMBRE).

On ajoute &#8216;au passage&#8217; une assertion de réponse qui [...]]]></description>
			<content:encoded><![CDATA[<p style="">Un petit billet dans un but pédagogique, pour montrer un exemple de script BeanShell pour enregistrer des données dans un fichier texte.</p>
<p style="">Soit le plan de test suivant :</p>
<p style=" text-align: center;"><img class="aligncenter" title="Plan de test Beanshell exemple" src="/wp-content/images/jmeter14-img/01-jmeter-beanshell-plan-de-test.png" alt="" width="278" height="154" /></p>
<p style="">Dans ce plan de test, on extrait avec l&#8217;extracteur d&#8217;expressions régulières des données de la page reçue, (ici un NOMBRE).</p>
<p style=" text-align: center;"><img class="aligncenter" title="Jmeter RegExp" src="/wp-content/images/jmeter14-img/02-jmeter-regexp.png" alt="" width="464" height="228" /></p>
<p style="">On ajoute &#8216;au passage&#8217; une assertion de réponse qui est là pour s&#8217;assurer que l&#8217;expression regexp a réussie (on vérifier si on (re)trouve le NOMBRE précédemment cherché dans la page).</p>
<p style=" text-align: center;"><img class="aligncenter" title="Assertion" src="/wp-content/images/jmeter14-img/03-jmeter-beanshell-assertion.png" alt="" width="382" height="314" /></p>
<p style="">Et pour finir, on a un élément post-processeur BeanShell qui exécuter un bout de code Java pour faire l&#8217;enregistrement de la variable NOMBRE dans un fichier.</p>
<p style=" text-align: center;"><img class="aligncenter" title="Exemple de scripts BeanShell pour JMeter" src="/wp-content/images/jmeter14-img/04-jmeter-beanshell-script.png" alt="" width="524" height="370" /></p>
<p style="">
<p style=""><span id="more-241"></span>Le code du BeanShell (du Java donc) est le suivant :</p>
<pre style="">if (prev.isSuccessful()) {
    String nombre = vars.get("NOMBRE");
    try {
        BufferedWriter out = new BufferedWriter(new FileWriter("/tmp/nombre.csv",true));
        out.write(nombre +"\n");
        out.close();
    } catch (IOException e) {}
}</pre>
<p>Quelques commentaires :</p>
<ul>
<li>Le test sur le <em>prev.isSuccessful() </em>afin d&#8217;enregistrer seulement les échantillons réussis,</li>
<li>Le <em>vars.get(&laquo;&nbsp;NOMBRE&nbsp;&raquo;);</em> pour récupérer dans une variable Java le contenu de la varialbe JMeter NOMBRE,</li>
<li>Le reste pour écrire dans un fichier.</li>
</ul>
<p style="">Et voilà.</p>
<p style=""><span style="text-decoration: underline;"><em>Pré-requis :</em></span> pour exécuter des scripts <a href="http://beanshell.org/">BeanShell</a> avec JMeter, il faut récupérer le <a href="http://beanshell.org/bsh-2.0b4.jar">fichier JAR du BeanShell</a>, et le déposer dans le répertoire jmeter_home/lib (ou dans le classpath)</p>
<p style=""><em><span style="text-decoration: underline;">Nota</span></em> : JMeter propose d&#8217;une part la possibilité d&#8217;enregistrer directement dans le fichier CSV ou JTL de résultats (via la fonctionnalités des « <a href="http://jakarta.apache.org/jmeter/usermanual/listeners.html#sample_variables">samples_variables</a> »), et d&#8217;autre part d&#8217;enregistrer l&#8217;ensemble des données de réponses (via le récepteur « <a href="http://jakarta.apache.org/jmeter/usermanual/component_reference.html#Save_Responses_to_a_file">Sauvegarder les réponses vers un fichier</a> »), cependant, il est parfois intéressant de pouvoir récupérer quelques variables durant un test JMeter, faire des opérations dessus et/ou créer un fichier de données pré-formaté à la volée.</p>
<p style="">./</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2009/03/13/jmeter-exemple-de-script-beanshell-pour-enregistrer-des-donnees-dans-un-fichier-241.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
