eggPlant Integration

This eggPlant integration includes a command line tool capable of kicking off eggPlant scripts on your local machine and reporting test results in JUnit-compatible format back to qTest Manager.  Automation Test Cases and Test Runs are automatically created in qTest Manager.

This integration follows the Automation Integration V1 model to pass in execution results to qTest Manager Test Execution.

IMPORTANT:

  • eggPlant Functional and the eggPlant Connector must be installed on the same machine for the eggPlant.Connector to kick off eggPlant.scripts.

  • The integration tool works with eggPlant.Functional v16.01.

  • The tool works best on a Windows machine.

  • JDK 7+ is required to be installed on your machine.

See the instructions below to setup and use this integration.

Enable Automation Integration Settings in qTest

To receive test results submitted by eggPlant.Connector, you need to activate the Automation Integration feature in your qTest Manager project.

  1. Access your qTest Manager project, and then click the Gear icon and select Automation Settings.

  2. Switch on the Activation Status.

  3. Map the automation execution results with corresponding qTest Manager values.  The eggPlant.Connector collects test results which have been converted to JUnit-compatible format.  Execution results in JUnit format include:

    • Success

    • Failure

    • Running

  4. Click the Save button.

Download and Configure eggPlant.Integration Package

  1. Download the eggPlant.Integration Package from the qTest Resources page to set it up on the same machine where your eggPlant.tests are executed.

  2. After downloading the appropriate package that is compatible with your qTest version, extract the package and access to the extracted directory:

  3. In the extracted directory above, you can find the config.properties file, which stores all available configurations.  You need to modify the keys in the file as described in the table below.

Key Required Description
qTest.url Yes The URL to access your qTest instance
qTest.tokenstring Yes

The token to login to your qTest instance. You can get the token from the qTest Resources page.

qTest.project.id Yes

ID of the qTest project to which you want to report Test Execution results.. You can get the project ID from its URL or on the Site Administration Projects page:

qTest.testsuite No

When test results are submitted to qTest Manager, Test Runs are automatically created in qTest if they do not already exist.

You can specify a qTest Manager Test Suite where the submitted Test Runs will be located using its ID or PID.

If it is omitted, one Test Suite is created per execution date to contain the Test Runs.  If eggPlant.tests are executed multiple times in one day, all Test Runs are located in the same Test Suite of that day.  The Test Suite is named as eggPlant.yyyy-mm-dd, in which yyyy-mm-dd is the execution date, and it is located under the Test Execution tree's root.

rundate No

Specify an execution date in the format yyyy-mm-dd which will be used in the default Test Suite name.

If it is omitted, qTest Manager will use the test log submitted date to create the Test Suite.

qTest.parent.module No

When test results are submitted to qTest Manager, Test Cases are automatically created in qTest Manager if they do not already exist.

All eggPlant.Test Cases are located under the module eggPlant.Automation located under the Test Design tree's root.

If you specify a parent module using its PID or ID, the eggPlant.Automation module will be created under the parent module.

eggplant.results.directory Yes Directories in which test results are located.  You can specify multiple directories, separated by | character. Use / in the directory paths.

You can use wildcards to specify result directories as below:

  • ? matches one character

  • * matches zero or more characters

  • ** matches zero or more 'directories' in a path

eggplant.command No

You can specify an eggPlant command line to kick off eggPlant.scripts before collecting the test logs.

If only collect the existing test logs and submit them to qTest Manager, please leave this key empty.

eachMethodAsTestCase No

If Yes, each <testcase> tags in JUnit XML test logs is created as one Test Case in qTest Manager.

submit.latest No If Yes, only the latest test logs are submitted.  Otherwise, all existing test logs which have not been reported to qTest Manager will be submitted.
submit.automatedstepresults No By default the key’s value is Yes.
  • If its value is yes, results of each test step are submitted to qTest Manager.

  • If its value is no, automated test step logs are omitted.  Only the result of the overall test run’s log are submitted to qTest Manager. However, associated Test Cases’ steps are not overwritten.

IMPORTANT:

  • eggPlant.Connector only collects test logs in the Result directory which is located under the test suite directory.

Execute eggPlant.Connector

Via Command Line

After you have completed modifying the config.properties file, you are ready to execute the tool.

  1. Open the console and access the extracted folder of the downloaded package.  Execute this command:

    java -jar eggplant-connector-1.0.0.jar
  2. Submission progress is logged in the console so you can monitor it.

  3. After the submission is complete, you can access your qTest Manager project to verify if Test Cases and Test Runs have been created.

Via qTest UI

After you have completed modifying the config.properties file, you are ready to execute the tool.  With qTest's shell agent, you'll be able to trigger these tests directly from qTest Manager. First, setup your Automation Host on your machine or server.  Once that is done, create a Shell (for Mac. or Batch (for Windows. file. Within that file, simply add your command and save the file:

The last step is to create and configure your Shell Agent. Since our shell agent will be running the JAR file, there is no need to customize a script that will create the tests and update the results.  All of this is out of the box and if you need to change the scripts to be run or the location of the results in qTest Manager, update the config file as described at the beginning of this article.  Below is a screenshot of what your agent directory should look like:

This agent can now be scheduled and/or ran from qTest Launch.

NOTE:

  • Run this command to view available arguments of the eggPlant.Connector.

    java -jar eggplant-connector-1.0.0.jar --help
  • Instead of using the default config.properties files, you can specify another file which contains the configurations by using argument -conf or --configFile

  • Configurations can be defined in either the configuration file or via command line arguments.  If the same configuration is defined in both places, the eggPlant.Connector will use the configuration in the command line arguments.

  • eggPlant.Connector creates qTest.info file in the eggPlant.Results directory. Please do not remove it or duplicate test logs will be created in qTest Manager.