The JMeter based Performance Test Suite is built on the foundational concepts of Apache JMeter. However, it incorporates significant modifications in various areas to ensure seamless compatibility with XLT.
Essentially, you will continue to use JMeter for recording, editing, and maintaining your tests. The key difference lies in the execution and evaluation phase, which will be handled by XLT. This integration provides enhanced debugging capabilities, as you can leverage XLT's features to gain clear insights into the executed actions, requests, and responses.
- Java Version 17 or higher
- An existing
.jmx
file for test execution. This can be created with JMeter. - There are several
.jmx
example files for usage at<testsuite>\config\data\jmeter
- Clone this test suite
- Build a test plan or use an existing
.jmx
file - Save your
.jmx
file to this directory<testsuite>/config/data/jmeter
- Open this test suite in your preferred Java IDE
- Go to
config/data/jmeter
to see your previous saved file - Go to
src/main/java/com/xceptance/loadtest/jmeter/tests
and add your test, there are already some example test, for reference
public class YourTestCaseName extends JMeterTestCase
{
public YourTestCaseName()
{
super("yourTestFile.jmx");
}
}
- Add your test case(s) to the test case mapping
- Add your test case(s) to the list of active test case(s) in the test configuration
- Save and Run your test and then see browser results, which are located at
<testsuite>\results
- Then commit your changes to your current repository
- Go to the Xceptance Test Center (XTC), in case you have questions about XTC, please see the documentation
- Setup a new load test
- Start your loadtest
JMeter dependencies are upgrade.properties, saveservice.properties and jmeter.properties are taken from default JMeter setup and are needed for the engine. In case there are adjusted values simply, add the files under the created site. At the moment default is used for reference.
Best practice is to always give meaningful names to thread groups, transactions and requests. These names are used for the report and it is recommended to identify the correct requests in the report. If there are no names given, the engine will create a default name for identification.
For reference in XLT each .jmx
file is considered a single test case, therefore create the test cases in different .jmx
files. All Transaction Controller in the current file are later listed as Actions in the report and all request under the given Transaction Controller, if the Generate parent sample option is selected. If the option is disabled all request will be listed individual.
- grouping different samplers below thread group
- XLT thread management instead of using JMeter. This means that infinite or loops, ramp up and users is managed by XTC and via properties.
- all thread groups in one
.jmx
file are executed one after the other, this is not recommended
- can fire simple HTTP requests and HTTP multipart
- implemented, as it is in JMeter
- assertion checker from JMeter are implemented and fire events in XLT, additional we support the continue (only events) and stop function from JMeter (ResultBrowser and errors)
- implemented, as it is in JMeter
- works with internal counter as designed
- works with internal counter
- Works, the
.csv
file(s) need to be placed at the follwoing location<testsuite>/config/data/jmeter/data
.
- File Upload
- XPath2 Assertions
By design, the load test config is not read from the JMeter file. This has to be done the classical way via property file. Think times and load will be controlled by XTC.
It is strictly recommended to only have one active thread group per scenario (.jmx
file). Since this will be directly visible in the report later. Multiple thread groups, in one .jmx
file, will be listed as actions.