1.1.0 • Published 4 years ago

qtestmanager-node v1.1.0

Weekly downloads
39
License
-
Repository
github
Last release
4 years ago

qtestmanager-node

A library to simplify the consumption of QA Symphony's qTest Manager API

Installation

npm install --save qtestmanager-node

Updates

1.1.0 July 2020

Update outdated dependencies.

1.0.7

Publish the actual build instead of the src :eye-roll:

1.0.6

Fix issue where XML files the did not contain a "testsuites" element were failing to parse

1.0.5

Add a note to files uploaded with the XML uploader

1.0.4

Fix how the junit failure/pass was being read

Usage

qtestmanager-node offers a variety of ways to integrate with qTest Manager. It is designed to be as light-weight, or full featured as needed.

Authenticate

var QTMAuthenticator = require('qtestmananger-node').Authenticator;
var authenticator = new QTMAuthenticator("https://yourhost.qtestnet.com");

authenticator.login(username, password).then(function(accessToken) {
	// do something with accessToken
});

Upload XML Results

var QTMFileUploader = require('qtestmananger-node').FileUploader;
var fs = require('fs');
var xml = fs.readFileSync(pathToXML, "utf-8");

var uploader = new QTMFileUploader("https://yourhost.qtestnet.com", token);
// ID of the target project
uploader.projectId = 12345;

// Type of module to which you are uploading
// The uploader uses QTM's search API. It is
// the same syntax as the 'Data Query' in
// Test Execution
uploader.moduleType = "Test Cycle"

// Id of the module to which you are uploading
uploader.moduleId = 67890;

// Optional. Set the regex that parses out the test id
uploader.testNameRegex = regex;

// Upload results
uploader.uploadJUnitResults(xml).then((responses) => {
	// handle responses from POSTed test executions
    // and don't forget to call authenticator.logout()
    // once you are done.
});

Execute a Test Run

var QTMSaver = require('qtestmanager-node').Saver;
var QTMLog = require('qtestmanager-node').AutomationTestLog;

var saver = new QTMSaver("https://yourhost.qtestnet.com", token);
var log = new QTMLog():

// Create the log
// The properties below are required
log.projectId = 32495;
log.testRunId = 7217978;
log.name = "Name";
log.automationContent = "Automation Content";
log.executionStartDate = new Date().toISOString();
log.executionEndDate = new Date().toISOString();
log.status = "PASS";

// Save the new log
saver.saveNew(log).then(function(response) {
	// Handle response
});

Find all of the TestRuns in a Test Suite

var finder = new Finder(host, token);
finder.findTestRunsInModule(32495, 523880, "Test Suite").then((testRuns) => {
    console.log(testRuns);
})

Disclaimer

This package was developed by me to make my life, and the life of my co-workers, a little easier. qtestmanager-node is not developed by, or associated with QASymphony.

1.1.0

4 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago