Description

The HCL OneTest tool provides automated software testing. This plug-in provides integration of Functional, Performance and Web UI test results (JSON) into the HCL Accelerate.

Quick Info

Product
HCL Accelerate
Type
plugin
Compatibility
HCL Accelerate version 2.0.0 or later
Created by
HCL Software
Website
Version Name Action

1.0.12

ucv-ext-onetest:1.0.12.tar

1.0.30

ucv-ext-onetest:1.0.30.tar

1.0.8

ucv-ext-onetest:1.0.8.tar

ucv-ext-onetest:1.0.12.tar

1.0.12


ucv-ext-onetest:1.0.30.tar

1.0.30


ucv-ext-onetest:1.0.8.tar

1.0.8


Summary

The HCL One Test plugin allows for parsing of data from the HCL OneTest testing tool. Data is uploaded to the HCL Accelerate server using an HTTP Post request.

Compatibility

Requires HCL Accelerate version 2.0.0 or later

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
1.0.30 Updated dataset names.
1.0.12 Bug fix
1.0.8 Update plugin version from 0.x.x to 1.x.x format.

Usage

To use the HCL OneTest plugin, the plugin must be loaded and an instance created. Load the plugin into the HCL Accelerate container if necessary. From the user interface, click Settings > Integrations > Plugins. On the Plugins page, locate the plugin and click Load Plugin. To create an instance, locate the plugin and click Install. The plugin is now listed below those plugins to be installed and available for invoking.

Integration type

The HCL One Test plugin parses data from the HCL One Test tool.

Invoking the plugin

To invoke the HCL OneTest plugin send an HTTP Post request with the data to parse. Whenever a there is a hit to the endpoint, the data is parsed and displayed as metrics in HCL Accelerate. You can use various methods such as Postman, REST calls, CURL, and CI/CD tools like Jenkins to invoke the plugin endpoints.

Invoke using Jenkins

Install the Jenkin’s UrbanCode Velocity plugin into your Jenkins server. In your freestyle job or pipeline use the UCV-Upload Metrics File to UrbanCode Velocity step and provide the required fields. This step allows your build job to upload generated coverage results files to HCL Accelerate.


pipeline {
   agent any
   stages {
      stage('oneTestMetrics') {
         steps {
            step([$class: 'UploadMetricsFile',  appName: 'My Onetest Test', dataFormat: 'onetestFTJSON', filePath: '<location of the onetest report>', name: 'my-onetest-test', pluginType: 'onetest', tenantId: '<tenant Id>', testSetName: 'onetest', metricsRecordUrl: "${env.BUILD_URL}"])
         }
      }
   }
}

Invoke the plugin using a Rest call

When using a REST call to invoke the HCL OneTest plugin, it must be a POST method and include the location of the HCL Accelerate quality data endpoint.

The following request sample shows a REST call that you can copy and update as necessary. Key points about the snippet:

  • The URL points to the HCL Accelerate quality data endpoint. Update with the server location for your installation of HCL Accelerate.
  • The BODY of the call is a multipart/form data. It includes information about the payload.

METHOD: POST 
URL: https://<url_urbancodevelocity_server>/reporting-consumer/metrics
BODY (multipart/form-data):
 {
  payload: <json_object_string> // See below for schema format
 testArtifact: <HCL_OneTest_JSON_file>
 }

 

The following shows the schema for the payload. Replace the angle brackets with your values for the parameters.


{
  "tenant_id": "<tenant_id>",    // required Tenant ID
  "metricName": "<metric_name>", // optional: name for recurring test set
  "application": {
    "name": "<application_name>"  //Name of application
  },
  "record": {
    "recordName": "<record_name>", // optional: Name for this record
    "executionDate": 1547983466015, // optional: UNIX Epoch
    "pluginType": "onetest",
    "dataFormat": "<data_type>",  // onetestFTJSON or onetestPTJSON or onetestUIJSON
    "metricsRecordUrl": "<Jenkins_build_url>" // optional: To link the Jenkins build with test results
 },
  "build": {  // Optional: One of the following fields must be included 
    "buildId": "<build_id>",
    "jobExternalId": "<external_job_id>",
    "url": "<build_url>",
  },
  "commitId": "<commit_id>",  // optional
  "pullRequestId": "<pullrequest_id>", // optional
  "environment": "<environment_name>" // optional
}

Data format details

  • onetestFTJSON is for Functional test results
  • onetestPTJSON is for Performance test results &
  • onetestUIJSON is for Web UI test results

Invoke using Curl

curl –request POST \
–url https:///reporting-consumer/metrics \
–form ‘payload={
“tenant_id”: “5ade13625558f2c6688d15ce”,
“application”: {
“name”: “My Application”
},
“record”: {
“pluginType”: “onetest”,
“dataFormat”: “onetestFTJSON”
}
}
‘ \
–form testArtifact=@test-result/oneTest.json