Skip to content

Frequently asked questions

ldimaggi edited this page Oct 30, 2012 · 8 revisions

Frequently asked questions

Why was RedDeer created?

RedDeer was created to mainly solve several problems coming from SWTBot usage:

  • test instability
  • missing/problematic/not-working API for specific operations (ContextMenus, Trees, etc.)
  • no support for Eclipse Juno
  • no common API for high-level operations (specific view, etc.)

Why should I use RedDeer instead of SWTBot?

SWTBot provides element operations for SWT and Eclipse parts. You don't have to bother with low level things and workarounds and can fully focus on things you're testing and test stability and reliability should be significantly better. For more see following comparison:

Comparsion

Is RedDeer using SWTBot?

In current versions, yes. This might change in the future.

Is Red Deer Eclipse Specific? Can I use it for Non-Eclipse SWT Tests?

Red Deer is in the early stages of its development. The initial releases of Red Deer will focus on eclipse-based tests. In the future, Red Deer will support automated tests for all SWT-based applications.

Which version of Eclipse RedDeer supports?

Currently only Eclipse 4.2.x (Juno) is supported

How is Red Deer Packaged?

RedDeer is "packaged" as an update site: http://p2-reddeer.rhcloud.com/stable/

Can I access Multiple Versions of Red Deer?

Yes, there are update sites for master branch (development), stable branch and releases (git tags). See http://p2-reddeer.rhcloud.com

Is RedDeer suitable for a production environment?

Not fully until version 1.0. Currently RedDeer can be used partially based on current state of implementation. API changes must be expected. But feel free ty try it and see the advantages.

How do I provide any actions after workbench is created or before it is closed?

Red Deer does not provide any special support except for what already provides JUnit itself - extend the RedDeerSuite and override its run method. There you can close usage dialogs, welcome screen or do any cleanup before shutdown.

public class MyTestSuite extends RedDeerSuite {

    public MyTestSuite(Class<?> clazz, RunnerBuilder builder)
                    throws InitializationError {
            super(clazz, builder);
    }

    @Override
    public void run(RunNotifier notifier) {
            // close usage dialog

            super.run(notifier);

            // cleanup workspace
    }
}