Hi,
I have built a small demo program to show how the function
_StringFromFile works.
This program demonstrates the usage of the variables in beanShell
assertion too.
This opportunity is useful if somebody will write info in log with the
current values of the variables
Suppose I need several users with various profiles.
I put the profile for each user in a single line of the csv-file.
The first attempt uses the line one.
The second attempt uses the line two.
The file pointer updated by each reference to a parameter ${usrP_X}.
Unfortunately I need the same profile for several subsequent calls.
This can be achieved if someone sets the checkbox Update Once per
Interaction User Parameters on the panel User parameters.
Unfortunately the file pointer is still incremented by each reference.
In second iteration Jmeter takes the line 3.
Regards,
Miklos
<jmeterTestPlan version="1.1" properties="1.7">
<hashTree>
<TestPlan>
<elementProp name="TestPlan.user_defined_variables"
elementType="org.apache.jmeter.config.Arguments">
<stringProp
name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
<collectionProp name="Arguments.arguments"/>
<stringProp name="TestElement.name">User Defined Variables</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</elementProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.control.gui.TestPlanGui</stringProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.testelement.TestPlan</stringProp>
<stringProp name="TestElement.name">test string from file and read
variables in Bean shell</stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestElement.enabled">true</boolProp>
<stringProp name="TestPlan.comments"></stringProp>
</TestPlan>
<hashTree>
<ThreadGroup>
<longProp name="ThreadGroup.start_time">1115368899000</longProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.threads.ThreadGroup</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<stringProp name="ThreadGroup.num_threads">1</stringProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.threads.gui.ThreadGroupGui</stringProp>
<elementProp name="ThreadGroup.main_controller"
elementType="org.apache.jmeter.control.LoopController">
<stringProp
name="TestElement.gui_class">org.apache.jmeter.control.gui.LoopControlPanel</stringProp>
<stringProp name="LoopController.loops">1</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.control.LoopController</stringProp>
<stringProp name="TestElement.name">Loop Controller</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<boolProp name="LoopController.continue_forever">false</boolProp>
</elementProp>
<stringProp name="TestElement.name">Demo</stringProp>
<longProp name="ThreadGroup.end_time">1115368899000</longProp>
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
</ThreadGroup>
<hashTree>
<org.apache.jmeter.config.Arguments>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
<collectionProp name="Arguments.arguments">
<elementProp name="dummy"
elementType="org.apache.jmeter.config.Argument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">${__split(${_StringFromFile(/home/miklos/projects/profiles.dat,,,)},usrP)}</stringProp>
<stringProp name="Argument.name">dummy</stringProp>
</elementProp>
<elementProp name="testVariable"
elementType="org.apache.jmeter.config.Argument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">0</stringProp>
<stringProp name="Argument.name">testVariable</stringProp>
</elementProp>
</collectionProp>
<stringProp name="TestElement.name">userProfile</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</org.apache.jmeter.config.Arguments>
<hashTree/>
<GenericController>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.control.gui.LogicControllerGui</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.control.GenericController</stringProp>
<stringProp name="TestElement.name">homepage (Apache)</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</GenericController>
<hashTree>
<HTTPSampler>
<stringProp name="HTTPSampler.path">/manual/</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.sampler.HTTPSampler</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<stringProp name="HTTPSampler.port">80</stringProp>
<elementProp name="HTTPsampler.Arguments"
elementType="org.apache.jmeter.config.Arguments">
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
<collectionProp name="Arguments.arguments"/>
<stringProp name="TestElement.name"></stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui</stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="TestElement.name">/manual/</stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain">localhost</stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree>
<HeaderManager>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.gui.HeaderPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.control.HeaderManager</stringProp>
<stringProp name="TestElement.name">Browser-derived
headers</stringProp>
<collectionProp name="HeaderManager.headers">
<elementProp name="Accept-Encoding"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">gzip,deflate</stringProp>
<stringProp name="Header.name">Accept-Encoding</stringProp>
</elementProp>
<elementProp name="Cache-Control"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">max-age=0</stringProp>
<stringProp name="Header.name">Cache-Control</stringProp>
</elementProp>
<elementProp name="If-None-Match"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">"22ec-1c41-aab1aa00;22ea-208-9ab862c0"</stringProp>
<stringProp name="Header.name">If-None-Match</stringProp>
</elementProp>
<elementProp name="Accept-Language"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">en-us,en;q=0.5</stringProp>
<stringProp name="Header.name">Accept-Language</stringProp>
</elementProp>
<elementProp name="Host"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">localhost</stringProp>
<stringProp name="Header.name">Host</stringProp>
</elementProp>
<elementProp name="Accept-Charset"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">ISO-8859-1,utf-8;q=0.7,*;q=0.7</stringProp>
<stringProp name="Header.name">Accept-Charset</stringProp>
</elementProp>
<elementProp name="User-Agent"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">Mozilla/5.0 (X11; U; Linux
i686; rv:1.7.3) Gecko/20040913 Firefox/0.10</stringProp>
<stringProp name="Header.name">User-Agent</stringProp>
</elementProp>
<elementProp name="If-Modified-Since"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">Fri, 07 May 2004 19:28:40
GMT</stringProp>
<stringProp name="Header.name">If-Modified-Since</stringProp>
</elementProp>
<elementProp name="Accept"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</stringProp>
<stringProp name="Header.name">Accept</stringProp>
</elementProp>
<elementProp name="Keep-Alive"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">300</stringProp>
<stringProp name="Header.name">Keep-Alive</stringProp>
</elementProp>
</collectionProp>
<boolProp name="TestElement.enabled">true</boolProp>
</HeaderManager>
<hashTree/>
<org.apache.jmeter.assertions.BeanShellAssertion>
<stringProp name="BeanShellAssertion.filename"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.assertions.gui.BeanShellAssertionGui</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.assertions.BeanShellAssertion</stringProp>
<stringProp name="BeanShellAssertion.parameters"></stringProp>
<stringProp name="TestElement.name">Test result after
home</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<stringProp name="BeanShellAssertion.query">// write error
message into the log
if (ResponseCode != null && ResponseCode.equals("200") ==
false )
{
// set error code and show status in log
Failure = true;
FailureMessage = "Response code was not a 200 resonse code it was
" + ResponseCode + ".";
log.warn("the return code is " + ResponseCode); // this goes in
log
}
// How to use user variables in BeanShell
print ("second Attempt: " + vars.get("testVariable"));
</stringProp>
</org.apache.jmeter.assertions.BeanShellAssertion>
<hashTree/>
</hashTree>
</hashTree>
<GenericController>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.control.gui.LogicControllerGui</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.control.GenericController</stringProp>
<stringProp name="TestElement.name">Simple Controller</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</GenericController>
<hashTree>
<UserParameters>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.modifiers.gui.UserParametersGui</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.modifiers.UserParameters</stringProp>
<stringProp name="TestElement.name">User Parameters</stringProp>
<collectionProp name="UserParameters.names">
<stringProp name="-1388324551">zugangsnummer</stringProp>
<stringProp name="pin">pin</stringProp>
<stringProp name="identifier">identifier</stringProp>
<stringProp name="traderPWD">traderPWD</stringProp>
</collectionProp>
<collectionProp name="UserParameters.thread_values">
<collectionProp name="-548659467">
<stringProp name="${usrP_1}">${usrP_1}</stringProp>
<stringProp name="${usrP_2}">${usrP_2}</stringProp>
<stringProp name="${usrP_3}">${usrP_3}</stringProp>
<stringProp name="${usrP_4}">${usrP_4}</stringProp>
</collectionProp>
</collectionProp>
<boolProp name="TestElement.enabled">true</boolProp>
<boolProp name="UserParameters.per_iteration">false</boolProp>
</UserParameters>
<hashTree/>
<IfController>
<stringProp name="IfController.condition">${testVariable} ==
0</stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.control.gui.IfControllerPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.control.IfController</stringProp>
<stringProp name="TestElement.name">may be</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</IfController>
<hashTree>
<HTTPSampler>
<stringProp name="HTTPSampler.path">/search</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.sampler.HTTPSampler</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<stringProp name="HTTPSampler.port">80</stringProp>
<elementProp name="HTTPsampler.Arguments"
elementType="org.apache.jmeter.config.Arguments">
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
<collectionProp name="Arguments.arguments">
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">${zugangsnummer}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_q</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">10</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">num</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">en</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">hl</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">ISO-8859-1</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">ie</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">Google Search</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">btnG</stringProp>
<boolProp name="HTTPArgument.always_encode">true</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">Apache 2.0</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_epq</stringProp>
<boolProp name="HTTPArgument.always_encode">true</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value"></stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_oq</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">"List-Post"</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_eq</stringProp>
<boolProp name="HTTPArgument.always_encode">true</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value"></stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">lr</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">i</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_ft</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value"></stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_filetype</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">all</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_qdr</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">any</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_occt</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">i</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_dt</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">httpd.apache.org</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_sitesearch</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">off</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">safe</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
<stringProp name="TestElement.name"></stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui</stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="TestElement.name">first attempt</stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain">www.google.com</stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree>
<HeaderManager>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.gui.HeaderPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.control.HeaderManager</stringProp>
<stringProp name="TestElement.name">Browser-derived
headers</stringProp>
<collectionProp name="HeaderManager.headers">
<elementProp name="Accept-Encoding"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">gzip,deflate</stringProp>
<stringProp name="Header.name">Accept-Encoding</stringProp>
</elementProp>
<elementProp name="Referer"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">http://localhost/manual/</stringProp>
<stringProp name="Header.name">Referer</stringProp>
</elementProp>
<elementProp name="Accept-Language"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">en-us,en;q=0.5</stringProp>
<stringProp name="Header.name">Accept-Language</stringProp>
</elementProp>
<elementProp name="Host"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">www.google.com</stringProp>
<stringProp name="Header.name">Host</stringProp>
</elementProp>
<elementProp name="Accept-Charset"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">ISO-8859-1,utf-8;q=0.7,*;q=0.7</stringProp>
<stringProp name="Header.name">Accept-Charset</stringProp>
</elementProp>
<elementProp name="User-Agent"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">Mozilla/5.0 (X11; U; Linux
i686; rv:1.7.3) Gecko/20040913 Firefox/0.10</stringProp>
<stringProp name="Header.name">User-Agent</stringProp>
</elementProp>
<elementProp name="Accept"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</stringProp>
<stringProp name="Header.name">Accept</stringProp>
</elementProp>
<elementProp name="Keep-Alive"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">300</stringProp>
<stringProp name="Header.name">Keep-Alive</stringProp>
</elementProp>
</collectionProp>
<boolProp name="TestElement.enabled">true</boolProp>
</HeaderManager>
<hashTree/>
<org.apache.jmeter.assertions.BeanShellAssertion>
<stringProp name="BeanShellAssertion.filename"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.assertions.gui.BeanShellAssertionGui</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.assertions.BeanShellAssertion</stringProp>
<stringProp name="BeanShellAssertion.parameters"></stringProp>
<stringProp name="TestElement.name">Test result after first
attempt</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<stringProp name="BeanShellAssertion.query">if ( ResponseCode
!= null && ResponseCode.equals("200") == false )
{
Failure=true ;
FailureMessage = "response code was not 200 reponse code it was " +
ResponseCode + "." ;
log.warn("the return code is " + ResponseCode);
}
print ( "Response " + ResponseCode); // OK
// How to use user variables in BeanShell
print ("first Attempt: " + vars.get("zugangsnummer"));
</stringProp>
</org.apache.jmeter.assertions.BeanShellAssertion>
<hashTree/>
</hashTree>
<HTTPSampler>
<stringProp name="HTTPSampler.path">/search</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.sampler.HTTPSampler</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<stringProp name="HTTPSampler.port">80</stringProp>
<elementProp name="HTTPsampler.Arguments"
elementType="org.apache.jmeter.config.Arguments">
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
<collectionProp name="Arguments.arguments">
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">${zugangsnummer}</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_q</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">10</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">num</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">en</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">hl</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">ISO-8859-1</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">ie</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">Google Search</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">btnG</stringProp>
<boolProp name="HTTPArgument.always_encode">true</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">Apache 2.0</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_epq</stringProp>
<boolProp name="HTTPArgument.always_encode">true</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value"></stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_oq</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">"List-Post"</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_eq</stringProp>
<boolProp name="HTTPArgument.always_encode">true</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value"></stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">lr</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">i</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_ft</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value"></stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_filetype</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">all</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_qdr</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">any</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_occt</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">i</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_dt</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp
name="Argument.value">httpd.apache.org</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">as_sitesearch</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
<elementProp name=""
elementType="org.apache.jmeter.protocol.http.util.HTTPArgument">
<stringProp name="Argument.metadata">=</stringProp>
<stringProp name="Argument.value">off</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">safe</stringProp>
<boolProp name="HTTPArgument.always_encode">false</boolProp>
</elementProp>
</collectionProp>
<stringProp name="TestElement.name"></stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
</elementProp>
<stringProp name="HTTPSampler.mimetype"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui</stringProp>
<stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
<stringProp name="TestElement.name">second attempt</stringProp>
<stringProp name="HTTPSampler.monitor">false</stringProp>
<stringProp name="HTTPSampler.domain">www.google.com</stringProp>
<stringProp name="HTTPSampler.FILE_NAME"></stringProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
</HTTPSampler>
<hashTree>
<HeaderManager>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.protocol.http.gui.HeaderPanel</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.protocol.http.control.HeaderManager</stringProp>
<stringProp name="TestElement.name">Browser-derived
headers</stringProp>
<collectionProp name="HeaderManager.headers">
<elementProp name="Accept-Encoding"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">gzip,deflate</stringProp>
<stringProp name="Header.name">Accept-Encoding</stringProp>
</elementProp>
<elementProp name="Referer"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">http://localhost/manual/</stringProp>
<stringProp name="Header.name">Referer</stringProp>
</elementProp>
<elementProp name="Accept-Language"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">en-us,en;q=0.5</stringProp>
<stringProp name="Header.name">Accept-Language</stringProp>
</elementProp>
<elementProp name="Host"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">www.google.com</stringProp>
<stringProp name="Header.name">Host</stringProp>
</elementProp>
<elementProp name="Accept-Charset"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">ISO-8859-1,utf-8;q=0.7,*;q=0.7</stringProp>
<stringProp name="Header.name">Accept-Charset</stringProp>
</elementProp>
<elementProp name="User-Agent"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">Mozilla/5.0 (X11; U; Linux
i686; rv:1.7.3) Gecko/20040913 Firefox/0.10</stringProp>
<stringProp name="Header.name">User-Agent</stringProp>
</elementProp>
<elementProp name="Accept"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp
name="Header.value">text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</stringProp>
<stringProp name="Header.name">Accept</stringProp>
</elementProp>
<elementProp name="Keep-Alive"
elementType="org.apache.jmeter.protocol.http.control.Header">
<stringProp name="Header.value">300</stringProp>
<stringProp name="Header.name">Keep-Alive</stringProp>
</elementProp>
</collectionProp>
<boolProp name="TestElement.enabled">true</boolProp>
</HeaderManager>
<hashTree/>
<org.apache.jmeter.assertions.BeanShellAssertion>
<stringProp name="BeanShellAssertion.filename"></stringProp>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.assertions.gui.BeanShellAssertionGui</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.assertions.BeanShellAssertion</stringProp>
<stringProp name="BeanShellAssertion.parameters"></stringProp>
<stringProp name="TestElement.name">Test result after second
attempt</stringProp>
<boolProp name="TestElement.enabled">true</boolProp>
<stringProp name="BeanShellAssertion.query">// write erro
message to log
if ( ResponseCode != null && ResponseCode.equals("200") ==
false )
{
Failure=true ;
FailureMessage = "response code was not 200 reponse code it was " +
ResponseCode + "." ;
log.warn("the return code is " + ResponseCode);
}
print ( "response " + ResponseCode); // OK
// How to use user variables in BeanShell
print ("second Attempt: " + vars.get("zugangsnummer"));
</stringProp>
</org.apache.jmeter.assertions.BeanShellAssertion>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
<ResultCollector>
<stringProp
name="TestElement.gui_class">org.apache.jmeter.visualizers.ViewResultsFullVisualizer</stringProp>
<stringProp
name="TestElement.test_class">org.apache.jmeter.reporters.ResultCollector</stringProp>
<stringProp name="TestElement.name">View Results Tree</stringProp>
<objProp>
<value class="org.apache.jmeter.samplers.SampleSaveConfiguration">
<time>true</time>
<latency>true</latency>
<timestamp>true</timestamp>
<success>true</success>
<label>true</label>
<code>true</code>
<message>true</message>
<threadName>true</threadName>
<dataType>true</dataType>
<encoding>false</encoding>
<assertions>true</assertions>
<subresults>true</subresults>
<responseData>false</responseData>
<samplerData>false</samplerData>
<xml>true</xml>
<fieldNames>false</fieldNames>
<responseHeaders>false</responseHeaders>
<requestHeaders>false</requestHeaders>
<responseDataOnError>false</responseDataOnError>
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
<assertionsResultsToSave>0</assertionsResultsToSave>
<delimiter>,</delimiter>
<printMilliseconds>true</printMilliseconds>
</value>
<name>saveConfig</name>
</objProp>
<boolProp name="TestElement.enabled">true</boolProp>
<stringProp name="filename"></stringProp>
<boolProp name="ResultCollector.error_logging">false</boolProp>
</ResultCollector>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
7800489002,780048,7800489002,780048,
7803954002,780395,7803954002,780395,
7802619002,780261,7802619002,780261,
7803435002,780343,7803435002,780343,
7804722002,780472,7804722002,780472,
7803930002,780393,7803930002,780393,
7803987002,780398,7803987002,780398,
7800069002,780006,7800069002,780006,
7803732002,780373,7803732002,780373,
7434207002,743420,7434207002,743420,
7803015002,780301,7803015002,780301,
7801422002,780142,7801422002,780142,
7804029002,780402,7804029002,780402,
7803483002,780348,7803483002,780348,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]