blob: 903d7b411bb4b7649b59bc85996d6af3278bf686 [file] [log] [blame]
<div id="bigbuttons">
<h3>Primary Links</h3>
<ul>
<li><a id="buttonDownload" href="http://wiki.eclipse.org/SWTBot#Latest_snapshot_build" title="Download">Eclipse
Distribution, Update Site, Dropins</a></li>
<li><a id="buttonDocumentation" href="http://wiki.eclipse.org/SWTBot"
title="Documentation">Tutorials, Examples, Videos, Reference Documentation</a></li>
<li><a id="buttonSupport" href="http://wiki.eclipse.org/SWTBot/Support" title="Support">Bug
Tracker, Newsgroup, Support</a></li>
<li><a id="buttonInvolved" href="http://wiki.eclipse.org/SWTBot/Contributing" title="Getting Involved">Contributor Guide, Mailing Lists, Wiki</a></li>
</ul>
</div>
<div id="midcolumn">
<h1>What is SWTBot?</h1>
<p>SWTBot is an open-source Java based UI/functional testing tool for testing <a href="/swt">SWT</a>, <a href="/">Eclipse</a> and <a href="/gef">GEF</a> based applications.</p>
<p>SWTBot provides APIs that are simple to read and write. The APIs also hide the complexities involved with SWT and Eclipse. This makes it suitable for UI/functional testing by everyone, not just developers. SWTBot also provides its own set of assertions that are useful for SWT. You can also use your own assertion framework with SWTBot.</p>
<p>SWTBot integrates with Eclipse PDE, Eclipse headless testing framework, Ant and <a href="http://eclipse.org/tycho">Tycho</a>, so it's easy to use in your IDE and Headless Builds (as part of a CI job for example).</p>
<p>SWTBot can run on all platforms that SWT runs on. Very few other testing tools provide such a wide variety of platforms.</p>
<p>Starting from version 2.1.0, SWTBot also provide a <a href="http://wiki.eclipse.org/SWTBot/Generator">Test Recorder and Generator</a> that you can use to generate your test case simply by recording the UI actions as an end-user would perform them. This is really helpful to get quickly a first sketch of your SWTBot scenario and reduce costs of writing tests.</p>
</div>
<div id="rightcolumn">
<p>
<a class="twitter-timeline" href="https://twitter.com/search?q=%23SWTBot" data-widget-id="387570714603053056">Tweets about SWTBot</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</p>
</div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-910670-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-414875-5']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>