How to use the jmeter-ant-task

Included in yanel is a jmeter testplan. you can find it under local/test/data/jmeter/testplan/yanel_test_plan.jmx resp. src/realms/test/yanel/data/jmeter/testplan/yanel_test_plan.jmx

To make it work you need to install jmeter2.2 (jmeter2.1 will write the output in a different format hence the xslt included in yanel will not work) on your system and configure the path to your jmeter installation in src/build/local.build.properties jmeter.home.dir

Also set jmeter.save.saveservice.output_format=xml in the jmeter.properties of your jmeter installation.

To execute the test just type ./build.sh jmeter.

You will find the results in local/test/data/jmeter/jmeter-results/ resp. http://localhost:8080/yanel/test/jmeter/jmeter-results/

Note: turn off SSL.

Using JMeter

JMeter can be used either interactively by running the GUI (JMETER_HOME/bin/jmeter), or through the JMeter Ant Task. For the complete JMeter documention, see http://jakarta.apache.org/jmeter/usermanual/index.html

Setting up a test plan

JMeter test plans are XML files, but generally too comlicated to edit by hand, so use the JMeter GUI to set up a test plan.

Here is a basic example:

  • Start JMeter
  • Add a Thread Group to the Test Plan
    • Set Number of Threads to the number of concurrent users desired, e.g. 5
    • Set the Ramp-Up Period to e.g. 1, that means that JMeter will start with 1 thread/user, and add 1 user every second to reach 5 users after 5 seconds
    • Set the Loop Count to 1 (we'll set this later)
  • Add the configuration element HTTP Request Defaults as a child to the thread group
    • Set Server Name/IP & Port, e.g. 127.0.0.1 and 8080
    • Set the Default Protocol, e.g. HTTP
  • Add a Loop Controller element as a child to the thread group
    • Set the Loop Count, e.g. 100
  • Add an HTTP Request element as a child to the Loop Controller
    • Set the Method, e.g. GET
    • Set the path to the page you want to test, e.g. de/index.html (without the server address, because this is already set in the HTTP Request Defaults element)
  • Add a Response Assertion element as a child to the HTTP Request
    • Add a pattern to test for existence on the page tested (i.e. de/index.html)
  • Add a Constant Timer as a child to the Loop Controller element
    • Set the Thread Delay, e.g. to 500 ms (this tells JMeter to wait 5 milliseconds between consecutive HTTP requests within the loop)
  • To view the results of the test, add one or more Listener Elements to the Thread Group, e.g. Graph Results, or View Results in Table
  • Save the Test Plan

This test plan should now look like this:

Test Plan
|__ Thread Group
|__ HTTP Request Defaults
|__ Loop Controller
| |__ HTTP Request
| | |__ Response Assertion
| |__ Constant Timer
|__ Graph Results
|__ View Results in Table

More Documentation

Other resources on testing:



Your comments are much appreciated

Is the content of this page unclear or you think it could be improved? Please add a comment and we will try to improve it accordingly.