JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14065
  • Score
    100M100P100Q136851F
  • License MIT

JavaScript client for TestRail API

Package Exports

  • testrail-api-client
  • testrail-api-client/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (testrail-api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

testrail-api-client

TypeScript and JavaScript binding for TestRail API v2

npm version Coverage Status npm downloads

Installing

Using npm:

$ npm install testrail-api-client

Using yarn:

$ yarn add testrail-api-client

Example

note: CommonJS usage

Using Environment Variables:

const client = require("testrail-api-client");

Using Custom Options:

const client_options = require("testrail-api-client").default;

const options = {
  domain: "example.testrail.com",
  username: "example@example.com",
  password: "ABC",
};

const client = new client_options(options);

addRun

const runName = "Example Run Name";
const runDescription = "Example Run Description";
const projectId = 1;
const testSuiteId = 123; // optional
const caseIds = [1, 2, 3]; // optional
const milestoneId = 4; // optional
const refs = "ref"; // optional
client
  .addRun(runName, runDescription, projectId, testSuiteId, caseIds, milestoneId, refs)
  .then(function (runId) {
    console.log(`Created run with id: ${runId}`);
  })
  .catch((error) => console.error(error));

getTests

const runId = 123;
client
  .getTests(runId)
  .then(function (cases) {
    console.log(`Number of cases from run #${runId}: ${cases.length}`);
  })
  .catch((error) => console.error(error));

closeRun

const runId = 123;
client
  .closeRun(runId)
  .then(console.log(`Closed run with id: ${runId}`))
  .catch((error) => console.error(error));

getCases

const projectId = 1;
const suiteId = 123; // optional
client
  .getCases(projectId, suiteId)
  .then(function (cases) {
    console.log(`Number of cases in suiteid=${suiteId}: ${cases.length}`);
  })
  .catch((error) => console.error(error));

addResultsForCases

const runId = 123;
const reportTests = [{ case_id: 12345, status_id: 1, comment: "Test comment" }];
client
  .addResultsForCases(runId, reportTests)
  .then(() => {
    console.log("Done");
  })
  .catch((err) => {
    console.log(err);
  });

updateRunDescription

const runId = 123;
const description = "Run Description";
client
  .updateRunDescription(runId, description)
  .then(() => {
    console.log("Done");
  })
  .catch((err) => {
    console.log(err);
  });

addAttachmentToResult

const runId = 123;
client
  .addAttachmentToResult(runId, '../testrail-api-client/README.md')
  .then((response) => {
    console.log("Done", response);
  })
  .catch((err) => {
    console.log(err);
  });

Environment variables

Variable Description
TESTRAIL_DOMAIN This is a required variable to point the client to your TestRail instance.

Required
Example: example.testrail.com
TESTRAIL_USERNAME This is a required variable to authenticate HTTP communication.

Required
Example: example@example.com
TESTRAIL_APIKEY This is a required variable to authenticate HTTP communication. Can be obtained in TestRail settings, see [http://docs.gurock.com/testrail-api2/accessing].

Required
Example: ABC
TESTRAIL_PROJECTID This is a required variable to point client to the right project.

Required
Example: 1