<html>
    <head>
        <title>TestNG - Download Current Release and Beta Versions</title>
        <script type="text/javascript" src="banner.js"></script>
        <link rel="stylesheet" href="testng.css" type="text/css" />
      </head>
<body>

<script type="text/javascript">
    displayMenu("download.html")
</script>


<h2 align="center">Downloading TestNG</h2>

<h3>Current Release Version</h3>

<p> The latest version of TestNG can be downloaded from <a href="http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22testng%22">Maven Central</a>. </p>
<p>For the Eclipse plug-in, we suggest using the update site:</p>
<ul>
	<li>Select<i> Help / Software updates / Find and Install.</i> 
	</li>
	<li><i>Search for new features to install.</i> 
	</li>
	<li><i>New remote site.</i> 
	</li>
	<li>For Eclipse 3.4 and above, enter <a href="http://beust.com/eclipse">http://beust.com/eclipse</a>.
	<li>For Eclipse 3.3 and below, enter <a href="http://beust.com/eclipse1">http://beust.com/eclipse1</a>.
	</li>
	<li>Make sure the check box next to URL is checked and click <i>Next</i>. 
	</li>
	<li>Eclipse will then guide you through the process. </li>
</ul>

<p>You can also install older versions of the plug-ins <a href="http://beust.com/eclipse-old">here</a>. Note that the URL's on this page are update sites as well, not direct download links.

<p>TestNG is also <a href="http://github.com/cbeust/testng">hosted on GitHub</a>, where you can download the source and build the distribution yourself:

<pre class="brush: plain">
$ git clone git://github.com/cbeust/testng.git
$ cd testng
$ cp ivy-2.1.0.jar ~/.ant/lib
$ ant
</pre>

<p>You will then find the jar file in the <tt>target</tt> directory</p>

<h3>Beta Version</h3>

<p>The beta version contains changes that have been committed to the repo since the current release.</p>
<p>Take a look at <a href="https://github.com/cbeust/testng/blob/master/CHANGES.txt">CHANGES.txt</a> to see if the change you want is included in the beta (listed under "Current").</p>
<p>You can <a href="/beta">download the beta version here</a>.</p>

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-238215-2";
urchinTracker();
</script>


</body>

</html>
