jakarta-jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jakarta-jmeter Wiki] Update of "BuildingPlugInWithEclipse" by Mikko Ohtamaa
Date Wed, 09 Aug 2006 11:39:44 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta-jmeter Wiki" for change notification.

The following page has been changed by Mikko Ohtamaa:
http://wiki.apache.org/jakarta-jmeter/BuildingPlugInWithEclipse

------------------------------------------------------------------------------
  = Building JMeter plug-in with Eclipse =
  
  Targetted to Eclipse 3.1 and JMeter 2.1 trunk version. JMeter isn't designed to be edited
from Eclipse IDE, so some work has to be done before we get wheels running.
+ 
+ == Building JMeter from sources with Eclipse ==
+ 
+ It's useful to have JMeter Eclipse project in hand, since you need to do debugging and possible
bug fixing of JMeter.
  
  1. Check out JMeter trunk from Subversion 
    * Get Subclipse plug-in for Eclipse http://subclipse.tigris.org/
@@ -64, +68 @@

  
     * Now Eclipse should build JMeter without errors (stop icons in source tree)
  
+ == Setting up plug-in project ==
+ 
+ This project will build your custom components and launch JMeter so that it will find them.
+ 
- 3. Set up your custom plug-in project
+ 1. Set up your custom plug-in project
     * Create a new Java project
     * Add jmeter-trunk to project dependencies
     * Create bin/ and src/ folders
@@ -96, +104 @@

  log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
  }}}
  
- 4. Setting up a JMeter launcher
+ 2. Setting up a JMeter launcher
     * Set working directory to bin/ in your project
         * JMeter is hard coded to look up ''jmeter.properties'' in the launch folder
         * E.g. ${workspace_loc:SIPPerformanceStresser/bin}
@@ -105, +113 @@

     * Main class: org.apache.jmeter.NewDriver
     * 
  
+ == Creating components ==
+ 
+ JMeter 2.x uses its internal TestBean-framework for adding new components. 
+ 
+ For each component you need
+ 1. An element class which interits from [TestElement, ConfigurationElement, XXXElement]
and implements TestBean interface. TestBean interface marks classes which JMeter plug-in class
loader loads automatically.
+ 2. Each TestBean class needs BeanInfoSupport class whichs describes the properties of the
element class
+ 3. Properties file which gives out user interface strings for properties
+ 
+ Example:
+ 
+ * Here are some examples with some dummy non-working implemenation details
+ * fi.xxx.jmeter.sip.core.SIPReceiver implements TestBean extends AbstractSampler
+ 
+ {{{
+ package fi.xxx.jmeter.sip.core;
+ 
+ import org.apache.jmeter.samplers.AbstractSampler;
+ import org.apache.jmeter.samplers.Entry;
+ import org.apache.jmeter.samplers.SampleResult;
+ import org.apache.jmeter.testbeans.TestBean;
+ 
+ public class SIPReceiver extends AbstractSampler implements TestBean {
+ 
+ 	public SampleResult sample(Entry e) {
+ 		return null;
+ 	}
+ 
+ }
+ 
+ }}}
+ 
+ * fi.xxx.jmeter.sip.core.SIPReceiverBeanInfoSupport extends BeanInfoSupport
+ 
+ {{{
+ 
+ package fi.xxx.jmeter.sip.core;
+ 
+ import java.beans.PropertyDescriptor;
+ 
+ import org.apache.jmeter.config.CSVDataSet;
+ import org.apache.jmeter.testbeans.BeanInfoSupport;
+ 
+ public class SIPReceiverBeanInfoSupport extends BeanInfoSupport {
+ 	
+ 	public SIPReceiverBeanInfoSupport() {
+ 		super(SIPReceiver.class);
+ 		
+ 		createPropertyGroup("sip_receiver", new String[] { "filename", "variableNames", "delimiter"
});
+ 		PropertyDescriptor p = property("filename");
+ 		p.setValue(NOT_UNDEFINED, Boolean.TRUE);
+ 		p.setValue(DEFAULT, "");
+ 		p.setValue(NOT_EXPRESSION, Boolean.TRUE);
+ 		p = property("variableNames");
+ 		p.setValue(NOT_UNDEFINED, Boolean.TRUE);
+ 		p.setValue(DEFAULT, "");
+ 		p.setValue(NOT_EXPRESSION, Boolean.TRUE);
+ 		p = property("delimiter");
+ 		p.setValue(NOT_UNDEFINED, Boolean.TRUE);
+ 		p.setValue(DEFAULT, ",");
+ 		p.setValue(NOT_EXPRESSION, Boolean.TRUE);
+ 	}
+ }
+ 
+ 
+ }}}
+ 
+ * fi/xxx/jmeter/sip/core/SIPreceiver.properties
+ 
+ {{{
+ 
+ displayName=SIP Receiver
+ sip_receiver.displayName=Configure SIP receiver
+ filename.displayName=Filename
+ filename.shortDescription=Name of the file (within your supporting file directory) that
holds cvs data
+ variableNames.displayName=Variable Names (comma-delimited)
+ variableNames.shortDescription=List your variable names in order to match the order of columns
in your csv data.  Separate by commas.
+ delimiter.displayName=Delimiter (use '\\t' for tab)
+ delimiter.shortDescription=Enter the delimiter ('\\t' for tab)
+ 
+ }}}
  
  
  == Notes ==

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org


Mime
View raw message