Skip to content
jpeterka edited this page Dec 3, 2012 · 52 revisions

The goal of the Red Deer project is to provide an extendable framework to support building automated Eclipse tests. Red Deer operates the Eclipse user interface so that you can focus on writing tests for your business logic instead of tweaking around low-level eclipse specific tasks like "how to open my view" or "how to find out if the server has already started".

Red Deer is divided into several layers. This design allows you to use the framework to test pure SWT applications as well as Eclipse plugins. The layers are:

  • SWT layer - capable of finding and operating SWT widgets. At present, this layer is based on SWTBot library, however, this might change in the future
  • JFace layer - contains classes for operating JFace components, e.g. WizardDialog or PreferencePage
  • Workbench layer - contains classes for operating components specific to Eclipse e.g. View
  • Eclipse layer - contains classes capable for operating concrete Eclipse parts - PackageExplorer, ServersView etc.

Red Deer also includes a JUnit component to enable you to organize your tests and to define configuration prerequisites required by the tests.

In addition, Red Deer is designed to be easily extensible so that you can not only make use of default behaviour, you can extend any class and modify it.

Here's a short example of Red Deer's API:

ServersView serversView = new ServersView();
Server server = serversView.getServer("My Server");
server.start();

Note that you do not have to worry to wait for the server to start - the framework will take care of it for you so you can focus on your test logic!

Project status: current version ** 0.1.0 **

  • concept proof (till version <0.0.1-0.0.x), API can change significantly,
  • -> incubation (since version <0.1-1.0)), API can grow, API changes are possible
  • production (since version >1.0), API will not reduce until next major version