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(&quot;IP_ADDR&quot;, 
>> 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"/>
>>
>>

Reply via email to