Search code examples
installationcontinuous-integrationautomated-testshudsonrft

Configuring Rational Functional Tester (RFT) to run in Hudson/Jenkins


I've just installed Hudson and it is running beautifully. It builds, runs JUnit-tests and also CheckStyle analysis.

Next step for us would be to create an installation, install it and then run automated tests on the actual installation. I would then like to fail the build if the tests fail or at least publish the results somehow. I think we would set it up so that part runs periodically or manually triggered.

We use InstallAnywhere for installation and IBM Rational Functional Tester for automated tests.

So questions are: anyone created a similar setup? are there any plugins, tutorials or other resource that could help me along. Or do you have any tips or advice in general.


Solution

  • We have run a fairly complicated distributed build on Hudson, it is a process that basically follows:

    1. Test on Windows.
    2. Test on OSX, run code coverage & push results to server.
    3. Test on OSX Tiger.
    4. Package for OSX Leopard & push build to server.
    5. Package for Windows & push build to server.
    6. Update product website.

    We don't use InstallAnywhere or Rational Functional Tester, but have similar sorts of mechanisms in their place. The key we found to making it all sing in Hudson was being able run our various steps from the command line. Maven and appropriate plugins made short work of this task. So my advice would be just that, using whatever build tool you are using (ant, maven, ?) configure them so that you can run your rational functional tester and install anywhere from the command line with a simple goal passed to your build tool (i.e. mvn test or mvn assembly:assembly).

    After that, make sure whatever machine Hudson is running on has everything installed (i.e. Rational Functional Tester) and configured, so that you can open up the command line and type in the goal and have your tests correctly execute.

    Hooking it up in Hudson from that point on is fairly simple - just pass in the goal when you configure the build.