Closed AntonioSun closed 2 years ago
Hi, yes this is doable but might take some time.
Fixed with #90
Thanks for the fixing.
However, I noticed that the order of its --jmx-out
outputs is different than the JMeter standard scripts.
As the consequences, if I do a tiny change in JMeter and save from it, the change will appear to be huge.
For e.g., here are the changes even I don't do any change and save:
--- /tmp/example.jmx 2022-07-18 12:53:21.129726400 -0400
+++ example.jmx 2022-07-18 13:12:51.967006200 -0400
@@ -32,12 +32,13 @@
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
<stringProp name="HTTPSampler.domain">www.example.com</stringProp>
<stringProp name="HTTPSampler.port">443</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <stringProp name="HTTPSampler.path"></stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
+ <stringProp name="HTTPSampler.path"></stringProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
</ConfigTestElement>
@@ -48,10 +49,9 @@
<stringProp name="ThreadGroup.ramp_time">${c_lt_ramp}</stringProp>
- <boolProp name="ThreadGroup.delayedStart">false</boolProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
- <intProp name="ThreadGroup.duration">0</intProp>
- <intProp name="ThreadGroup.delay">0</intProp>
+ <stringProp name="ThreadGroup.duration">0</stringProp>
+ <stringProp name="ThreadGroup.delay">0</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
- <intProp name="LoopController.loops">1</intProp>
+ <stringProp name="LoopController.loops">1</stringProp>
</elementProp>
@@ -60,14 +60,18 @@
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET /" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.domain">www.example.com</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <stringProp name="HTTPSampler.path"></stringProp>
+ <stringProp name="HTTPSampler.port"></stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <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.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
@@ -75,14 +79,18 @@
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Custom Name 1" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.domain">localhost</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <stringProp name="HTTPSampler.path">/</stringProp>
+ <stringProp name="HTTPSampler.port"></stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <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.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
@@ -90,14 +98,18 @@
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Custom Name 2" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
- <stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <stringProp name="HTTPSampler.path">/</stringProp>
+ <stringProp name="HTTPSampler.port"></stringProp>
+ <stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <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.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
@@ -105,3 +117,3 @@
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="T0r_search" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
@@ -139,11 +151,15 @@
</elementProp>
- <stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.domain"></stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <stringProp name="HTTPSampler.path">/search</stringProp>
+ <stringProp name="HTTPSampler.port"></stringProp>
+ <stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <stringProp name="HTTPSampler.path">/search</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.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
This is a nice-to-have, not need immediate fix, but it'll be nice if we have it in future.
As per JMeter Best Practices of always using the latest version of JMeter so consider upgrading the
--jmx-out
output to JMeter 5.5 please.the
--jmx-out
output I'm getting now is:<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.3">
and will have many minor changes if saved again using JMeter 5.5.
Please consider. thx