On 10 December 2011 19:23, sebb <[email protected]> wrote: > 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.
Oops, wrong! - it does process embedded resources. However, it won't help, because the source IP address only applies to real Http samples. >> 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"/> >> >>
