which version are you using. there was a bug in the older version. please
try a nightly, it should be fixed.

peter

On 11/23/05, Krishnasankar R <[EMAIL PROTECTED]> wrote:
>
> Yes, I did create a separate threadgroup and made this the first one as
> you
> suggested. The relevant test code and JMX are present in the earlier post.
> There were no errors. Sorry if this was not apparent.
>
> -----Original Message-----
> From: Peter Lin [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 23, 2005 10:36 AM
> To: JMeter Users List
> Subject: Re: JMeter JUnit sampler - how to use oneTimeSetup
>
>
> did you set the test plan to run each thread group separately?
>
> if you didn't the call to oneTimeSetUp/oneTimeTearDown may not run before
> other methods like setUp/tearDown. you're previous post didn't include any
> information on the error you see.
>
> if there is an error in jmeter.log, please post it. it's kind of hard to
> diagnose the problem without additional information.
>
> peter
>
> On 11/22/05, Krishnasankar R <[EMAIL PROTECTED]> wrote:
> >
> > Do people work around this issue or is it that I'm making a mistake
> > somewhere.
> >
> > -----Original Message-----
> > From: Krishnasankar R [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, November 16, 2005 12:18 PM
> > To: JMeter Users List
> > Subject: RE: JMeter JUnit sampler - how to use oneTimeSetup
> >
> >
> > Thanks for your response, Lin.
> >
> > Peter Lin: "basically, to use oneTimeSetup, you have to create a
> > threadgroup and place all your oneTimeSetUp calls in that thread
> > group. the threadGroup
> > should be at the top and only run once with 1 thread. Then the actual
> test
> > methods should be placed in a separate thread group.
> >
> > when you select 'oneTimeSetUp' as the test method, you have to make
> > sure to check 'do not call setUp'. Since JMeter is a multi-threaded
> > environment, it's necessary to place oneTimeSetUp/oneTimeTearDown in a
> > threadgroup with 1
> > thread and 1 iteration."
> >
> > I created a test plan as specified above, but the problem persists.
> > Please find below the test plan and the JUnit testcase. Am I missing
> > something?
> >
> > import junit.framework.Test;
> > import junit.framework.TestCase;
> > import junit.framework.TestSuite;
> >
> > public class SimpleTestClient extends TestCase {
> >         /* Test oneTimeSetUp */
> >
> >         private int oneTimeValue;
> >
> >         /** Default constructor */
> >         public SimpleTestClient() {
> >                 super();
> >         }
> >
> >         /** Constructor */
> >         public SimpleTestClient(String name) {
> >                 super(name);
> >         }
> >
> >         public void setUp() {
> >                 System.out.println("In setUp()");
> >         }
> >
> >         public void tearDown() {
> >                 System.out.println("In tearDown()");
> >         }
> >
> >     public void oneTimeSetUp() {
> >         System.out.println("oneTimeSetUp called -- ");
> >         oneTimeValue=5;
> >                 System.out.println("In oneTimeSetUp: oneTimeValue: " +
> > oneTimeValue);
> >     }
> >
> >     public void oneTimeTearDown() {
> >         System.out.println("oneTimeTearDown called -- ");
> >     }
> >
> >         /**
> >          * Test oneTimeSetUp
> >          */
> >         public void testMethod() {
> >                 System.out.println("In testMethod: oneTimeValue: " +
> > oneTimeValue);
> >         }
> >
> > } // class
> >
> > JMX:
> >
> > <jmeterTestPlan version="1.1" properties="1.7">
> >   <hashTree>
> >     <TestPlan>
> >       <elementProp name="TestPlan.user_defined_variables"
> > elementType="org.apache.jmeter.config.Arguments">
> >         <stringProp
> > name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPan
> > el
> > </st
> > ringProp>
> >         <stringProp
> > name="TestElement.test_class">org.apache.jmeter.config.Arguments
> > </stringProp
> > >
> >         <collectionProp name="Arguments.arguments"/>
> >         <stringProp name="TestElement.name">User Defined
> > Variables</stringProp>
> >         <boolProp name="TestElement.enabled">true</boolProp>
> >       </elementProp>
> >       <stringProp
> > name="TestElement.gui_class">org.apache.jmeter.control.gui.TestPlanGui
> > </stri
> > ngProp>
> >       <stringProp name="TestPlan.user_define_classpath"></stringProp>
> >       <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
> >       <stringProp
> > name="TestElement.test_class">org.apache.jmeter.testelement.TestPlan
> > </string
> > Prop>
> >       <stringProp name="TestElement.name">Test Plan</stringProp>
> >       <boolProp name="TestPlan.functional_mode">false</boolProp>
> >       <boolProp name="TestElement.enabled">true</boolProp>
> >       <stringProp name="TestPlan.comments"></stringProp>
> >     </TestPlan>
> >     <hashTree>
> >       <ThreadGroup>
> >         <longProp name="ThreadGroup.start_time">1132115191000</longProp>
> >         <stringProp
> > name="TestElement.test_class">org.apache.jmeter.threads.ThreadGroup
> > </stringP
> > rop>
> >         <stringProp name="ThreadGroup.delay"></stringProp>
> >         <stringProp name="ThreadGroup.duration"></stringProp>
> >         <boolProp name="TestElement.enabled">true</boolProp>
> >         <stringProp name="ThreadGroup.num_threads">1</stringProp>
> >         <boolProp name="ThreadGroup.scheduler">false</boolProp>
> >         <stringProp
> > name="TestElement.gui_class">org.apache.jmeter.threads.gui.ThreadGroup
> > Gui
> > </s
> > tringProp>
> >         <elementProp name="ThreadGroup.main_controller"
> > elementType="org.apache.jmeter.control.LoopController">
> >           <stringProp
> > name="TestElement.gui_class">
> > org.apache.jmeter.control.gui.LoopControlPanel<
> > /stringProp>
> >           <stringProp name="LoopController.loops">1</stringProp>
> >           <stringProp
> > name="TestElement.test_class">org.apache.jmeter.control.LoopController
> > </stri
> > ngProp>
> >           <stringProp name="TestElement.name">Loop
> Controller</stringProp>
> >           <boolProp name="TestElement.enabled">true</boolProp>
> >           <boolProp name="LoopController.continue_forever
> > ">false</boolProp>
> >         </elementProp>
> >         <stringProp name="TestElement.name">One time setup</stringProp>
> >         <longProp name="ThreadGroup.end_time">1132115191000</longProp>
> >         <stringProp name="ThreadGroup.on_sample_error
> > ">continue</stringProp>
> >         <stringProp name="ThreadGroup.ramp_time">1</stringProp>
> >       </ThreadGroup>
> >       <hashTree>
> >         <org.apache.jmeter.protocol.java.sampler.JUnitSampler>
> >           <stringProp name="junitsampler.failure">Test
> failed</stringProp>
> >           <stringProp
> > name="TestElement.test_class">
> > org.apache.jmeter.protocol.java.sampler.JUnitS
> > ampler</stringProp>
> >           <stringProp name="junitsampler.success.code">1000</stringProp>
> >           <stringProp name="junitsampler.failure.code">0001</stringProp>
> >           <stringProp name="junitsampler.pkg.filter"></stringProp>
> >           <boolProp name="TestElement.enabled">true</boolProp>
> >           <stringProp name="junitsampler.exec.setup">true</stringProp>
> >           <stringProp name="junitsampler.method
> ">oneTimeSetUp</stringProp>
> >           <stringProp name="junitsampler.success">Test
> > successful</stringProp>
> >           <stringProp
> > name="TestElement.gui_class">
> > org.apache.jmeter.protocol.java.control.gui.JUn
> > itTestSamplerGui</stringProp>
> >           <stringProp name="junitsampler.constructorstring
> "></stringProp>
> >           <stringProp name="TestElement.name">OneTimeSetup</stringProp>
> >           <stringProp
> > name="junitSampler.classname">SimpleTestClient</stringProp>
> >         </org.apache.jmeter.protocol.java.sampler.JUnitSampler>
> >         <hashTree/>
> >       </hashTree>
> >       <ThreadGroup>
> >         <longProp name="ThreadGroup.start_time">1132115191000</longProp>
> >         <stringProp
> > name="TestElement.test_class">org.apache.jmeter.threads.ThreadGroup
> > </stringP
> > rop>
> >         <stringProp name="ThreadGroup.delay"></stringProp>
> >         <stringProp name="ThreadGroup.duration"></stringProp>
> >         <boolProp name="TestElement.enabled">true</boolProp>
> >         <stringProp name="ThreadGroup.num_threads">1</stringProp>
> >         <boolProp name="ThreadGroup.scheduler">false</boolProp>
> >         <stringProp
> > name="TestElement.gui_class">org.apache.jmeter.threads.gui.ThreadGroup
> > Gui
> > </s
> > tringProp>
> >         <elementProp name="ThreadGroup.main_controller"
> > elementType="org.apache.jmeter.control.LoopController">
> >           <stringProp
> > name="TestElement.gui_class">
> > org.apache.jmeter.control.gui.LoopControlPanel<
> > /stringProp>
> >           <stringProp name="LoopController.loops">1</stringProp>
> >           <stringProp
> > name="TestElement.test_class">org.apache.jmeter.control.LoopController
> > </stri
> > ngProp>
> >           <stringProp name="TestElement.name">Loop
> Controller</stringProp>
> >           <boolProp name="TestElement.enabled">true</boolProp>
> >           <boolProp name="LoopController.continue_forever
> > ">false</boolProp>
> >         </elementProp>
> >         <stringProp name="TestElement.name">Test</stringProp>
> >         <longProp name="ThreadGroup.end_time">1132115191000</longProp>
> >         <stringProp name="ThreadGroup.on_sample_error
> > ">continue</stringProp>
> >         <stringProp name="ThreadGroup.ramp_time">1</stringProp>
> >       </ThreadGroup>
> >       <hashTree>
> >         <org.apache.jmeter.protocol.java.sampler.JUnitSampler>
> >           <stringProp name="junitsampler.failure">Test
> failed</stringProp>
> >           <stringProp
> > name="TestElement.test_class">
> > org.apache.jmeter.protocol.java.sampler.JUnitS
> > ampler</stringProp>
> >           <stringProp name="junitsampler.success.code">1000</stringProp>
> >           <stringProp name="junitsampler.failure.code">0001</stringProp>
> >           <stringProp name="junitsampler.pkg.filter"></stringProp>
> >           <boolProp name="TestElement.enabled">true</boolProp>
> >           <stringProp name="junitsampler.exec.setup">false</stringProp>
> >           <stringProp name="junitsampler.method">testMethod</stringProp>
> >           <stringProp name="junitsampler.success">Test
> > successful</stringProp>
> >           <stringProp
> > name="TestElement.gui_class">
> > org.apache.jmeter.protocol.java.control.gui.JUn
> > itTestSamplerGui</stringProp>
> >           <stringProp name="junitsampler.constructorstring
> "></stringProp>
> >           <stringProp name="TestElement.name">JUnit Request</stringProp>
> >           <stringProp
> > name="junitSampler.classname">SimpleTestClient</stringProp>
> >         </org.apache.jmeter.protocol.java.sampler.JUnitSampler>
> >         <hashTree/>
> >       </hashTree>
> >       <ResultCollector>
> >         <stringProp
> > name="TestElement.gui_class">org.apache.jmeter.visualizers.TableVisual
> > izer
> > </
> > stringProp>
> >         <stringProp
> > name="TestElement.test_class">org.apache.jmeter.reporters.ResultCollec
> > tor
> > </s
> > tringProp>
> >         <stringProp name="TestElement.name">View Results in
> > Table</stringProp>
> >         <objProp>
> >           <value
> > class="org.apache.jmeter.samplers.SampleSaveConfiguration
> > ">
> >             <time>true</time>
> >             <latency>true</latency>
> >             <timestamp>true</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>true</xml>
> >             <fieldNames>false</fieldNames>
> >             <responseHeaders>false</responseHeaders>
> >             <requestHeaders>false</requestHeaders>
> >             <responseDataOnError>false</responseDataOnError>
> >
> >
> > <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailure
> > Messag
> > e>
> >             <assertionsResultsToSave>0</assertionsResultsToSave>
> >             <delimiter>,</delimiter>
> >             <printMilliseconds>true</printMilliseconds>
> >           </value>
> >           <name>saveConfig</name>
> >         </objProp>
> >         <boolProp name="TestElement.enabled">true</boolProp>
> >         <stringProp
> > name="filename">d:\source\jmeter\OneTimeSetup.out</stringProp>
> >         <boolProp name="ResultCollector.error_logging">false</boolProp>
> >       </ResultCollector>
> >       <hashTree/>
> >     </hashTree>
> >   </hashTree>
> > </jmeterTestPlan>
> >
> > Thanks,
> > Krishna
> >
> > **********************************************************************
> > ******
> > This communication contains information, which is confidential and may
> > also
> > be privileged. It is for the exclusive use of the intended recipient(s).
> > If
> > you are not the intended recipient(s), please note that any
> distribution,
> > printing, copying or use of this communication or the information in it
> is
> > strictly prohibited. If you have received this communication in error,
> > please notify the sender immediately and then destroy any copies of it.
> >
> > **********************************************************************
> > ******
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> > **********************************************************************
> > ******
> > This communication contains information, which is confidential and may
> > also
> > be privileged. It is for the exclusive use of the intended recipient(s).
> > If
> > you are not the intended recipient(s), please note that any
> distribution,
> > printing, copying or use of this communication or the information in it
> is
> > strictly prohibited. If you have received this communication in error,
> > please notify the sender immediately and then destroy any copies of it.
> >
> > **********************************************************************
> > ******
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ****************************************************************************
> This communication contains information, which is confidential and may
> also
> be privileged. It is for the exclusive use of the intended recipient(s).
> If
> you are not the intended recipient(s), please note that any distribution,
> printing, copying or use of this communication or the information in it is
> strictly prohibited. If you have received this communication in error,
> please notify the sender immediately and then destroy any copies of it.
>
> ****************************************************************************
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to