jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Krishnasankar R <Krishnasankar.Ramadu...@scandent.com>
Subject RE: JMeter JUnit sampler - how to use oneTimeSetup
Date Wed, 23 Nov 2005 04:50:17 GMT
Do people work around this issue or is it that I'm making a mistake
somewhere.

-----Original Message-----
From: Krishnasankar R [mailto:Krishnasankar.Ramadurai@scandent.com] 
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.ArgumentsPanel</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.ThreadGroupGui</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.ThreadGroupGui</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.TableVisualizer</
stringProp>
        <stringProp
name="TestElement.test_class">org.apache.jmeter.reporters.ResultCollector</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</saveAssertionResultsFailureMessag
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: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
****************************************************************************
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: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Mime
View raw message