<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEMFQ3c_eCp7ImA9WhRbEEk.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196</id><updated>2012-01-31T23:46:52.940+02:00</updated><category term="xml" /><category term="Uniform Random Timer" /><category term="JMeter" /><category term="website search testing" /><category term="IF controller" /><category term="command line parameters" /><category term="Test Action" /><category term="HTTPS" /><category term="Simple controller" /><category term="cookies" /><category term="test result" /><category term="CSV Data Set Config" /><category term="duration" /><category term="Transaction controller" /><category term="Test plan" /><category term="Random Order controller" /><category term="template" /><category term="pause" /><category term="Google" /><category term="properties" /><category term="HTTP Cookie Manager" /><category term="timer" /><category term="post-processors" /><category term="video" /><category term="Authentication" /><category term="regular expressions" /><category term="Simple Data Writer" /><category term="csv" /><category term="Scheduler" /><category term="recording proxy" /><category term="variables" /><category term="Thread Group" /><title>JMeter Tips</title><subtitle type="html">Blog about performance/load/stress testing and JMeter application</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://jmeter-tips.blogspot.com/" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/JmeterTips" /><feedburner:info uri="jmetertips" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0QBRH0zeyp7ImA9WhRUFU8.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-4845404314912844345</id><published>2011-12-31T00:36:00.001+02:00</published><updated>2012-01-26T00:09:15.383+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-26T00:09:15.383+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="Simple controller" /><category scheme="http://www.blogger.com/atom/ns#" term="Transaction controller" /><category scheme="http://www.blogger.com/atom/ns#" term="Test plan" /><category scheme="http://www.blogger.com/atom/ns#" term="Thread Group" /><category scheme="http://www.blogger.com/atom/ns#" term="Random Order controller" /><title>Tip #14: Advanced test plan structure</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Working with JMeter for about 2 years I've come to the optimal (for me) structure of the test plan. It's divided into several suites (thread groups) depending on user type (visitor or signed in user, etc.) and is quite large to simulate real user activity. Complex business operations can be grouped using Simple Controller for better&amp;nbsp;readability of the test plan. Also do not forget about pauses.&lt;br /&gt;
&lt;br /&gt;
Here is an example test plan structure:&lt;br /&gt;
&lt;span style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: 'Courier New', Courier, monospace;"&gt;Thread Group - Visitor Suite&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &lt;span style="color: lime;"&gt;Simple Controller - Homepage&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: blue;"&gt;Transaction Controller - Homepage&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; HTTP Request Sampler&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: purple; font-family: 'Courier New', Courier, monospace;"&gt;Random Order Controller&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: lime;"&gt;Simple Controller - News page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;Transaction Controller - News page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HTTP Request Sampler&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: lime;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: 'Courier New', Courier, monospace;"&gt;Thread Group - User Suite&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: lime;"&gt;Simple Controller - Sign In page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;Transaction Controller - Sign In page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; HTTP Request Sampler&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: purple; font-family: 'Courier New', Courier, monospace;"&gt;Random Order Controller&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: lime;"&gt;Simple Controller - View User Profile page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;Transaction Controller - View User Profile page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HTTP Request Sampler&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: lime;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-4845404314912844345?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/xgcqqyrNZ5w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/4845404314912844345/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2011/12/tip-14-advanced-test-plan-structure.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4845404314912844345?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4845404314912844345?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/xgcqqyrNZ5w/tip-14-advanced-test-plan-structure.html" title="Tip #14: Advanced test plan structure" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2011/12/tip-14-advanced-test-plan-structure.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBRXk9eip7ImA9Wx5bEEQ.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-5071047352422366921</id><published>2010-10-26T16:07:00.000+03:00</published><updated>2010-10-26T16:07:34.762+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-26T16:07:34.762+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IF controller" /><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="post-processors" /><category scheme="http://www.blogger.com/atom/ns#" term="regular expressions" /><category scheme="http://www.blogger.com/atom/ns#" term="variables" /><title>Tip #13: Checking for empty variable using IF controller</title><content type="html">Sometimes you need &lt;a href="http://jmeter-tips.blogspot.com/2010/06/tip-12-how-to-add-http-request-sampler.html"&gt;to add HTTP samplers with dynamic URL&lt;/a&gt;&amp;nbsp;or with dynamic part of the URL which are stored in some variable after HTTP sampler post-processing.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ciigdWrxwQ4/TAZOWkHMh6I/AAAAAAAACBI/p6zj50QldcY/s1600/regular_expression_extractor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/TAZOWkHMh6I/AAAAAAAACBI/p6zj50QldcY/s400/regular_expression_extractor.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/TAZRhLsjDDI/AAAAAAAACBQ/7o57TIkQLPs/s1600/dynamic_http_sampler.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/TAZRhLsjDDI/AAAAAAAACBQ/7o57TIkQLPs/s400/dynamic_http_sampler.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;But if Regular Expression Extractor will not find any matching string result variable will be set to default value (empty value in our case). We should test this variable for emptyness before we will use it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ciigdWrxwQ4/TMbPaxS7kbI/AAAAAAAACNs/f3--6A_TyNc/s1600/if_controller.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="98" src="http://1.bp.blogspot.com/_ciigdWrxwQ4/TMbPaxS7kbI/AAAAAAAACNs/f3--6A_TyNc/s400/if_controller.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now if the News page has not any news we are sure that JMeter will handle this situation correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-5071047352422366921?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/nzy0Fys8BkU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/5071047352422366921/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/10/tip-13-checking-for-empty-variable.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/5071047352422366921?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/5071047352422366921?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/nzy0Fys8BkU/tip-13-checking-for-empty-variable.html" title="Tip #13: Checking for empty variable using IF controller" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ciigdWrxwQ4/TAZOWkHMh6I/AAAAAAAACBI/p6zj50QldcY/s72-c/regular_expression_extractor.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/10/tip-13-checking-for-empty-variable.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMDRX89eip7ImA9WxFWFEU.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-3974757995526260085</id><published>2010-06-02T16:14:00.000+03:00</published><updated>2010-06-02T16:14:34.162+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-02T16:14:34.162+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="post-processors" /><category scheme="http://www.blogger.com/atom/ns#" term="regular expressions" /><title>Tip #12: How to add HTTP Request sampler with dynamic URL</title><content type="html">If you need to add HTTP Request sampler with dynamic URL that can be different each time from testing to testing you must use one of the Post-Processors offered by JMeter. I usually use Regular Expression Extractor for this purposes.&lt;br /&gt;
&lt;br /&gt;
So, let's imaging that you have "Popular News" web page which contains the links to "News Story" web pages that contains the full texts of news and you want to write a test which will include both "News" page and random "News Story" page.&lt;br /&gt;
&lt;br /&gt;
For this you must include "News" page HTTP Request sampler inside Simple Controller with a Regular Expression Extractor to store random "News Story" page URL to a variable:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/TAZOWkHMh6I/AAAAAAAACBI/p6zj50QldcY/s1600/regular_expression_extractor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/TAZOWkHMh6I/AAAAAAAACBI/p6zj50QldcY/s400/regular_expression_extractor.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Then use the variable with the stored random "News Story" page URL in "News Story" HTTP sampler:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/TAZRhLsjDDI/AAAAAAAACBQ/7o57TIkQLPs/s1600/dynamic_http_sampler.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/TAZRhLsjDDI/AAAAAAAACBQ/7o57TIkQLPs/s400/dynamic_http_sampler.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-3974757995526260085?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/7iNYIsqa-ls" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/3974757995526260085/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/06/tip-12-how-to-add-http-request-sampler.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/3974757995526260085?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/3974757995526260085?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/7iNYIsqa-ls/tip-12-how-to-add-http-request-sampler.html" title="Tip #12: How to add HTTP Request sampler with dynamic URL" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ciigdWrxwQ4/TAZOWkHMh6I/AAAAAAAACBI/p6zj50QldcY/s72-c/regular_expression_extractor.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/06/tip-12-how-to-add-http-request-sampler.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4CQX86eSp7ImA9WxBaE0g.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-6057330748403443446</id><published>2010-03-23T16:34:00.002+02:00</published><updated>2010-03-23T16:36:00.111+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-23T16:36:00.111+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="recording proxy" /><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="template" /><title>Tip #11: Template for JMeter's recording proxy</title><content type="html">If you often need to use JMeter's recording proxy you can save your time by using templates for HTTP request filtering. Just add HTTP Proxy Server element to Workbench, than add regular expressions for URLs of your site like&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;www\.example\.com.*&lt;/span&gt; to "URL Patterns to Include" list, add regular expressions for exclusion of some static HTTP requests like&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;.*\.css$&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;to "URL Patterns to Exclude" list and save this template using "Save Selection As..." item of HTTP Proxy Server's context menu.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/S6jQsXef8hI/AAAAAAAAB_g/4KlL4I6_LXQ/s1600-h/proxy_template.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/S6jQsXef8hI/AAAAAAAAB_g/4KlL4I6_LXQ/s400/proxy_template.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Next time you can just open this file in JMeter and you will have ready for work recording proxy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-6057330748403443446?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/q2vP6mVBoR8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/6057330748403443446/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/03/tip-11-template-for-jmeters-recording.html#comment-form" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/6057330748403443446?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/6057330748403443446?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/q2vP6mVBoR8/tip-11-template-for-jmeters-recording.html" title="Tip #11: Template for JMeter's recording proxy" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ciigdWrxwQ4/S6jQsXef8hI/AAAAAAAAB_g/4KlL4I6_LXQ/s72-c/proxy_template.png" height="72" width="72" /><thr:total>14</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/03/tip-11-template-for-jmeters-recording.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YEQn4-fCp7ImA9WxBbFkU.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-4733087345624509347</id><published>2010-03-14T10:05:00.001+02:00</published><updated>2010-03-15T23:38:23.054+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-15T23:38:23.054+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Authentication" /><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="CSV Data Set Config" /><category scheme="http://www.blogger.com/atom/ns#" term="variables" /><title>Tip #10: How to add authentication to Test Plan</title><content type="html">Most of websites have user communities and allow users to do some actions like posting comments if they are authenticated on this website. Often the performance of a web page can be quite different depending on that fact if this page was visited by authenticated user or anonymous one. So we need to test theese pages by both anonymous users and authenticated ones. How to add authentication is described below.&lt;br /&gt;
&lt;br /&gt;
The steps are mostly similar to the steps of&amp;nbsp;&lt;a href="http://jmeter-tips.blogspot.com/2010/03/tip-9-testing-website-search.html"&gt;adding website search&lt;/a&gt; but have some small differencies.&lt;br /&gt;
&lt;br /&gt;
First record HTTP/HTTPS requests going to authentication page with login/password form in your browser and submitting this form. You will get Authentication Form Page and Authentication Process transactions. Then you need to replace login and password parameters values by some variables like ${USER} and ${PASSWORD} on Authentication Process HTTP request settings.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5yQSi50TQI/AAAAAAAAB_I/nerspBiGxeA/s1600-h/adding_authentication.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5yQSi50TQI/AAAAAAAAB_I/nerspBiGxeA/s400/adding_authentication.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5ySrHOqhJI/AAAAAAAAB_Q/XOBWHI8-6O4/s1600-h/adding_authentication2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5ySrHOqhJI/AAAAAAAAB_Q/XOBWHI8-6O4/s400/adding_authentication2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
After that you need to prepare the text file where each line contains username and password separated by some delimiter character, e.g., comma and add new CSV Data Set Config element like below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5yXVM8mDTI/AAAAAAAAB_Y/RLen8fw4XO4/s1600-h/adding_authentication3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5yXVM8mDTI/AAAAAAAAB_Y/RLen8fw4XO4/s400/adding_authentication3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
And now all next HTTP requests will be performed by authenticated users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-4733087345624509347?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/NoqzHBJ2XwI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/4733087345624509347/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/03/tip-10-how-to-add-authorization-to-test.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4733087345624509347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4733087345624509347?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/NoqzHBJ2XwI/tip-10-how-to-add-authorization-to-test.html" title="Tip #10: How to add authentication to Test Plan" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ciigdWrxwQ4/S5yQSi50TQI/AAAAAAAAB_I/nerspBiGxeA/s72-c/adding_authentication.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/03/tip-10-how-to-add-authorization-to-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMBQ3czeCp7ImA9WxBbEks.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-8397638288933053103</id><published>2010-03-04T23:22:00.013+02:00</published><updated>2010-03-11T01:07:32.980+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-11T01:07:32.980+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="CSV Data Set Config" /><category scheme="http://www.blogger.com/atom/ns#" term="website search testing" /><category scheme="http://www.blogger.com/atom/ns#" term="variables" /><title>Tip #9: Testing website search</title><content type="html">Almost every modern website has search feature and it must be carefully and thoroughly tested. You will know from this post how to do it using JMeter.&lt;br /&gt;
&lt;br /&gt;
First record necessary HTTP requests (including search page and search results page) using JMeter's recording proxy and group them into separate transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/S5gVlMa0o1I/AAAAAAAAB-w/SQO-OjbctqA/s1600-h/testing_website_search.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="163" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/S5gVlMa0o1I/AAAAAAAAB-w/SQO-OjbctqA/s400/testing_website_search.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Then go to HTTP Request sampler which corresponds to search results page and replace the keyword (which you used during recording) with some variable name, e.g., ${KEYWORD}.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/S5gcQp_TLFI/AAAAAAAAB-4/CKJmJbLnkdw/s1600-h/testing_website_search_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="248" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/S5gcQp_TLFI/AAAAAAAAB-4/CKJmJbLnkdw/s400/testing_website_search_2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Then prepare the list of keywords you want to use for search testing, save them to the text file and add CSV Data Set Config element to Thread Group. Specify the name of just created file and the variable name which will contain your keywords from file, e.g., KEYWORD (see above).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/S5gd2DUF9XI/AAAAAAAAB_A/z4p7p7_Hawo/s1600-h/testing_website_search_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="173" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/S5gd2DUF9XI/AAAAAAAAB_A/z4p7p7_Hawo/s400/testing_website_search_3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now you are ready to test the search on your website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-8397638288933053103?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/6lgF5nxtK2k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/8397638288933053103/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/03/tip-9-testing-website-search.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/8397638288933053103?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/8397638288933053103?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/6lgF5nxtK2k/tip-9-testing-website-search.html" title="Tip #9: Testing website search" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ciigdWrxwQ4/S5gVlMa0o1I/AAAAAAAAB-w/SQO-OjbctqA/s72-c/testing_website_search.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/03/tip-9-testing-website-search.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04BRn0_fSp7ImA9WxBUFU8.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-2189402560038678451</id><published>2010-02-25T12:37:00.001+02:00</published><updated>2010-03-02T13:39:17.345+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T13:39:17.345+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="csv" /><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="test result" /><category scheme="http://www.blogger.com/atom/ns#" term="Simple Data Writer" /><title>Tip #8: How to save test results</title><content type="html">There is a possibility to save JMeter test results to xml or csv file for further work (e.g. generating reports, importing to a database, etc.). It can be easy done by adding Simple Data Writer listener to a Thread Group and specifiing the filename. Of course you can specify the filename as JMeter variable or property.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/S4z2GrmqJTI/AAAAAAAAB-g/O5-3wQwnkU0/s1600-h/simple-data-writer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="100" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/S4z2GrmqJTI/AAAAAAAAB-g/O5-3wQwnkU0/s400/simple-data-writer.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You can choose the format of results file (xml or csv) and the fields to be saved clicking on Configure button and checking necessary options. As for me I prefer xml format and default options except Save URL which is useful when I need to know exact URLs of HTTP requests.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ciigdWrxwQ4/S4z4MVCBMeI/AAAAAAAAB-o/C1QM5HEQEkI/s1600-h/simple-data-writer-options.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://1.bp.blogspot.com/_ciigdWrxwQ4/S4z4MVCBMeI/AAAAAAAAB-o/C1QM5HEQEkI/s400/simple-data-writer-options.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-2189402560038678451?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/QKR41P0nDtM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/2189402560038678451/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/02/tip-8-how-to-save-test-results.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/2189402560038678451?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/2189402560038678451?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/QKR41P0nDtM/tip-8-how-to-save-test-results.html" title="Tip #8: How to save test results" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ciigdWrxwQ4/S4z2GrmqJTI/AAAAAAAAB-g/O5-3wQwnkU0/s72-c/simple-data-writer.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/02/tip-8-how-to-save-test-results.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EHRnwzcSp7ImA9WxBVFU4.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-4048057181133484236</id><published>2010-02-19T00:19:00.001+02:00</published><updated>2010-02-19T00:20:37.289+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T00:20:37.289+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cookies" /><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="HTTP Cookie Manager" /><title>Tip #7: How to add cookie support to your Test Plan</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/S324rJ_wNzI/AAAAAAAAB90/rvRZ3-Kzq6c/s1600-h/cookie_manager.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/S324rJ_wNzI/AAAAAAAAB90/rvRZ3-Kzq6c/s320/cookie_manager.png" /&gt;&lt;/a&gt;If you want JMeter to handle cookies automatically you need to add HTTP Cookie Manager to Thread Group.&lt;br /&gt;
&lt;br /&gt;
Be sure that Cookie Policy option is set to "compatibility" value, it will work in most cases. As for "Clear cookies each iteration?" checkbox I always check it and never had the situation when I was need it to be unchecked.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ciigdWrxwQ4/S328QdUpH1I/AAAAAAAAB98/X4vPSacUfNo/s1600-h/cookie_manager2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="301" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/S328QdUpH1I/AAAAAAAAB98/X4vPSacUfNo/s400/cookie_manager2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-4048057181133484236?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/mv5SnP5DqPo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/4048057181133484236/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/02/tip-7-how-to-add-cookies-support-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4048057181133484236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4048057181133484236?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/mv5SnP5DqPo/tip-7-how-to-add-cookies-support-to.html" title="Tip #7: How to add cookie support to your Test Plan" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ciigdWrxwQ4/S324rJ_wNzI/AAAAAAAAB90/rvRZ3-Kzq6c/s72-c/cookie_manager.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/02/tip-7-how-to-add-cookies-support-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8BR3w4fip7ImA9WxBWGU8.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-2505221055417590266</id><published>2010-02-12T00:54:00.000+02:00</published><updated>2010-02-12T00:54:16.236+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-12T00:54:16.236+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="command line parameters" /><category scheme="http://www.blogger.com/atom/ns#" term="properties" /><category scheme="http://www.blogger.com/atom/ns#" term="Test plan" /><category scheme="http://www.blogger.com/atom/ns#" term="variables" /><title>Tip #6: How to do the Test Plan more flexible using variables and properties</title><content type="html">JMeter's variables and properties can do your Test Plan very flexible and prevent you from frequent modifications of the Test Plan. Just add the most frequently used options as variables on the Test Plan page and specify their values using "__P" function as on the screenshot below.&lt;div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ciigdWrxwQ4/S3SI_VnWwnI/AAAAAAAAB9s/dhWiEZ3juI8/s1600-h/variables.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/S3SI_VnWwnI/AAAAAAAAB9s/dhWiEZ3juI8/s400/variables.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;As you can see Test Plan can be executed with default values and at the same time if you need to modify some options you can pass them to Test Plan &lt;a href="http://jmeter-tips.blogspot.com/2010/01/tip-4-using-jmeter-properties.html"&gt;through the command line&lt;/a&gt;&amp;nbsp;without the modification of the Test Plan.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-2505221055417590266?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/9GWal6HHEn0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/2505221055417590266/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/02/tip-6-how-to-do-test-plan-more-flexible.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/2505221055417590266?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/2505221055417590266?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/9GWal6HHEn0/tip-6-how-to-do-test-plan-more-flexible.html" title="Tip #6: How to do the Test Plan more flexible using variables and properties" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ciigdWrxwQ4/S3SI_VnWwnI/AAAAAAAAB9s/dhWiEZ3juI8/s72-c/variables.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/02/tip-6-how-to-do-test-plan-more-flexible.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEHSHg-fSp7ImA9WxBWEk4.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-6014485841965381787</id><published>2010-02-03T23:27:00.001+02:00</published><updated>2010-02-03T23:30:39.655+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-03T23:30:39.655+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="Scheduler" /><category scheme="http://www.blogger.com/atom/ns#" term="Test plan" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Action" /><category scheme="http://www.blogger.com/atom/ns#" term="duration" /><category scheme="http://www.blogger.com/atom/ns#" term="pause" /><title>Tip #5: How to run a test plan for a certain amount of time</title><content type="html">If you want to run your Test Plan for a certain amount of time instead of a certain amount of iterations you can do it in two ways:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;by specifiing testing duration on the Thread Group GUI (Scheduler checkbox must be checked). Note that you must specify the value of Startup delay option as zero otherwise you will need to specify Start Time option value before each test running. And of course you need to check Forever checkbox of Loop Count option. There is 10 minutes test example on the screenshot below.&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://2.bp.blogspot.com/_ciigdWrxwQ4/S2nh_3f7SsI/AAAAAAAAB8g/WBlRZPX83-Q/s1600-h/duration1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/S2nh_3f7SsI/AAAAAAAAB8g/WBlRZPX83-Q/s400/duration1.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;by creating extra Thread Group with two Test Action samplers. The first Test Action configured as pause, and the seconf one is configured to stop all treads. Look at the screenshots below for 10 minutes test example.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/S2nl6nMK9ZI/AAAAAAAAB8o/489VXTWK980/s1600-h/duration2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/S2nl6nMK9ZI/AAAAAAAAB8o/489VXTWK980/s400/duration2.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/S2nmaoKlmSI/AAAAAAAAB8w/va4iSS2nJXI/s1600-h/duration3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/S2nmaoKlmSI/AAAAAAAAB8w/va4iSS2nJXI/s400/duration3.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_ciigdWrxwQ4/S2nonEFbhTI/AAAAAAAAB9I/6ZZqy7cjMGM/s1600-h/duration4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/S2nonEFbhTI/AAAAAAAAB9I/6ZZqy7cjMGM/s400/duration4.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_ciigdWrxwQ4/S2noXM9ZsCI/AAAAAAAAB9A/aJgWegEAfVo/s1600-h/duration5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://1.bp.blogspot.com/_ciigdWrxwQ4/S2noXM9ZsCI/AAAAAAAAB9A/aJgWegEAfVo/s400/duration5.png" width="400" /&gt;&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-6014485841965381787?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/mApqm_jcbSY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/6014485841965381787/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/02/tip-5-how-to-run-test-plan-for-certain.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/6014485841965381787?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/6014485841965381787?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/mApqm_jcbSY/tip-5-how-to-run-test-plan-for-certain.html" title="Tip #5: How to run a test plan for a certain amount of time" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ciigdWrxwQ4/S2nh_3f7SsI/AAAAAAAAB8g/WBlRZPX83-Q/s72-c/duration1.png" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/02/tip-5-how-to-run-test-plan-for-certain.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQEQ3k7fyp7ImA9WxBXFk4.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-4907340100442913459</id><published>2010-01-28T00:11:00.000+02:00</published><updated>2010-01-28T00:11:42.707+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-28T00:11:42.707+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="command line parameters" /><category scheme="http://www.blogger.com/atom/ns#" term="properties" /><title>Tip #4: Using JMeter properties</title><content type="html">Sometimes I need to modify some parameters in the Test Plan and it requires me to start JMeter, open the Test Plan file and edit these parameters there. But it's better to use JMeter properties for this task. Look at the image below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ciigdWrxwQ4/S2CvZBAvqeI/AAAAAAAAB8Y/0u8Ftga5zQk/s1600-h/properties.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/S2CvZBAvqeI/AAAAAAAAB8Y/0u8Ftga5zQk/s320/properties.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
There are JMeter properties used as values of "Number of Threads (users)" and "Loop Count" options: ${__P(users)} and ${__P(count)}. Also we must add two parameters to JMeter command line:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;jmeter -t TestPlan.jmx -Jusers=10 -Jcount=50&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now you can specify necessary parameters on the fly.&amp;nbsp;I recommend you to use properties for the following options: number of users, loop count, host, port, results and data filenames, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-4907340100442913459?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/9EmvKmZYUUE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/4907340100442913459/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/01/tip-4-using-jmeter-properties.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4907340100442913459?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4907340100442913459?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/9EmvKmZYUUE/tip-4-using-jmeter-properties.html" title="Tip #4: Using JMeter properties" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ciigdWrxwQ4/S2CvZBAvqeI/AAAAAAAAB8Y/0u8Ftga5zQk/s72-c/properties.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/01/tip-4-using-jmeter-properties.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AFRH47fSp7ImA9WxBXEE8.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-2653616404284019095</id><published>2010-01-21T01:20:00.001+02:00</published><updated>2010-01-21T01:21:55.005+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-21T01:21:55.005+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="timer" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Action" /><category scheme="http://www.blogger.com/atom/ns#" term="Uniform Random Timer" /><category scheme="http://www.blogger.com/atom/ns#" term="pause" /><title>Tip #3: Pauses in test plan</title><content type="html">&lt;b&gt;&lt;span style="font-weight: normal;"&gt;For complete user simulation you need to add pause after each transaction. In most cases you will use only two types of pauses:&lt;/span&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;img align="right" alt="Add constant pause to test plan" border="0" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/S1eFYMKkUpI/AAAAAAAAB6s/YIWTewpxX_k/s320/pause1.png" /&gt;&lt;b&gt;Constant pause.&lt;/b&gt;&amp;nbsp;Just add Test Action controller after the Transaction controller. Specify the pause duration in ms and be sure that "Pause" item of "Action" option is checked.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_ciigdWrxwQ4/S1eLQjXStUI/AAAAAAAAB68/29AY_wCvM58/s1600-h/pause2.png" imageanchor="1" style="margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="Constant pause options" border="0" src="http://2.bp.blogspot.com/_ciigdWrxwQ4/S1eLQjXStUI/AAAAAAAAB68/29AY_wCvM58/s320/pause2.png" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;img align="right" alt="Add variable pause to test plan" border="0" src="http://3.bp.blogspot.com/_ciigdWrxwQ4/S1eIC2HKINI/AAAAAAAAB60/etBiKRSILXk/s320/pause3.png" /&gt;&lt;b&gt;Variable pause.&lt;/b&gt;&amp;nbsp;Add Test Action as described above but specify the pause duration as 0 (zero). Then add Uniform Random Timer as a child of Test Action and specify the minimum value and maximum offset value.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/S1eObqMkGBI/AAAAAAAAB7E/ObxvvxMUjCA/s1600-h/pause4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/S1eObqMkGBI/AAAAAAAAB7E/ObxvvxMUjCA/s320/pause4.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_ciigdWrxwQ4/S1eO9dZlQ9I/AAAAAAAAB7M/Yxili0mRZtM/s1600-h/pause5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/S1eO9dZlQ9I/AAAAAAAAB7M/Yxili0mRZtM/s320/pause5.png" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-2653616404284019095?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/fF_CNof9yH8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/2653616404284019095/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/01/tip-3-pauses-in-test-plan.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/2653616404284019095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/2653616404284019095?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/fF_CNof9yH8/tip-3-pauses-in-test-plan.html" title="Tip #3: Pauses in test plan" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ciigdWrxwQ4/S1eFYMKkUpI/AAAAAAAAB6s/YIWTewpxX_k/s72-c/pause1.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/01/tip-3-pauses-in-test-plan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHRHY-fip7ImA9WxBQFUk.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-4716390354307304352</id><published>2010-01-13T11:42:00.000+02:00</published><updated>2010-01-15T11:45:35.856+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-15T11:45:35.856+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="video" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Video: Using open source tools for performance testing</title><content type="html">Interesting video about performance testing at Google.&lt;br /&gt;
&lt;br /&gt;
&lt;embed allowfullscreen="true" allowscriptaccess="always" id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=-6891978643577501895&amp;amp;hl=en&amp;amp;fs=true" style="height: 326px; width: 400px;" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-4716390354307304352?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/Fph-K-MZUXQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/4716390354307304352/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/01/video-using-open-source-tools-for.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4716390354307304352?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/4716390354307304352?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/Fph-K-MZUXQ/video-using-open-source-tools-for.html" title="Video: Using open source tools for performance testing" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/01/video-using-open-source-tools-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4BQXg_fyp7ImA9WxBQE04.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-5589597801809532808</id><published>2010-01-06T23:50:00.000+02:00</published><updated>2010-01-12T23:15:50.647+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-12T23:15:50.647+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="Transaction controller" /><category scheme="http://www.blogger.com/atom/ns#" term="Test plan" /><title>Tip #2: Basic web test plan structure</title><content type="html">The best practice is to group logically related HTTP requests to transactions using Transaction controllers. As the result you will get not only response time values of HTTP requests but response time values of the whole transactions too.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="color: red;"&gt;Thread group&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;Transaction controller 1&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request 1&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request 2&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request N&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;Transaction controller 2&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request 1&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request 2&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request N&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;Transaction controller N&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request 1&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request 2&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTTP Request N&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-5589597801809532808?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/icb5qzYJQII" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/5589597801809532808/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2010/01/tip-2-basic-web-test-plan-structure.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/5589597801809532808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/5589597801809532808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/icb5qzYJQII/tip-2-basic-web-test-plan-structure.html" title="Tip #2: Basic web test plan structure" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2010/01/tip-2-basic-web-test-plan-structure.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8NQ30yeCp7ImA9WxBREks.&quot;"><id>tag:blogger.com,1999:blog-2286393505483348196.post-6086641513608960979</id><published>2009-12-31T14:34:00.000+02:00</published><updated>2009-12-31T14:34:52.390+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-31T14:34:52.390+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="recording proxy" /><category scheme="http://www.blogger.com/atom/ns#" term="JMeter" /><category scheme="http://www.blogger.com/atom/ns#" term="HTTPS" /><title>Tip #1: How to record HTTPS requests by JMeter's recording proxy</title><content type="html">If you ever tried to record HTTPS requests by the recording proxy of the lastest stable version of JMeter (2.3.4) you know that it's impossible. And HTTPS spoofing option can not help in the most cases.&lt;br /&gt;
&lt;br /&gt;
I investigated this problem and found interesting thing. There is already &lt;a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=47622"&gt;a bug 47622&lt;/a&gt; in JMeter's Bugzilla that already has RESOLVED FIXED status. Some guys added a patch&amp;nbsp;and fake SSL certificate&amp;nbsp;to JMeter so it allows to record HTTPS requests now. But you must use developer (nightly) build instead of stable release until this bugfix is added to next stable release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2286393505483348196-6086641513608960979?l=jmeter-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JmeterTips/~4/ZVyC83D7E6c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jmeter-tips.blogspot.com/feeds/6086641513608960979/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jmeter-tips.blogspot.com/2009/12/tip-1-how-to-record-https-requests-by.html#comment-form" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/6086641513608960979?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2286393505483348196/posts/default/6086641513608960979?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JmeterTips/~3/ZVyC83D7E6c/tip-1-how-to-record-https-requests-by.html" title="Tip #1: How to record HTTPS requests by JMeter's recording proxy" /><author><name>Victor</name><uri>http://www.blogger.com/profile/08772881122618557821</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/_ciigdWrxwQ4/Sg5itdl6g4I/AAAAAAAABe4/Ofb9TPflFvw/S220/ava.jpg" /></author><thr:total>11</thr:total><feedburner:origLink>http://jmeter-tips.blogspot.com/2009/12/tip-1-how-to-record-https-requests-by.html</feedburner:origLink></entry></feed>

