Building JMeter plug-in with Eclipse
\[http://www.eclipse.org Eclipse\] is a very popular Java development environment. Wiki Markup
Targetted to Eclipse 3.1 and JMeter 2.1 trunk version. JMeter isn't designed to be edited and build from Eclipse IDE (JMeter uses Ant build file and complex path/jar structure with optional dependencies), so some work has to be done before we get wheels running.
NOTE: the JMeter trunk code This page is very out of date - the current branch is rel-2-2. Also, there is an eclipse.classpath which can be used to set up the appropriate exclusions etc - sebb
Building JMeter from sources with Eclipse
Building JMeter from sources with Eclipse
It's useful to It's useful to have JMeter Eclipse project in hand, since you need to do debugging and possible bug fixing in JMeter itself.
- Check out JMeter trunk from Subversion
- Get Subclipse plug-in for Eclipse http://subclipse.tigris.org/
- Check out http://svn.apache.org/repos/asf/jakarta/jmeter/rel-2-2 as jmeter-trunk Java project
- Trunk might not be the latest version. Ask from JMeter mailing list which is the active development branch of JMeter.
...
- 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}
- Copy lib/ from jmeter-trunk to your plug-in project root
- JMeter is hard coded to look up jars from ../lib
- Main class: org.apache.jmeter.NewDriver
Creating components
JMeter 2.x uses its internal [TestBean]-framework for adding new components. For more information, see \[:DeveloperManual/TestBeanTutorial:Tutorial - Making a JMeter TestBean\], \[http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/extending/jmeter_tutorial.pdf?view=log&pathrev=325123 this PDF\] and JMeter source TestBean-framework for adding new components. For more information, see Tutorial - Making a JMeter TestBean, this PDF and JMeter source code Wiki Markup
For each component you need
Wiki Markup 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. This class name must be MyTestElement + BeanInfo, e.g. MyTestElementBeanInfo, or the class loader doesn't find it.
...
If widget labels are not read from resouces file, your the properties file of your component has a wrong filename