Skip to content

Tests Execution

Josef Kopriva edited this page Apr 16, 2019 · 7 revisions

Run test

Via Eclipse IDE

Install RedDeer UI feature from reddeer update site - see Getting Started - Installation.

RedDeer project can be run from Run As/Debug As menu -> and choose 'RedDeer Test' run configuration

RedDeer Test run configuration is a basic JUnit run configuration with one more tab - RedDeer - containing all RedDeer configuration properties.

Via Maven

In your project's pom.xml you need to define and configure tycho maven plugins. See RedDeer maven archetype or RedDeer tests pom.

RedDeer execution parameters

All reddeer execution parameters starts with prefix 'rd.'.

Test run parameters

Parameter Default value Type Description Source
rd.timePeriodFactor 1.0 float number Increases or decreases wait time in wait conditions. TimePeriod

Debugging parameters

Parameter Default value Type Description Source
rd.logMessageFilter ALL pipe separated string filters log messages according to settings. Possible values are none,trace,debug,error,warn,info,step,error,fatal,all. Values are not case sensitive.
rd.logLevel ALL string filters log messages according to settings. Possible values are none,trace,debug,error,warn,info,step,error,fatal,all. Values are not case sensitive. ExecutionSettings
rd.pauseFailedTest false boolean When test fails it pauses next execution until return is pressed. ExecutionSettings
rd.relativeScreenshotDirectory not set string Captures screenshot of failed jobs into given directory. CaptureScreenshot
rd.captureScreenshot not set string If set to "true" or null then screenshots are being captured. Otherwise screenshots are not taken. CaptureScreenshot

JUnit extensions

Parameter Default value Type Description Source
rd.config undefined string Sets directory containing RedDeer requirement configuration(s).
rd.closeShells true boolean Closes all shells, if not successful test fails. CloseAllShellsExt
rd.closeWelcomeScreen true boolean Closes welcome screen if true. CloseWelcomeScreenExt
rd.disableMavenIndex true boolean Disables downloading maven repository when set to true. DoNotDownloadMavenIndexesExt
rd.openAssociatedPerspective never string Controls behavior of opening of associated perspective when project is created. SetOpenAssociatedPerspectiveExt
rd.maximizeWorkbench true boolean Maximize workbench shell when test execution starts. MaximizeAndFocusWorkbench
rd.logCollectorEnabled true boolean Collect Eclipse workbench log and process it for a specific test class and test methods. MaximizeAndFocusWorkbench

Tycho

Parameter Default value Type Description Source
debugPort not set int Allows remote debugging on given port. Tycho

Plugin customization

Sometimes it's useful to set Eclipse plugin preference prior Eclipse start. For this purpose Eclipse command line argument -pluginCustomization can be used. This command line argument has to point to properties file within file system where are specified all Eclipse plugin preferences to be set for started Eclipse instance.

Usage:-pluginCustomization <properties file location>

For each preference to be set this properties file has to contain line like this:

<plugin id>/<setting>=<value>

For example this line will set preference PLUGINS_NOT_ACTIVATED_ON_STARTUP for plugin org.eclipse.ui.workbench to value org.eclipse.equinox.p2.ui.sdk.scheduler;org.eclipse.m2e.discovery

org.eclipse.ui.workbench/PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.equinox.p2.ui.sdk.scheduler;org.eclipse.m2e.discovery;

It will disable Eclipse to check for updates after Eclipse start up and therefore Updates available shell will not be displayed and will not steal focus from workbench shell

Usage with Maven Tycho

Just set Tycho parameter appArgLine accordingly to provide -pluginCustomization Eclipse command line argument properly set:

<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.eclipse.tycho</groupId>
             <artifactId>tycho-surefire-plugin</artifactId>
             <configuration>
                 ...
                 <appArgLine>-pluginCustomization ${basedir}/pluginCustomization.ini</appArgLine>
                 ...
             </configuration>
             ...
        </plugin>
        ...
    </plugins>
</build>
Clone this wiki locally