Integrate Micro Focus ALM with Perfecto

Many organizations are eager to utilize Selenium-based tests for both web and mobile testing but still require the test management capabilities of Micro Focus ALM. This reference architecture describes a method for executing Selenium-based scripts from Micro Focus ALM. You can easily modify it to run on concurrent devices, use a different build server, or use a different unit test framework.

Important: This document includes references to a third-party product, Micro Focus ALM. The user interface and usage of third-party products are subject to change without notice. For the latest published information about <product name>, see https://admhelp.microfocus.com/alm/en/17.0-17.0.1/online_help/Content/Resources/_TopNav/_TopNav_Home.htm.

Prerequisites

This section assumes that you have a basic understanding of the following:

  • Micro Focus ALM customization
  • Jenkins configuration
  • Selenium coding in Java using Eclipse

In addition, setting up the Perfecto integration with Micro Focus ALM requires the following:

  • Micro Focus ALM 11.0 or later

    The project template provided here is for ALM 17.

  • Jenkins CI Server (or equivalent)

  • Source code repository supported by Jenkins (this example uses Subversion)

  • Java Selenium-based tests leveraging the JUnit framework

  • A Java project that uses Maven for build dependencies

Implementation overview

Micro Focus ALM provides the following extensible APIs for integrating external tools:

  • OTA (Open Test Architecture)
  • VAPI-XP tests

This implementation uses a standard VAPI-XP test in Micro Focus ALM. When the test is executed, parameters are first passed into the test, then the Jenkins API is called to initiate an execution of a predefined build job. This build job executes a Selenium-based test. When the build job has finished, the VAPI-XP test collects the console output from Jenkins and the Perfecto execution report and attaches them to the run.

Step-by-step instructions

Click a step to view details.