<?xml version="1.0"?>
<document>

<properties>
  <title>User's Manual: Getting Started</title>
</properties>

<body>

<section name="2. Getting Started" anchor="get_started">
<p>The easiest way to begin using JMeter is to first
<a href="http://jakarta.apache.org/builds/jakarta-jmeter/release/">download the latest production release</a> and install it.
The release contains all of the files you need to build and run Web, FTP, JDBC, and JNDI tests.  If you want to perform JDBC testing,
then you will, of course, need the appropriate JDBC driver from your vendor.  JMeter does not come with
any JDBC drivers.</p>
<p>Next, start JMeter and go through the <a href="build-test-plan.html">Building a Test Plan</a> section
of the User Guide to familiarize yourself with JMeter basics (for example, adding and removing elements).</p>
<p>Finally, go through the appropriate section on how to build a specific type of Test Plan.
For example, if you are interested in testing a Web application, then see the section
<a href="build-web-test-plan.html">Building a Web Test Plan</a>.
The other specific Test Plan sections are for <a href="build-db-test-plan.html">JDBC</a>,
<a href="build-ftp-test-plan.html">FTP</a>, and <a href="build-jndi-test-plan.html">JNDI</a>.</p>
<p>Once you are comfortable with building and running JMeter Test Plans, you can look into the
various configuration elements (timers, listeners, assertions, and others) which give you more control
over your Test Plans.</p>
</section>

<section name="2.1 Requirements" anchor="requirements">
<p>JMeter requires your computing environment meets some minimum requirements.</p>

<subsection name="2.1.1 Java Version" anchor="java_ver">
<p>JMeter requires a fully compliant JDK1.2 (or higher) environment. Because JMeter uses only
standard Java APIs (java.*), please do not file bug reports if your JRE fails to run
JMeter because of JRE implementation issues.</p>
</subsection>

<subsection name="2.1.2 Operating Systems" anchor="os">
<p>JMeter has been tested and works under Unix (Solaris, Linux, etc) and Windows (98,
NT, 2000).  JMeter is a 100% Java application and should run correctly on any system
that has a compliant Java implementation.</p>
</subsection>
</section>

<section name="2.2 Optional" anchor="optional">
<p>If you plan on doing JMeter development or want to use Sun's Java Standard Extension packages, then you will need one or more optional packages listed below.</p>


<subsection name="2.2.1 Java Compiler" anchor="opt_compiler">
<p>If you want to build the JMeter source or develop JMeter plugins, then you will need a fully compliant JDK1.2 or higher compiler.</p>
</subsection>

<subsection name="2.2.2 SAX XML Parser" anchor="opt_sax">
<p>JMeter comes with Apache's <a href="http://xml.apache.org/">Xerces XML parser</a>. You have the option of telling JMeter
to use a different XML parser. To do so, include the classes for the third-party parser in JMeter's <a href="#classpath">classpath</a>,
and update the <a href="#configuring_jmeter">jmeter.properties</a> file with the full classname of the parser
implementation.</p>
</subsection>

<subsection name="2.2.3 Email Support" anchor="opt_email">
<p>JMeter has limited Email capabilities (it can send email based on test results).
To enable Email support, add Sun's JavaMail packages to JMeter's <a href="#classpath">classpath</a>.</p>
</subsection>

<subsection name="2.2.4 SSL Encryption" anchor="opt_ssl">
<p>To test a web server using SSL encryption (HTTPS), JMeter requires that an
implementation of SSL be provided (such as Sun's <a href="http://java.sun.com/products/jsse/index.html">Java Secure Sockets Extension -- JSSE</a>).
Include the necessary encryption packages in JMeter's <a href="#classpath">classpath</a>.  Also, update <a href="#configuring_jmeter">jmeter.properties</a>
by registering the SSL Provider.</p>
<p>Note: if you are running JDK1.4, then you do not have to download JSSE because Sun integrated it into JDK1.4 as a standard library.</p>
</subsection>

<subsection name="2.2.5 JDBC Driver" anchor="opt_jdbc">
<p>You will need to add your database vendor's JDBC driver to the <a href="#classpath">classpath</a> if you want to do JDBC testing.</p>
</subsection>
</section>

<section name="2.3 Installation" anchor="install">
<p>Installing JMeter is a snap.  Specifics depend on which release file you
downloaded.</p>


<subsection name="2.3.1 Downloading the Latest Release" anchor="download_release">
<p>We recommend that most users run the <a href="http://jakarta.apache.org/builds/jakarta-jmeter/release/">latest release</a>.</p>
<p>To install a release build, simply unzip the zip/tar file into the directory
where you want JMeter to be installed.  Provided that you have a JDK correctly installed
and the JAVA_HOME environment variable set, there is nothing more for you to do.</p>
</subsection>

<subsection name="2.3.2 Downloading Nightly Builds" anchor="download_nightly">
<p>If you do not mind working with beta-quality software, then you can download and run the <a href="http://jakarta.apache.org/builds/jakarta-jmeter/nightly">latest nightly build</a>.</p>
<p>To install a nightly build, unzip the zip/tar file into the directory where you want JMeter
to be installed.  Then, open a shell or command prompt and change to JMeter's top-level directory.
Next, type "build install".  Provided that you have a JDK correctly installed
and the JAVA_HOME environment variable set, JMeter should be installed successfully.</p>
</subsection>
</section>

<section name="2.4 Running JMeter" anchor="running">
<p>To run JMeter, run the jmeter.bat (for Windows) or jmeter (for Unix) file.</p>

<p>If JMeter does not start correctly, it may be because your system does not support
the commands contained in jmeter.bat/jmeter.  If this is the case,
you will need to rewrite the jmeter.bat/jmeter file to explicitly include all
JAR files that are located in JMeter's "lib" directory in the JMeter classpath.</p>


<subsection name="2.4.1 JMeter's Classpath" anchor="classpath">
<p>The jmeter.bat/jmeter file automatically adds all JAR files that are located in JMeter's "lib"
directory to JMeter's classpath.  If you want to add other JAR files to JMeter's classpath, then
you must copy them to JMeter's "lib" directory.</p>
</subsection>

<subsection name="2.4.2 Using a Proxy Server" anchor="proxy_server">
<p>If you are testing from behind a firewall/proxy server, you may need to provide JMeter with
the firewall/proxy server hostname and port number.  To do so, run the jmeter.bat/jmeter file
from a command line with the following parameters:</p>
<p>-h [proxy server hostname or ip address]<br/>
-p [proxy server port]</p>
<p><b>Example</b>: jmeter -h my.proxy.server -p 8000</p>
</subsection>

<subsection name="2.4.3 Non-GUI Mode" anchor="non_gui">
<p>For non-interactive testing, you may choose to run JMeter without the GUI. Run the
nongui.bat/nongui.sh script has one required parameter:</p>
<p>-o [name of JMX file that contains the Test Plan].</p>
<p>The script also lets you specify the optional firewall/proxy server information:</p>
<p>-h [proxy server hostname or ip address]<br/>
-p [proxy server port]</p>
<p><b>Example</b>: nongui -o my_test.jmx -h my.proxy.server -p 8000</p>
</subsection>
</section>

<section name="2.5 Configuring JMeter" anchor="configuring_jmeter">
<p>If you wish to modify the properties with which JMeter runs you need to
  either modify the jmeter.properties inside of the /bin directory or create
  your own copy of the jmeter.properties and specify it in the command line
  (jmeter [properties file]).
  </p>
  <properties>
	<property name="search_paths">If you have developed new extensions to JMeter,
		you can tell JMeter where to find your classes by adding the name of the
  jar, or the directory where your classes live.</property>
  <property name="user.dir">The directory JMeter will first go to for saving and
	loading test scripts.</property>
  <property name="remote_hosts">Comma-delimited list of remote JMeter hosts.
	If you are running JMeter in a distributed environment, list the machines where
  you have JMeter remote servers running.  This will allow you to control those
	servers from this machine's GUI</property>
  <property name="not_in_menu">A list of components you do not want to see in
	JMeter's menus.  As JMeter has more and more components added, you may wish to
  customize your JMeter to show only those components you are interested in.
  You may list their classname or their class label (the string that appears
  in JMeter's UI) here, and they will no longer appear in the menu's.</property>
  </properties>
</section>

</body>
</document>

