JMeter 1.6 has a new UI layout. The window is divided into two sections. On the left is
a tree which represents a test configuration. The tree represents both
the hierarchical and ordered nature of the test. A test can be made up of
one or many subtests and each of these subtests may have a particular
The main display is on the right side of the window.
Whenever an element in the tree is selected, its control panel is shown in
the main display allowing you to enter your test data.
When a visualizer is selected the main display will contain the
visualizer's view of the current test.
Most functions in the UI are available from popup menus
that appear when you right-click on an element in the test tree.
The test configuration tree begins with two elements -
will contain all the elements which make up your test.
is simply an area to store test elements while you
are in the process of constructing a test.
consists of one or more
is a root element (it can not be nested) which may contain
defines the number of threads available to the threadgroup.
is a simple element that controls how long JMeter should delay between each test
sample when it runs. This allows JMeter to simulate human actions more closely.
Timer element's are leaves in the test tree they can not contain
receives information about response data while JMeter runs. For instance, during testing
of a website, a listener receives and collects sample data that indicates how many
milliseconds it took the web server to respond to each request. Normally, these listeners
are visualizers (represent the data visually in the main window), or reporters (store the data
to file). Listeners are also leaves in a test configuration tree.
is an element that controls the flow of test samples. It also controls the process by which
test samples are created. Controllers implement JMeter's various testing
may have other controllers and/or config elements as
can only have config elements or assertions as sub-elements.
states a requirement that the server's response must satisfy. For instance, an Assertion element
can be configured to assert that response text from a web server will include a particular string. If it does
not, it will be reported as a failed sample by the assertion reporter.
represents a coherent set of information that is
usually specifically targeted to a particular
protocol or controller. For instance, setting up a database test requires three
config elements - one to configure the basic information about the database (what host,
what driver, login and password to use), one to configure the SQL query
to be tested, and one to configure the pool of database connections (how many connections
to store in pool, etc).
Config Elements are leaves in the test configuration tree.
As a user, you create elements in the tree, and start your test when ready. When you start the test, JMeter
"compiles" your test script (note: this doesn't refer to an executable script, as in Python or Perl, but to the
data in the hierarchical tree). All elements in the tree are added up - meaning child objects are added to their
parent objects until a single TestPlan object is created. A JMeterEngine is then created, and the TestPlan sends
all of its ThreadGroups to the engine. The engine creates threads, and each thread
iterates through the test cases.