mirror of https://github.com/apache/jmeter.git
104 lines
3.8 KiB
XML
104 lines
3.8 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
~ Licensed to the Apache Software Foundation (ASF) under one or more
|
|
~ contributor license agreements. See the NOTICE file distributed with
|
|
~ this work for additional information regarding copyright ownership.
|
|
~ The ASF licenses this file to you under the Apache License, Version 2.0
|
|
~ (the "License"); you may not use this file except in compliance with
|
|
~ the License. You may obtain a copy of the License at
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
~ See the License for the specific language governing permissions and
|
|
~ limitations under the License.
|
|
-->
|
|
|
|
<!DOCTYPE document[
|
|
<!ENTITY sect-num '42'>
|
|
<!ENTITY hellip "…" >
|
|
]>
|
|
|
|
<document prev="best-practices.html" next="component_reference.html" id="$Id$">
|
|
|
|
<properties>
|
|
<author email="dev@jmeter.apache.org">JMeter developers</author>
|
|
<title>Include Controller Tutorial</title>
|
|
</properties>
|
|
|
|
<body>
|
|
|
|
<section name="§-num;. Include Controller Tutorial" anchor="include">
|
|
<p>
|
|
This is a short tutorial explaining the basics of the Include Controller. The Include Controller
|
|
provides an easy way to include modules in a test plan. It is different than the Module Controller
|
|
in a couple of ways.
|
|
</p>
|
|
|
|
<ul>
|
|
<li>the Include Controller loads a simple controller with all its samples, where as the Module
|
|
Controller can use any controller</li>
|
|
<li>the Include Controller doesn't use the workbench</li>
|
|
<li>the Module Controller doesn't load from a file</li>
|
|
<li>the Include Controller loads the module at runtime and doesn't display the contents of the
|
|
Simple Controller</li>
|
|
</ul>
|
|
|
|
<p>
|
|
There are a couple of reasons why one might want to use the include controller.
|
|
</p>
|
|
|
|
<ul>
|
|
<li>Break a test plan into reusable modules</li>
|
|
<li>Reduce the cost of maintaining test plans</li>
|
|
<li>Reduce duplication of common process</li>
|
|
</ul>
|
|
|
|
<p>
|
|
For example, say you need to test an application that requires login. If each test plan had the login requests,
|
|
a change in the login process would require updating all test plans. By making the login a module, all other
|
|
test plans can reuse it. When the login process changes, the change is made to the module and all other test
|
|
plans get the change. One limitation of the current implementation is the contents of the module are only
|
|
loaded at runtime, so users can't view or edit the contents of an included module.
|
|
</p>
|
|
|
|
<figure width="417" height="130" image="includecontroller.png">Include Controller</figure>
|
|
|
|
<p>
|
|
The Include Controller has two properties. The <code>name</code> and the <code>filename</code>. The <code>name</code>
|
|
is the descriptive name for the controller in the test plan. The <code>filename</code> is the name of the <code>.jmx</code> file.
|
|
</p>
|
|
|
|
<subsection name="§-num;.1 Step-by-step" anchor="step-by-step">
|
|
|
|
<ol>
|
|
<li>Start JMeter</li>
|
|
<li>Select the workbench</li>
|
|
<li><menuchoice>
|
|
<guimenuitem>Add</guimenuitem>
|
|
<guimenuitem>Logic Controller</guimenuitem>
|
|
<guimenuitem>Simple Controller</guimenuitem>
|
|
</menuchoice>
|
|
</li>
|
|
<li>Enter <code>module1</code> in the name</li>
|
|
<li>Now add one or more samples to the controller</li>
|
|
<li>Once the samples are added, right click on <code>module1</code></li>
|
|
<li>Select <code>save as</code> and save it as <code>module1.jmx</code></li>
|
|
</ol>
|
|
|
|
</subsection>
|
|
|
|
<p>
|
|
<code>module1.jmx</code> can now be used with any test plan. The Include Controller hasn't been tested
|
|
with other controllers as the root element. If you need to use other controllers, use a Simple Controller
|
|
as the root and add other controllers to it.
|
|
</p>
|
|
|
|
</section>
|
|
|
|
</body>
|
|
|
|
</document>
|