IBM Support

Enabling RFT testing of an Eclipse RCP application

Troubleshooting


Problem

This technote provides how to enable IBM® Rational® Functional Tester 6.x (RFT) for testing Eclipse installations or an Eclipse Rich Client Platform (RCP) application. In RFT version 7.x the enablement of RCP or Eclipse applications works out of the box with no additional work required.

Symptom

The RFT enabler tool enables testing of a an Eclipse installation or an Eclipse Rich Client Platform (RCP) application. When you use the enabler, it copies the enabler plug-in to the Eclipse plug-ins directory. The enabler tool just copies the enabler plug-in into a directory named:

    com.rational.test.ft.enabler.wsw_6.1.0

In RFT version 7.x the enablement of RCP or Eclipse applications works as-is with no manual work. Also there is section in the help menu, which has step by step instructions on how to enable manually, if automatic approach fails.

Resolving The Problem



Compatibility with Eclipse 2.0


The 6.1 version of the enabler plug-in is compatible with Eclipse 2.0 through Eclipse 3.x. It is not compatible with Eclipse 1.x. In order to run on both 2.x and 3.x, the enabler plug-in is a 2.x-style plug-in, not a new osgi-style Eclipse 3.x plug-in.



Dependencies of the enabler plug-in


Because the enabler plug-in is a 2.x-style plug-in, in order to allow it to run in Eclipse 3.x it needs the compatibility support pull-ins. In Eclipse 3.0, these pull-ins were called:

org.eclipse.core.runtime.compatibility_3.0.0

org.eclipse.ui.workbench.compatibility_3.0.0


These are generally included with a full Eclipse install but may not be included in an Eclipse RCP application. The enabler tool does NOT install these, so you may need to copy them from an Eclipse install into your Eclipse RCP application. Be sure that the Eclipse install is the same version as your Eclipse RCP application.



Updating the Eclipse configuration


When you add a plug-in such as the enabler plug-in to an Eclipse installation, Eclipse needs to update its configuration. This can usually be done by running the program one time with the -clean parameter on the command line. Note that most Eclipse RCP applications do support this command line parameter. However, the -clean parameter depends on another plug-in being available in your installation. In Eclipse 3.0 this plug-in was:

org.eclipse.update.configurator_3.0.0


Another complication I have seen in an Eclipse RCP application is the use of an explicit list of pull-ins to be loaded that is specified in the eclipse\configurations\config.ini file. If your Eclipse RCP application contains a configurations\config.ini file with these two settings:

osgi.bundles=

osgi.bundles.defaultStartLevel=


You can try to comment out the lines before you run the Eclipse RCP application with the command line argument -clean. To comment the lines, just use a hash mark at the beginning of the line.

#osgi.bundles=

#osgi.bundles.defaultStartLevel=




Combined steps to trouble-shoot enabling an Eclipse RCP application

  1. Ensure that the RCP application contains the following pull-ins. If they are missing, copy them in from an Eclipse installation that has the same version as your Eclipse RCP application. Note that the version numbers may vary.

    org.eclipse.core.runtime.compatibility_3.0.0
    org.eclipse.ui.workbench.compatibility_3.0.0
    org.eclipse.update.configurator_3.0.0
  2. Verify if your Eclipse RCP application has a config.ini file in its configurations directory. If it does, make sure that these settings are missing or are commented-out (by being prefixed by the hashmark):
    #osgi.bundles=
    #osgi.bundles.defaultStartLevel=
  3. Run the enabler tool (or hand copy the enabler plug-in)

    com.rational.test.ft.enabler.wsw_6.1.0
  4. Run the Eclipse RCP application with the command-line argument -clean. You do not need to run it with -clean every time, just once after you change the pull-ins in the installation of your application.

[{"Product":{"code":"SSJMXE","label":"IBM Rational Functional Tester"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Eclipse","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"6.1;6.1.0.1;6.1.1;6.1.1.0;6.1.1.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 June 2018

UID

swg21209645