On 10 December 2011 19:09, <[email protected]> wrote: > Author: pmouawad > Date: Sat Dec 10 19:09:52 2011 > New Revision: 1212846 > > URL: http://svn.apache.org/viewvc?rev=1212846&view=rev > Log: > Bug 52310 - variable in IPSource failed HTTP request if "Concurrent Pool > Size" is enabled > Add Test case
Unfortunately, this test uses an external web-site (jmeter.apache.org), so will fail if run off-line. It will also probably fail when the website is updated... Ideally we want tests to run regardless of network connectivity (and external influences). I had hoped to use the file: protocol to implement this test, but at present the file: protocol does not scan for embedded resources. > Added: > jmeter/trunk/bin/testfiles/Bug52310.csv > jmeter/trunk/bin/testfiles/Bug52310.jmx > jmeter/trunk/bin/testfiles/Bug52310.xml (with props) > Modified: > jmeter/trunk/build.xml > > Added: jmeter/trunk/bin/testfiles/Bug52310.csv > URL: > http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/Bug52310.csv?rev=1212846&view=auto > ============================================================================== > --- jmeter/trunk/bin/testfiles/Bug52310.csv (added) > +++ jmeter/trunk/bin/testfiles/Bug52310.csv Sat Dec 10 19:09:52 2011 > @@ -0,0 +1,3 @@ > +ComputeIPAddr,200,OK,TG2 1-1,text,true > +HTTP-Request-HC31,200,OK,TG2 1-1,text,true > +HTTP-Request-HC4,200,OK,TG2 1-1,text,true > > Added: jmeter/trunk/bin/testfiles/Bug52310.jmx > URL: > http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/Bug52310.jmx?rev=1212846&view=auto > ============================================================================== > --- jmeter/trunk/bin/testfiles/Bug52310.jmx (added) > +++ jmeter/trunk/bin/testfiles/Bug52310.jmx Sat Dec 10 19:09:52 2011 > @@ -0,0 +1,178 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<jmeterTestPlan version="1.2" properties="2.1"> > + <hashTree> > + <TestPlan guiclass="TestPlanGui" testclass="TestPlan" > testname="LoadTestsFront" enabled="true"> > + <stringProp name="TestPlan.comments"></stringProp> > + <boolProp name="TestPlan.functional_mode">false</boolProp> > + <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> > + <elementProp name="TestPlan.user_defined_variables" > elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" > testname="Variables pré-définies" enabled="true"> > + <collectionProp name="Arguments.arguments"> > + <elementProp name="" elementType="Argument"> > + <stringProp name="Argument.name"></stringProp> > + <stringProp name="Argument.value"></stringProp> > + <stringProp name="Argument.metadata">=</stringProp> > + </elementProp> > + </collectionProp> > + </elementProp> > + <stringProp name="TestPlan.user_define_classpath"></stringProp> > + <stringProp name=" TestPlan.user_define_classpath"></stringProp> > + <elementProp name=" TestPlan.user_defined_variables" > elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" > testname="User Defined Variables" enabled="true"> > + <collectionProp name="Arguments.arguments"/> > + </elementProp> > + </TestPlan> > + <hashTree> > + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" > testname="TG2" enabled="true"> > + <boolProp name="ThreadGroup.scheduler">false</boolProp> > + <stringProp name="ThreadGroup.num_threads">1</stringProp> > + <stringProp name="ThreadGroup.duration"></stringProp> > + <stringProp name="ThreadGroup.delay"></stringProp> > + <longProp name="ThreadGroup.start_time">1187292555000</longProp> > + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> > + <stringProp name="ThreadGroup.ramp_time">1</stringProp> > + <elementProp name="ThreadGroup.main_controller" > elementType="LoopController" guiclass="LoopControlPanel" > testclass="LoopController" testname="Loop Controller" enabled="true"> > + <boolProp name="LoopController.continue_forever">false</boolProp> > + <stringProp name="LoopController.loops">1</stringProp> > + </elementProp> > + <longProp name="ThreadGroup.end_time">1187292555000</longProp> > + </ThreadGroup> > + <hashTree> > + <ConfigTestElement guiclass="HttpDefaultsGui" > testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> > + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" > guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined > Variables" enabled="true"> > + <collectionProp name="Arguments.arguments"/> > + </elementProp> > + <stringProp > name="HTTPSampler.domain">jmeter.apache.org</stringProp> > + <stringProp name="HTTPSampler.port"></stringProp> > + <stringProp name="HTTPSampler.connect_timeout"></stringProp> > + <stringProp name="HTTPSampler.response_timeout"></stringProp> > + <stringProp name="HTTPSampler.protocol"></stringProp> > + <stringProp name="HTTPSampler.contentEncoding"></stringProp> > + <stringProp name="HTTPSampler.path"></stringProp> > + <stringProp name="HTTPSampler.concurrentPool">4</stringProp> > + </ConfigTestElement> > + <hashTree/> > + <BeanShellSampler guiclass="BeanShellSamplerGui" > testclass="BeanShellSampler" testname="ComputeIPAddr" enabled="true"> > + <stringProp > name="BeanShellSampler.query">vars.putObject("IP_ADDR", > InetAddress.getLocalHost().getHostAddress());</stringProp> > + <stringProp name="BeanShellSampler.filename"></stringProp> > + <stringProp name="BeanShellSampler.parameters"></stringProp> > + <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> > + </BeanShellSampler> > + <hashTree/> > + <HTTPSamplerProxy guiclass="HttpTestSampleGui" > testclass="HTTPSamplerProxy" testname="HTTP-Request-HC31" enabled="true"> > + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" > guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Variables > pré-définies" enabled="true"> > + <collectionProp name="Arguments.arguments"/> > + </elementProp> > + <stringProp name="HTTPSampler.domain"></stringProp> > + <stringProp name="HTTPSampler.port"></stringProp> > + <stringProp name="HTTPSampler.connect_timeout"></stringProp> > + <stringProp name="HTTPSampler.response_timeout"></stringProp> > + <stringProp name="HTTPSampler.protocol"></stringProp> > + <stringProp name="HTTPSampler.contentEncoding"></stringProp> > + <stringProp name="HTTPSampler.path"></stringProp> > + <stringProp name="HTTPSampler.method">GET</stringProp> > + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> > + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> > + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> > + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> > + <stringProp > name="HTTPSampler.implementation">HttpClient3.1</stringProp> > + <boolProp name="HTTPSampler.image_parser">true</boolProp> > + <boolProp name="HTTPSampler.concurrentDwn">true</boolProp> > + <boolProp name="HTTPSampler.monitor">false</boolProp> > + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> > + <stringProp name="HTTPSampler.ipSource">${IP_ADDR}</stringProp> > + </HTTPSamplerProxy> > + <hashTree/> > + <HTTPSamplerProxy guiclass="HttpTestSampleGui" > testclass="HTTPSamplerProxy" testname="HTTP-Request-HC4" enabled="true"> > + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" > guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Variables > pré-définies" enabled="true"> > + <collectionProp name="Arguments.arguments"/> > + </elementProp> > + <stringProp name="HTTPSampler.domain"></stringProp> > + <stringProp name="HTTPSampler.port"></stringProp> > + <stringProp name="HTTPSampler.connect_timeout"></stringProp> > + <stringProp name="HTTPSampler.response_timeout"></stringProp> > + <stringProp name="HTTPSampler.protocol"></stringProp> > + <stringProp name="HTTPSampler.contentEncoding"></stringProp> > + <stringProp name="HTTPSampler.path"></stringProp> > + <stringProp name="HTTPSampler.method">GET</stringProp> > + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> > + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> > + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> > + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> > + <stringProp > name="HTTPSampler.implementation">HttpClient4</stringProp> > + <boolProp name="HTTPSampler.image_parser">true</boolProp> > + <boolProp name="HTTPSampler.concurrentDwn">true</boolProp> > + <boolProp name="HTTPSampler.monitor">false</boolProp> > + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> > + <stringProp name="HTTPSampler.ipSource">${IP_ADDR}</stringProp> > + </HTTPSamplerProxy> > + <hashTree/> > + <GaussianRandomTimer guiclass="GaussianRandomTimerGui" > testclass="GaussianRandomTimer" testname="GRT" enabled="true"> > + <stringProp name="ConstantTimer.delay">100</stringProp> > + <stringProp name="RandomTimer.range">50</stringProp> > + </GaussianRandomTimer> > + <hashTree/> > + <ResultCollector guiclass="ViewResultsFullVisualizer" > testclass="ResultCollector" testname="View Results Tree" enabled="true"> > + <boolProp name="ResultCollector.error_logging">false</boolProp> > + <objProp> > + <name>saveConfig</name> > + <value class="SampleSaveConfiguration"> > + <time>false</time> > + <latency>false</latency> > + <timestamp>false</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>false</xml> > + <fieldNames>false</fieldNames> > + <responseHeaders>false</responseHeaders> > + <requestHeaders>false</requestHeaders> > + <responseDataOnError>false</responseDataOnError> > + > <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> > + <assertionsResultsToSave>0</assertionsResultsToSave> > + </value> > + </objProp> > + <stringProp name="filename">Bug52310.csv</stringProp> > + </ResultCollector> > + <hashTree/> > + <ResultCollector guiclass="SimpleDataWriter" > testclass="ResultCollector" testname="Simple Data Writer" enabled="true"> > + <boolProp name="ResultCollector.error_logging">false</boolProp> > + <objProp> > + <name>saveConfig</name> > + <value class="SampleSaveConfiguration"> > + <time>false</time> > + <latency>false</latency> > + <timestamp>false</timestamp> > + <success>true</success> > + <label>true</label> > + <code>true</code> > + <message>true</message> > + <threadName>false</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> > + </value> > + </objProp> > + <stringProp name="filename">Bug52310.xml</stringProp> > + </ResultCollector> > + <hashTree/> > + </hashTree> > + </hashTree> > + </hashTree> > +</jmeterTestPlan> > > Added: jmeter/trunk/bin/testfiles/Bug52310.xml > URL: > http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/Bug52310.xml?rev=1212846&view=auto > ============================================================================== > --- jmeter/trunk/bin/testfiles/Bug52310.xml (added) > +++ jmeter/trunk/bin/testfiles/Bug52310.xml Sat Dec 10 19:09:52 2011 > @@ -0,0 +1,25 @@ > +<?xml version="1.0" encoding="UTF-8"?> > +<testResults version="1.2"> > +<sample s="true" lb="ComputeIPAddr" rc="200" rm="OK" dt="text"/> > +<httpSample s="true" lb="HTTP-Request-HC31" rc="200" rm="OK" dt="text"> > + <httpSample s="true" lb="http://jmeter.apache.org/" rc="200" rm="OK" > dt="text"/> > + <httpSample s="true" lb="http://jmeter.apache.org/css/style.css" rc="200" > rm="OK" dt="text"/> > + <httpSample s="true" lb="http://www.apache.org/ads/halfbanner.html" > rc="200" rm="OK" dt="text"> > + <httpSample s="true" lb="http://www.apache.org/ads/halfbanner.html" > rc="200" rm="OK" dt="text"/> > + <httpSample s="true" > lb="http://www.apache.org/ads/ApacheCon/2011-na-234x60.png" rc="200" rm="OK" > dt="bin"/> > + </httpSample> > + <httpSample s="true" lb="http://jmeter.apache.org/images/asf-logo.gif" > rc="200" rm="OK" dt="bin"/> > + <httpSample s="true" lb="http://jmeter.apache.org/images/logo.jpg" > rc="200" rm="OK" dt="bin"/> > +</httpSample> > +<httpSample s="true" lb="HTTP-Request-HC4" rc="200" rm="OK" dt="text"> > + <httpSample s="true" lb="http://jmeter.apache.org/" rc="200" rm="OK" > dt="text"/> > + <httpSample s="true" lb="http://jmeter.apache.org/css/style.css" rc="200" > rm="OK" dt="text"/> > + <httpSample s="true" lb="http://www.apache.org/ads/halfbanner.html" > rc="200" rm="OK" dt="text"> > + <httpSample s="true" lb="http://www.apache.org/ads/halfbanner.html" > rc="200" rm="OK" dt="text"/> > + <httpSample s="true" > lb="http://www.apache.org/ads/ApacheCon/2011-na-234x60.png" rc="200" rm="OK" > dt="bin"/> > + </httpSample> > + <httpSample s="true" lb="http://jmeter.apache.org/images/asf-logo.gif" > rc="200" rm="OK" dt="bin"/> > + <httpSample s="true" lb="http://jmeter.apache.org/images/logo.jpg" > rc="200" rm="OK" dt="bin"/> > +</httpSample> > + > +</testResults> > > Propchange: jmeter/trunk/bin/testfiles/Bug52310.xml > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > Modified: jmeter/trunk/build.xml > URL: > http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1212846&r1=1212845&r2=1212846&view=diff > ============================================================================== > --- jmeter/trunk/build.xml (original) > +++ jmeter/trunk/build.xml Sat Dec 10 19:09:52 2011 > @@ -1959,6 +1959,10 @@ run JMeter unless all the JMeter jars ar > <antcall target="batchtest"> > <param name="batchtest.name" value="HTMLParserTestFile_2"/> > </antcall> > + <antcall target="batchtest"> > + <param name="batchtest.name" value="Bug52310"/> > + </antcall> > + > <!-- TODO fix bug so test passes > <antcall target="batchtest"> > <param name="batchtest.name" value="Bug50898"/> > >
