<?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.
  -->

<!--
    See the DTD for allowable elements and attributes.
 -->
<!DOCTYPE templates SYSTEM "templates.dtd">
<templates>
    <template isTestPlan="true">
        <name>Recording</name>
        <fileName>/bin/templates/recording.jmx</fileName>
        <description><![CDATA[
        <h1>Template showing how to record</h1>
        <h2>JMeter Configuration</h2>
            <ul>
                <li>JMeter Server Proxy port is set to 8888, you may want to change this</li>
            </ul>
        <h2>Browser Configuration</h2>
        <p>Configure your browser so that it uses the JMeter proxy, set:
            <ul>
                <li>the host of the machine that runs JMeter</li>
                <li>the port you setup in JMeter Server Proxy</li>
            </ul>
        </p>
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf" >http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Proxy_Server" >http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Proxy_Server</a></li>
            </ul>
        ]]></description>
        <parameters>
            <parameter defaultValue="recording.xml" key="recordingOutputFile"/>
            <parameter defaultValue="www.example.com" key="hostToRecord"/>
            <parameter defaultValue="https" key="schemeToRecord"/>
        </parameters>
    </template>
    <template isTestPlan="true">
        <name>Recording with Think Time</name>
        <fileName>/bin/templates/recording-with-think-time.jmx</fileName>
        <description><![CDATA[
        <h1>Template showing how to record with think time</h1>
        <h2>JMeter Configuration</h2>
            <ul>
                <li>JMeter Server Proxy port is set to 8888, you may want to change this</li>
            </ul>
        <h2>Browser Configuration</h2>
        <p>Configure your browser so that it uses the JMeter proxy, set:
            <ul>
                <li>the host of the machine that runs JMeter</li>
                <li>the port you setup in JMeter Server Proxy</li>
            </ul>
        </p>
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf" >http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Proxy_Server" >http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Proxy_Server</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>JDBC Load Test</name>
        <fileName>jdbc.jmx</fileName>
        <description>
        <![CDATA[<h1>Template showing how to Load Test an SQL query on Database</h1>
        <h2>JMeter Configuration</h2>
            <ul>
                <li>Add the database driver to jmeter/lib folder</li>
                <li>Configure the host, port, username and password in JDBC Configuration</li>
                <li>Modify the SQL query to match your query</li>
            </ul>
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/build-db-test-plan.html" >http://jmeter.apache.org/usermanual/build-db-test-plan.html</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="false">
        <name>JSR223 Sampler using Groovy</name>
        <fileName>GroovyJSR223Sampler.jmx</fileName>
        <description><![CDATA[
        <h1>Sample JSR223 Sampler using Groovy</h1>
        <h2>Overview</h2>
        This is a sample JSR223 sampler which shows how to use some of its features with Apache Groovy language
        <br/>
        Please select a suitable location in the tree before merging.
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#JSR223_Sampler" >JSR223 Sampler</a></li>
                <li><a href="http://groovy-lang.org/documentation.html" >Apache Groovy</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="false">
        <name>BeanShell Sampler</name>
        <fileName>BeanShellSampler.jmx</fileName>
        <description><![CDATA[
        <h1>Sample BeanShell Sampler</h1>
        <h2>Overview</h2>
        This is a sample BeanShell sampler which shows how to use some of its features.
        <br/>
        Please select a suitable location in the tree before merging.
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler" >http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>MongoDB Load Test</name>
        <fileName>mongodb.jmx</fileName>
        <description>
        <![CDATA[<h1>Template showing how to Load Test MongoDB code using MongoDB Java Driver</h1>
        <h2>JMeter Configuration</h2>
            <ul>
                <li>Configure the <b>Server address list</b>, and tune <b>MongoDB options</b> in MongoDB Source Config</li>
                <li>Modify the JSR223 samples (<b>Insert into testCollection</b> and <b>Count from testCollection</b>) to match your needs</li>
            </ul>
        <h2>Mongo Java Driver</h2>
        <p>
            MongoDB Source Config configures the connection to MongoDB for you and stores in <b>MongoDB Source</b> the configuration.<br/>
            You can then access it in any Scripting element using:<br/>
            <i>com.mongodb.DB db = org.apache.jmeter.protocol.mongodb.config.MongoDBHolder.getDBFromSource("db", "test");<i>
        </p>
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java-driver" >Getting Started with Java Driver (<i>Making a connection</i> part is already done by MongoDB Source Config)</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#MongoDB_Source_Config" >http://jmeter.apache.org/usermanual/component_reference.html#MongoDB_Source_Config</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Building a Web Test Plan</name>
        <fileName>/bin/templates/build-web-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Test plan from Building a Web Test Plan section in user's manual</h1>
        <h2>Useful link</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/build-web-test-plan.html" >http://jmeter.apache.org/usermanual/build-web-test-plan.html</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Functional Testing Test Plan [01]</name>
        <fileName>/bin/templates/functional-testing-01-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Building a Functional Testing Test Plan [01]</h1>
        <p>You can use JMeter to automate API Testing</p>
        <p>This template of Test Plan contains first step when starting creating JMeter script</p>
        <h2>Useful links</h2>
            <ul>
                <li><a href="https://jmeter.apache.org/usermanual/test_plan.html" >https://jmeter.apache.org/usermanual/test_plan.html</a></li>
                <li><a href="https://jmeter.apache.org/usermanual/listeners.html" >https://jmeter.apache.org/usermanual/listeners.html</a></li>
                <li><a href="https://jmeter.apache.org/usermanual/component_reference.html#View_Results_Tree" >https://jmeter.apache.org/usermanual/component_reference.html#View_Results_Tree</a></li>

            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Building an Advanced Web Test Plan</name>
        <fileName>/bin/templates/build-adv-web-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Test plan from Building an advanced Web Test Plan section in user's manual</h1>
        <h2>Configuration</h2>
        <p>In order to run the login sample inside plan, create a CSV file following description in <b>loginData</b> sample and put it in a folder of your choice then test running JMeter with:<br/>
            <ul>
                <li><b>jmeter -Jresources_folder=FOLDER TO CHANGE</b></li>
            </ul>
        </p>
        <h2>Useful link</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/build-adv-web-test-plan.html" >http://jmeter.apache.org/usermanual/build-adv-web-test-plan.html</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Building a SOAP WebService Test Plan</name>
        <fileName>/bin/templates/build-webservice-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Test plan showing how to create a SOAP Webservice Test Plan </h1>
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#User_Defined_Variables" >User Defined Variables</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request_Defaults" >User Defined Variables</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request" >HTTP Request</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#Response_Assertion">Response Assertion</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Header_Manager">HTTP Header Manager</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Building an FTP Test Plan </name>
        <fileName>/bin/templates/build-ftp-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Test plan from Building an FTP Test Plan section in user's manual</h1>
        <h2>Useful link</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/build-ftp-test-plan.html" >http://jmeter.apache.org/usermanual/build-ftp-test-plan.html</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Building an LDAP Test Plan</name>
        <fileName>/bin/templates/build-ldap-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Test plan from Building an LDAP Test Plan section in user's manual</h1>
        <h2>Useful link</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/build-ldap-test-plan.html" >http://jmeter.apache.org/usermanual/build-ldap-test-plan.html</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Building an Extended LDAP Test Plan</name>
        <fileName>/bin/templates/build-ldap-ext-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Test plan from Building an Extended LDAP Test Plan section in user's manual</h1>
        <h2>Useful link</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/build-ldapext-test-plan.html" >http://jmeter.apache.org/usermanual/build-ldapext-test-plan.html</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="false">
        <name>Think Time at a point</name>
        <fileName>ThinkTime.jmx</fileName>
        <description><![CDATA[
        <h1>Think Time between 2 samplers</h1>
        <h2>Overview</h2>
        This shows how to introduce a Think Time of 1s+/- 100 ms between 2 samplers
        <br/>
        Please select a suitable location in the tree - e.g. Thread Group or Controller - before merging.
        <h2>Useful links</h2>
            <ul>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#Test_Action" >Test Action</a></li>
                <li><a href="http://jmeter.apache.org/usermanual/component_reference.html#Uniform_Random_Timer" >Uniform Random Timer</a></li>
            </ul>
        ]]></description>
    </template>
    <template isTestPlan="true">
        <name>Simple HTTP request</name>
        <fileName>/bin/templates/simple-http-request-test-plan.jmx</fileName>
        <description><![CDATA[
        <h1>Template for simple HTTP request</h1>
        <h2>JMeter Configuration</h2>
        <p>Configure your HTTP request, set:
            <ul>
                <li>Full URL</li>
                <li>Content Type</li>
                <li>HTTP method</li>
                <li>Body data</li>
            </ul>
        </p>
        ]]></description>
        <parameters>
            <parameter defaultValue="https://example.invalid/" key="url"/>
            <parameter defaultValue="application/json" key="contentType"/>
            <parameter defaultValue="POST" key="method"/>
            <parameter defaultValue="" key="body"/>
        </parameters>
    </template>
</templates>
