Author: fschumacher
Date: Sat May 25 15:25:20 2019
New Revision: 1859990

URL: http://svn.apache.org/viewvc?rev=1859990&view=rev
Log:
Use a different way to calculate a working IP address for Bug52310

Many modern linux systems are configured to localhost for the first network 
adapter.
This will break the test plan for Bug52310. Now we are trying to get the first
IPv4 address that is not a loopback address.

Use groovy instead of beanshell to do the calculation.

Remove HC3.1 reference, as JMeter doesn't support this anymore. Use Java client 
instead,
even if it was not the one that had the bug in the first place.

Modified:
    jmeter/trunk/bin/testfiles/Bug52310.jmx

Modified: jmeter/trunk/bin/testfiles/Bug52310.jmx
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/Bug52310.jmx?rev=1859990&r1=1859989&r2=1859990&view=diff
==============================================================================
--- jmeter/trunk/bin/testfiles/Bug52310.jmx (original)
+++ jmeter/trunk/bin/testfiles/Bug52310.jmx Sat May 25 15:25:20 2019
@@ -1,18 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jmeterTestPlan version="1.2" properties="2.1">
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2-SNAPSHOT.20190525">
   <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>
+        <collectionProp name="Arguments.arguments"/>
       </elementProp>
       <stringProp name="TestPlan.user_define_classpath"></stringProp>
       <stringProp name=" TestPlan.user_define_classpath"></stringProp>
@@ -42,29 +36,33 @@
           </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>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></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>
+        <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" 
testname="ComputeIPAddr" enabled="true">
+          <stringProp name="cacheKey">true</stringProp>
+          <stringProp name="filename"></stringProp>
+          <stringProp name="parameters"></stringProp>
+          <stringProp name="script">hostAddress = 
Collections.list(NetworkInterface.networkInterfaces)
+        .collect({Collections.list(it.inetAddresses)})
+        .flatten()
+        .grep({it.address.size() == 4})[0].hostAddress
+
+vars.put(&quot;IP_ADDR&quot;, hostAddress)</stringProp>
+          <stringProp name="scriptLanguage">groovy</stringProp>
+        </JSR223Sampler>
         <hashTree/>
-        <HTTPSamplerProxy guiclass="HttpTestSampleGui" 
testclass="HTTPSamplerProxy" testname="HTTP-Request-HC31" enabled="true">
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" 
testclass="HTTPSamplerProxy" testname="HTTP-Request-Java" 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>
@@ -73,12 +71,13 @@
           <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">.*jmeter.apache.org.*</stringProp>
           <stringProp name="HTTPSampler.ipSource">${IP_ADDR}</stringProp>
+          <stringProp name="HTTPSampler.implementation">Java</stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
         </HTTPSamplerProxy>
         <hashTree/>
         <HTTPSamplerProxy guiclass="HttpTestSampleGui" 
testclass="HTTPSamplerProxy" testname="HTTP-Request-HC4" enabled="true">
@@ -87,8 +86,6 @@
           </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>
@@ -97,12 +94,13 @@
           <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">.*jmeter.apache.org.*</stringProp>
           <stringProp name="HTTPSampler.ipSource">${IP_ADDR}</stringProp>
+          <stringProp 
name="HTTPSampler.implementation">HttpClient4</stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
         </HTTPSamplerProxy>
         <hashTree/>
         <GaussianRandomTimer guiclass="GaussianRandomTimerGui" 
testclass="GaussianRandomTimer" testname="GRT" enabled="true">


Reply via email to