You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Philippe Mouawad <ph...@gmail.com> on 2013/08/16 16:18:35 UTC

Re: svn commit: r1514714 [1/2] - in /jmeter/trunk: bin/testfiles/ src/components/org/apache/jmeter/timers/ test/src/org/apache/jmeter/save/ test/src/org/apache/jmeter/timers/ xdocs/ xdocs/usermanual/

Hello sebb,
with this modification, how will you guarantee upward compatibility of Test
Plan ?

Is there some upgrade procedure or will it be an incompatible change ?

Thanks
Regards
Philippe

On Friday, August 16, 2013, wrote:

> Author: sebb
> Date: Fri Aug 16 13:59:19 2013
> New Revision: 1514714
>
> URL: http://svn.apache.org/r1514714
> Log:
> Constant Throughput Timer bug with localization
> Bugzilla Id: 53679
>
> Added:
>     jmeter/trunk/bin/testfiles/GenTest27_original.jmx   (with props)
> Modified:
>     jmeter/trunk/bin/testfiles/GenTest210.jmx
>     jmeter/trunk/bin/testfiles/GenTest27.jmx
>     jmeter/trunk/bin/testfiles/GuiTest231.jmx
>
> jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java
>
> jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimerBeanInfo.java
>     jmeter/trunk/test/src/org/apache/jmeter/save/TestSaveService.java
>     jmeter/trunk/test/src/org/apache/jmeter/timers/PackageTest.java
>     jmeter/trunk/xdocs/changes.xml
>     jmeter/trunk/xdocs/usermanual/component_reference.xml
>
> Modified: jmeter/trunk/bin/testfiles/GenTest210.jmx
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest210.jmx?rev=1514714&r1=1514713&r2=1514714&view=diff
>
> ==============================================================================
> --- jmeter/trunk/bin/testfiles/GenTest210.jmx (original)
> +++ jmeter/trunk/bin/testfiles/GenTest210.jmx Fri Aug 16 13:59:19 2013
> @@ -1,5 +1,5 @@
>  <?xml version="1.0" encoding="UTF-8"?>
> -<jmeterTestPlan version="1.2" properties="2.5"
> jmeter="2.10-SNAPSHOT.20130730">
> +<jmeterTestPlan version="1.2" properties="2.5"
> jmeter="2.10-SNAPSHOT.20130816">
>    <hashTree>
>      <TestPlan guiclass="TestPlanGui" testclass="TestPlan"
> testname="GuiTest 2.10" enabled="true">
>        <stringProp name="TestPlan.comments">Test Plan including all test
> elements in JMeter 2.19</stringProp>
> @@ -343,7 +343,7 @@
>            </BSFTimer>
>            <hashTree/>
>            <ConstantThroughputTimer guiclass="TestBeanGUI"
> testclass="ConstantThroughputTimer" testname="Constant Throughput Timer"
> enabled="true">
> -            <stringProp name="calcMode">this thread only</stringProp>
> +            <intProp name="calcMode">0</intProp>
>              <doubleProp>
>                <name>throughput</name>
>                <value>0.0</value>
>
> Modified: jmeter/trunk/bin/testfiles/GenTest27.jmx
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest27.jmx?rev=1514714&r1=1514713&r2=1514714&view=diff
>
> ==============================================================================
> --- jmeter/trunk/bin/testfiles/GenTest27.jmx (original)
> +++ jmeter/trunk/bin/testfiles/GenTest27.jmx Fri Aug 16 13:59:19 2013
> @@ -324,7 +324,7 @@
>            </BSFTimer>
>            <hashTree/>
>            <ConstantThroughputTimer guiclass="TestBeanGUI"
> testclass="ConstantThroughputTimer" testname="Constant Throughput Timer"
> enabled="true">
> -            <stringProp name="calcMode">this thread only</stringProp>
> +            <intProp name="calcMode">0</intProp>
>              <doubleProp>
>                <name>throughput</name>
>                <value>0.0</value>
>
> Added: jmeter/trunk/bin/testfiles/GenTest27_original.jmx
> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest27_original.jmx?rev=1514714&view=auto
>
> ==============================================================================
> --- jmeter/trunk/bin/testfiles/GenTest27_original.jmx (added)
> +++ jmeter/trunk/bin/testfiles/GenTest27_original.jmx Fri Aug 16 13:59:19
> 2013
> @@ -0,0 +1,1415 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<jmeterTestPlan version="1.2" properties="2.3">
> +  <hashTree>
> +    <TestPlan guiclass="TestPlanGui" testclass="TestPlan"
> testname="GuiTest 2.7" enabled="true">
> +      <stringProp name="TestPlan.comments">Test Plan including all test
> elements in JMeter 2.7</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="User Defined Variables" enabled="true">
> +        <collectionProp name="Arguments.arguments"/>
> +      </elementProp>
> +      <stringProp name="TestPlan.user_define_classpath"></stringProp>
> +    </TestPlan>
> +    <hashTree>
> +      <SetupThreadGroup guiclass="SetupThreadGroupGui"
> testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
> +        <stringProp
> name="ThreadGroup.on_sample_error">continue</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>
> +        <stringProp name="ThreadGroup.num_threads">1</stringProp>
> +        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
> +        <longProp name="ThreadGroup.start_time">1337352661000</longProp>
> +        <longProp name="ThreadGroup.end_time">1337352661000</longProp>
> +        <boolProp name="ThreadGroup.scheduler">false</boolProp>
> +        <stringProp name="ThreadGroup.duration"></stringProp>
> +        <stringProp name="ThreadGroup.delay"></stringProp>
> +      </SetupThreadGroup>
> +      <hashTree/>
> +      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
> testname="Thread Group" enabled="true">
> +        <stringProp
> name="ThreadGroup.on_sample_error">continue</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>
> +        <stringProp name="ThreadGroup.num_threads">1</stringProp>
> +        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
> +        <longProp name="ThreadGroup.start_time">1337300621000</longProp>
> +        <longProp name="ThreadGroup.end_time">1337300621000</longProp>
> +        <boolProp name="ThreadGroup.scheduler">false</boolProp>
> +        <stringProp name="ThreadGroup.duration"></stringProp>
> +        <stringProp name="ThreadGroup.delay"></stringProp>
> +      </ThreadGroup>
> +      <hashTree>
> +        <GenericController guiclass="LogicControllerGui"
> testclass="GenericController" testname="Logic Controllers" enabled="true"/>
> +        <hashTree>
> +          <ForeachController guiclass="ForeachControlPanel"
> testclass="ForeachController" testname="ForEach Controller" enabled="true">
> +            <stringProp name="ForeachController.inputVal"></stringProp>
> +            <stringProp name="ForeachController.returnVal"></stringProp>
> +            <boolProp
> name="ForeachController.useSeparator">true</boolProp>
> +          </ForeachController>
> +          <hashTree/>
> +          <IfController guiclass="IfControllerPanel"
> testclass="IfController" testname="If Controller" enabled="true">
> +            <stringProp name="IfController.condition"></stringProp>
> +            <boolProp name="IfController.evaluateAll">false</boolProp>
> +          </IfController>
> +          <hashTree/>
> +          <IncludeController guiclass="IncludeControllerGui"
> testclass="IncludeController" testname="Include Controller" enabled="true">
> +            <stringProp name="IncludeController.includepath"></stringProp>
> +          </IncludeController>
> +          <hashTree/>
> +          <InterleaveControl guiclass="InterleaveControlGui"
> testclass="InterleaveControl" testname="Interleave Controller"
> enabled="true">
> +            <intProp name="InterleaveControl.style">1</intProp>
> +          </InterleaveControl>
> +          <hashTree/>
> +          <LoopController guiclass="LoopControlPanel"
> testclass="LoopController" testname="Loop Controller" enabled="true">
> +            <boolProp
> name="LoopController.continue_forever">true</boolProp>
> +            <stringProp name="LoopController.loops">1</stringProp>
> +          </LoopController>
> +          <hashTree/>
> +          <ModuleController guiclass="ModuleControllerGui"
> testclass="ModuleController" testname="Module Controller" enabled="true"/>
> +          <hashTree/>
> +          <OnceOnlyController guiclass="OnceOnlyControllerGui"
> testclass="OnceOnlyController" testname="Once Only Controller"
> enabled="true"/>
> +          <hashTree/>
> +          <RandomController guiclass="RandomControlGui"
> testclass="RandomController" testname="Random Controller" enabled="true">
> +            <intProp name="InterleaveControl.style">1</intProp>
> +          </RandomController>
> +          <hashTree/>
> +          <RandomOrderController guiclass="RandomOrderControllerGui"
> testclass="RandomOrderController" testname="Random Order Controller"
> enabled="true"/>
> +          <hashTree/>
> +          <RecordingController guiclass="RecordController"
> testclass="RecordingController" testname="Recording Controller"
> enabled="true"/>
> +          <hashTree/>
> +          <RunTime guiclass="RunTimeGui" testclass="RunTime"
> testname="Runtime Controller" enabled="true">
> +            <stringProp name="RunTime.seconds">1</stringProp>
> +          </RunTime>
> +          <hashTree/>
> +          <GenericController guiclass="LogicControllerGui"
> testclass="GenericController" testname="Simple Controller" enabled="true"/>
> +          <hashTree/>
> +          <SwitchController guiclass="SwitchControllerGui"
> testclass="SwitchController" testname="Switch Controller" enabled="true">
> +            <stringProp name="SwitchController.value"></stringProp>
> +          </SwitchController>
> +          <hashTree/>
> +          <ThroughputController guiclass="ThroughputControllerGui"
> testclass="ThroughputController" testname="Throughput Controller"
> enabled="true">
> +            <intProp name="ThroughputController.style">0</intProp>
> +            <boolProp
> name="ThroughputController.perThread">true</boolProp>
> +            <intProp name="ThroughputController.maxThroughput">1</intProp>
> +            <FloatProperty>
> +              <name>ThroughputController.percentThroughput</name>
> +              <value>100.0</value>
> +              <savedValue>0.0</savedValue>
> +            </FloatProperty>
> +          </ThroughputController>
> +          <hashTree/>
> +          <TransactionController guiclass="TransactionControllerGui"
> testclass="TransactionController" testname="Transaction Controller"
> enabled="true">
> +            <boolProp name="TransactionController.parent">false</boolProp>
> +          </TransactionController>
> +          <hashTree/>
> +          <WhileController guiclass="WhileControllerGui"
> testclass="WhileController" testname="While Controller" enabled="true">
> +            <stringProp name="WhileController.condition"></stringProp>
> +          </WhileController>
> +          <hashTree/>
> +        </hashTree>
> +        <GenericController guiclass="LogicControllerGui"
> testclass="GenericController" testname="Config Elements" enabled="true"/>
> +        <hashTree>
> +          <CounterConfig guiclass="CounterConfigGui"
> testclass="CounterConfig" testname="Counter" enabled="true">
> +            <stringProp name="CounterConfig.start"></stringProp>
> +            <stringProp name="CounterConfig.end"></stringProp>
> +            <stringProp name="CounterConfig.incr"></stringProp>
> +            <stringProp name="CounterConfig.name"></stringProp>
> +            <stringProp name="CounterConfig.format"></stringProp>
> +            <boolProp name="CounterConfig.per_user">false</boolProp>
> +          </CounterConfig>
> +          <hashTree/>
> +          <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet"
> testname=



-- 
Cordialement.
Philippe Mouawad.

Re: svn commit: r1514714 [1/2] - in /jmeter/trunk: bin/testfiles/ src/components/org/apache/jmeter/timers/ test/src/org/apache/jmeter/save/ test/src/org/apache/jmeter/timers/ xdocs/ xdocs/usermanual/

Posted by sebb <se...@gmail.com>.
On 16 August 2013 15:18, Philippe Mouawad <ph...@gmail.com> wrote:
> Hello sebb,
> with this modification, how will you guarantee upward compatibility of Test
> Plan ?

The setProperty() method converts the calcMode Strings.

> Is there some upgrade procedure or will it be an incompatible change ?

Automatic, provided that the current language agrees with the test plan.
If not, warning messages are logged.

Try it and see.

> Thanks
> Regards
> Philippe
>
> On Friday, August 16, 2013, wrote:
>
>> Author: sebb
>> Date: Fri Aug 16 13:59:19 2013
>> New Revision: 1514714
>>
>> URL: http://svn.apache.org/r1514714
>> Log:
>> Constant Throughput Timer bug with localization
>> Bugzilla Id: 53679
>>
>> Added:
>>     jmeter/trunk/bin/testfiles/GenTest27_original.jmx   (with props)
>> Modified:
>>     jmeter/trunk/bin/testfiles/GenTest210.jmx
>>     jmeter/trunk/bin/testfiles/GenTest27.jmx
>>     jmeter/trunk/bin/testfiles/GuiTest231.jmx
>>
>> jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java
>>
>> jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimerBeanInfo.java
>>     jmeter/trunk/test/src/org/apache/jmeter/save/TestSaveService.java
>>     jmeter/trunk/test/src/org/apache/jmeter/timers/PackageTest.java
>>     jmeter/trunk/xdocs/changes.xml
>>     jmeter/trunk/xdocs/usermanual/component_reference.xml
>>
>> Modified: jmeter/trunk/bin/testfiles/GenTest210.jmx
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest210.jmx?rev=1514714&r1=1514713&r2=1514714&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GenTest210.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/GenTest210.jmx Fri Aug 16 13:59:19 2013
>> @@ -1,5 +1,5 @@
>>  <?xml version="1.0" encoding="UTF-8"?>
>> -<jmeterTestPlan version="1.2" properties="2.5"
>> jmeter="2.10-SNAPSHOT.20130730">
>> +<jmeterTestPlan version="1.2" properties="2.5"
>> jmeter="2.10-SNAPSHOT.20130816">
>>    <hashTree>
>>      <TestPlan guiclass="TestPlanGui" testclass="TestPlan"
>> testname="GuiTest 2.10" enabled="true">
>>        <stringProp name="TestPlan.comments">Test Plan including all test
>> elements in JMeter 2.19</stringProp>
>> @@ -343,7 +343,7 @@
>>            </BSFTimer>
>>            <hashTree/>
>>            <ConstantThroughputTimer guiclass="TestBeanGUI"
>> testclass="ConstantThroughputTimer" testname="Constant Throughput Timer"
>> enabled="true">
>> -            <stringProp name="calcMode">this thread only</stringProp>
>> +            <intProp name="calcMode">0</intProp>
>>              <doubleProp>
>>                <name>throughput</name>
>>                <value>0.0</value>
>>
>> Modified: jmeter/trunk/bin/testfiles/GenTest27.jmx
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest27.jmx?rev=1514714&r1=1514713&r2=1514714&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GenTest27.jmx (original)
>> +++ jmeter/trunk/bin/testfiles/GenTest27.jmx Fri Aug 16 13:59:19 2013
>> @@ -324,7 +324,7 @@
>>            </BSFTimer>
>>            <hashTree/>
>>            <ConstantThroughputTimer guiclass="TestBeanGUI"
>> testclass="ConstantThroughputTimer" testname="Constant Throughput Timer"
>> enabled="true">
>> -            <stringProp name="calcMode">this thread only</stringProp>
>> +            <intProp name="calcMode">0</intProp>
>>              <doubleProp>
>>                <name>throughput</name>
>>                <value>0.0</value>
>>
>> Added: jmeter/trunk/bin/testfiles/GenTest27_original.jmx
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/bin/testfiles/GenTest27_original.jmx?rev=1514714&view=auto
>>
>> ==============================================================================
>> --- jmeter/trunk/bin/testfiles/GenTest27_original.jmx (added)
>> +++ jmeter/trunk/bin/testfiles/GenTest27_original.jmx Fri Aug 16 13:59:19
>> 2013
>> @@ -0,0 +1,1415 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<jmeterTestPlan version="1.2" properties="2.3">
>> +  <hashTree>
>> +    <TestPlan guiclass="TestPlanGui" testclass="TestPlan"
>> testname="GuiTest 2.7" enabled="true">
>> +      <stringProp name="TestPlan.comments">Test Plan including all test
>> elements in JMeter 2.7</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="User Defined Variables" enabled="true">
>> +        <collectionProp name="Arguments.arguments"/>
>> +      </elementProp>
>> +      <stringProp name="TestPlan.user_define_classpath"></stringProp>
>> +    </TestPlan>
>> +    <hashTree>
>> +      <SetupThreadGroup guiclass="SetupThreadGroupGui"
>> testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
>> +        <stringProp
>> name="ThreadGroup.on_sample_error">continue</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>
>> +        <stringProp name="ThreadGroup.num_threads">1</stringProp>
>> +        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
>> +        <longProp name="ThreadGroup.start_time">1337352661000</longProp>
>> +        <longProp name="ThreadGroup.end_time">1337352661000</longProp>
>> +        <boolProp name="ThreadGroup.scheduler">false</boolProp>
>> +        <stringProp name="ThreadGroup.duration"></stringProp>
>> +        <stringProp name="ThreadGroup.delay"></stringProp>
>> +      </SetupThreadGroup>
>> +      <hashTree/>
>> +      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
>> testname="Thread Group" enabled="true">
>> +        <stringProp
>> name="ThreadGroup.on_sample_error">continue</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>
>> +        <stringProp name="ThreadGroup.num_threads">1</stringProp>
>> +        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
>> +        <longProp name="ThreadGroup.start_time">1337300621000</longProp>
>> +        <longProp name="ThreadGroup.end_time">1337300621000</longProp>
>> +        <boolProp name="ThreadGroup.scheduler">false</boolProp>
>> +        <stringProp name="ThreadGroup.duration"></stringProp>
>> +        <stringProp name="ThreadGroup.delay"></stringProp>
>> +      </ThreadGroup>
>> +      <hashTree>
>> +        <GenericController guiclass="LogicControllerGui"
>> testclass="GenericController" testname="Logic Controllers" enabled="true"/>
>> +        <hashTree>
>> +          <ForeachController guiclass="ForeachControlPanel"
>> testclass="ForeachController" testname="ForEach Controller" enabled="true">
>> +            <stringProp name="ForeachController.inputVal"></stringProp>
>> +            <stringProp name="ForeachController.returnVal"></stringProp>
>> +            <boolProp
>> name="ForeachController.useSeparator">true</boolProp>
>> +          </ForeachController>
>> +          <hashTree/>
>> +          <IfController guiclass="IfControllerPanel"
>> testclass="IfController" testname="If Controller" enabled="true">
>> +            <stringProp name="IfController.condition"></stringProp>
>> +            <boolProp name="IfController.evaluateAll">false</boolProp>
>> +          </IfController>
>> +          <hashTree/>
>> +          <IncludeController guiclass="IncludeControllerGui"
>> testclass="IncludeController" testname="Include Controller" enabled="true">
>> +            <stringProp name="IncludeController.includepath"></stringProp>
>> +          </IncludeController>
>> +          <hashTree/>
>> +          <InterleaveControl guiclass="InterleaveControlGui"
>> testclass="InterleaveControl" testname="Interleave Controller"
>> enabled="true">
>> +            <intProp name="InterleaveControl.style">1</intProp>
>> +          </InterleaveControl>
>> +          <hashTree/>
>> +          <LoopController guiclass="LoopControlPanel"
>> testclass="LoopController" testname="Loop Controller" enabled="true">
>> +            <boolProp
>> name="LoopController.continue_forever">true</boolProp>
>> +            <stringProp name="LoopController.loops">1</stringProp>
>> +          </LoopController>
>> +          <hashTree/>
>> +          <ModuleController guiclass="ModuleControllerGui"
>> testclass="ModuleController" testname="Module Controller" enabled="true"/>
>> +          <hashTree/>
>> +          <OnceOnlyController guiclass="OnceOnlyControllerGui"
>> testclass="OnceOnlyController" testname="Once Only Controller"
>> enabled="true"/>
>> +          <hashTree/>
>> +          <RandomController guiclass="RandomControlGui"
>> testclass="RandomController" testname="Random Controller" enabled="true">
>> +            <intProp name="InterleaveControl.style">1</intProp>
>> +          </RandomController>
>> +          <hashTree/>
>> +          <RandomOrderController guiclass="RandomOrderControllerGui"
>> testclass="RandomOrderController" testname="Random Order Controller"
>> enabled="true"/>
>> +          <hashTree/>
>> +          <RecordingController guiclass="RecordController"
>> testclass="RecordingController" testname="Recording Controller"
>> enabled="true"/>
>> +          <hashTree/>
>> +          <RunTime guiclass="RunTimeGui" testclass="RunTime"
>> testname="Runtime Controller" enabled="true">
>> +            <stringProp name="RunTime.seconds">1</stringProp>
>> +          </RunTime>
>> +          <hashTree/>
>> +          <GenericController guiclass="LogicControllerGui"
>> testclass="GenericController" testname="Simple Controller" enabled="true"/>
>> +          <hashTree/>
>> +          <SwitchController guiclass="SwitchControllerGui"
>> testclass="SwitchController" testname="Switch Controller" enabled="true">
>> +            <stringProp name="SwitchController.value"></stringProp>
>> +          </SwitchController>
>> +          <hashTree/>
>> +          <ThroughputController guiclass="ThroughputControllerGui"
>> testclass="ThroughputController" testname="Throughput Controller"
>> enabled="true">
>> +            <intProp name="ThroughputController.style">0</intProp>
>> +            <boolProp
>> name="ThroughputController.perThread">true</boolProp>
>> +            <intProp name="ThroughputController.maxThroughput">1</intProp>
>> +            <FloatProperty>
>> +              <name>ThroughputController.percentThroughput</name>
>> +              <value>100.0</value>
>> +              <savedValue>0.0</savedValue>
>> +            </FloatProperty>
>> +          </ThroughputController>
>> +          <hashTree/>
>> +          <TransactionController guiclass="TransactionControllerGui"
>> testclass="TransactionController" testname="Transaction Controller"
>> enabled="true">
>> +            <boolProp name="TransactionController.parent">false</boolProp>
>> +          </TransactionController>
>> +          <hashTree/>
>> +          <WhileController guiclass="WhileControllerGui"
>> testclass="WhileController" testname="While Controller" enabled="true">
>> +            <stringProp name="WhileController.condition"></stringProp>
>> +          </WhileController>
>> +          <hashTree/>
>> +        </hashTree>
>> +        <GenericController guiclass="LogicControllerGui"
>> testclass="GenericController" testname="Config Elements" enabled="true"/>
>> +        <hashTree>
>> +          <CounterConfig guiclass="CounterConfigGui"
>> testclass="CounterConfig" testname="Counter" enabled="true">
>> +            <stringProp name="CounterConfig.start"></stringProp>
>> +            <stringProp name="CounterConfig.end"></stringProp>
>> +            <stringProp name="CounterConfig.incr"></stringProp>
>> +            <stringProp name="CounterConfig.name"></stringProp>
>> +            <stringProp name="CounterConfig.format"></stringProp>
>> +            <boolProp name="CounterConfig.per_user">false</boolProp>
>> +          </CounterConfig>
>> +          <hashTree/>
>> +          <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet"
>> testname=
>
>
>
> --
> Cordialement.
> Philippe Mouawad.