Test framework integration development

Tesults provides integrations for popular test frameworks to make it quick and easy to upload test results data. Test developers can configure results upload to Tesults in minutes using these integrations.

We are always lookings to offer new integrations for emerging test frameworks and update existing ones to provide more powerful functionality. See the links under 'Test Frameworks' to view examples of existing integrations.

Develop a test framework integration

Tesults welcomes integration developers. We offer bounties for development of integrations. No bounties are paid for unsolicitated integrations, we must enter a contract for development and agree terms prior to development beginning to qualify for a bounty. Contact help@tesults.com to get started.

All integrations must meet the requirements outlined below.

Basic Requirements

  • Integrations must utilize a Tesults language library for uploading results data.
  • Integrations must only require configuration and no code on the part of test developers.
  • Integrations should be quick and easy to configure. Installation and setup should take 5-10 minutes at most.
  • Integrations must be released under the MIT license and hosted in public repositories (Tesults will specify a repository).
  • Where possible, integrations should be available to install from popular package managers such as npm, PyPI and NuGet (package to be under a Tesults account).
  • Integrations must meet the basic functional requirements outlined below.

Functional Requirements

All integrations are expected to meet these minimum protocols. If you have not used a Tesults integration before these requirements may be difficult to understand and it is recommended you take a look at the documentation for an existing test framework such as for Playwright (Node.js) to gain context.

  1. The integration must accept the following parameters:
    1. target - used to supply the target token, if this is not supplied, the integration should be disabled and output a message informing the user of this
    2. build-name - used to supply a build name
    3. build-result - used to supply a build result
    4. build-raw-result - used to supply a build raw result
    5. build-reason - used to supply a build failure reason
  2. File uploads must be supported. Ideally files are mapped for upload using a mechanism the test framework supports, if that is not possible the integration should provide a mechanism to do so for a test author.
  3. While uploading results the integration must output to the console the text: 'Tesults results upload...'
  4. After upload is complete the integration must output the status of the response in the following format:
    Success: true
    Message: Success
    Warnings: 0
    Errors: 0

    Success value must be true or false as returned from a Tesults language library. Message should be 'Success' if Success is true, otherwise it should be the failure message returned in the Tesults language library response. Warnings indicates the number of file uploads that failed, Errors indicates the number of results upload failures.
  5. The integration must under go testing and security analysis by the Tesults team prior to publishing. A functional test checklist may be supplied to the integration developer.

The Tesults team is here to support integration developers. Contact help@tesults.com for answers to any questions you may have.