Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@reportportal/newman-reporter-agent-js-postman

Package Overview
Dependencies
Maintainers
0
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reportportal/newman-reporter-agent-js-postman

ReportPortal reporter for newman

  • 5.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

@reportportal/agent-js-postman

Agent to integrate Postman (based on Newman collection runner) with ReportPortal.

  • More about Postman
  • More about Newman
  • More about ReportPortal

How to use

The installation should be global if newman is installed globally, otherwise - local (replace -g from the command below with -S for a local installation).

npm install --save-dev @reportportal/newman-reporter-agent-js-postman

Usage

There are two ways to enable this reporter - with command line or programmatically.

With CLI

To enable this reporter you have to specify agent-js-postman in Newman's -r or --reporters option.

newman run https://postman-echo.com/status/200 \
  -r @reportportal/agent-js-postman \
  --reporter-@reportportal/agent-js-postman-debug=true \
  --reporter-@reportportal/agent-js-postman-endpoint=https://your-instance.com:8080/api/v1 \
  --reporter-@reportportal/agent-js-postman-api-key=reportportalApiKey \
  --reporter-@reportportal/agent-js-postman-launch=LAUNCH_NAME \
  --reporter-@reportportal/agent-js-postman-project=PROJECT_NAME \
  --reporter-@reportportal/agent-js-postman-description=LAUNCH_DESCRIPTION \
  --reporter-@reportportal/agent-js-postman-attributes=launchKey:launchValue;launchValueTwo \
  -x

Pay attention that you must add -x or --suppress-exit-code parameter while running newman using CLI.

Programmatically
const newman = require("newman");

newman.run(
    {
        collection: "./collections/newman-test_collection.json",
        reporters: "@reportportal/agent-js-postman",
        reporter: {
            "@reportportal/agent-js-postman": {
                apiKey: "<API_KEY>",
                endpoint: "https://your.reportportal.server/api/v1",
                project: "Your reportportal project name",
                launch: "Your launch name",
                description: "Your launch description",
                attributes: [
                    {
                        "key": "launchKey",
                        "value": "launchValue"
                    },
                    {
                        "value": "launchValue"
                    },
                ],
                mode: "DEFAULT",
                debug: false
            }
        }
    },
    function(err) {
        if (err) {
            throw err;
        }
        console.log("collection run complete!");
    }
);

// To run several collections
// Note, this will create multiple launches, so you can merge into one manually via the UI or API
fs.readdir("./collections_folder_path", (err, files) => {
    if (err) {
        throw err;
    }
    files.forEach((file) => {
        // setup newman.run()
    });
});
Options

The full list of available options presented below.

OptionNecessityDefaultDescription
apiKeyRequiredUser's reportportal token from which you want to send requests. It can be found on the profile page of this user.
endpointRequiredURL of your server. For example 'https://server:8080/api/v1'.
launchRequiredName of launch at creation.
projectRequiredThe name of the project in which the launches will be created.
attributesOptional[]Launch attributes. Programmatically - [{ "key": "YourKey", "value": "YourValue" }]
with CLI - "YourKey:YourValue;YourValueTwo"
descriptionOptional''Launch description.
rerunOptionalfalseEnable rerun
rerunOfOptionalNot setUUID of launch you want to rerun. If not specified, reportportal will update the latest launch with the same name
modeOptional'DEFAULT'Results will be submitted to Launches page
'DEBUG' - Results will be submitted to Debug page.
skippedIssueOptionaltruereportportal provides feature to mark skipped tests as not 'To Investigate'.
Option could be equal boolean values:
true - skipped tests considered as issues and will be marked as 'To Investigate' on reportportal.
false - skipped tests will not be marked as 'To Investigate' on application.
debugOptionalfalseThis flag allows seeing the logs of the client-javascript. Useful for debugging.
launchIdOptionalNot setThe ID of an already existing launch. The launch must be in 'IN_PROGRESS' status while the tests are running. Please note that if this ID is provided, the launch will not be finished at the end of the run and must be finished separately.
restClientConfigOptionalNot setaxios like http client config. May contain agent property for configure http(s) client, and other client options e.g. proxy, timeout. For debugging and displaying logs the debug: true option can be used.
Visit client-javascript for more details.
headersOptional{}The object with custom headers for internal http client.
launchUuidPrintOptionalfalseWhether to print the current launch UUID.
launchUuidPrintOutputOptional'STDOUT'Launch UUID printing output. Possible values: 'STDOUT', 'STDERR', 'FILE', 'ENVIRONMENT'. Works only if launchUuidPrint set to true. File format: rp-launch-uuid-${launch_uuid}.tmp. Env variable: RP_LAUNCH_UUID, note that the env variable is only available in the reporter process (it cannot be obtained from tests).
tokenDeprecatedNot setUse apiKey instead.

Report static attributes

  • To report attributes for suite you should use collection variables.
VARIABLEINITIAL VALUECURRENT VALUE
rp.attributeskeySuiteOne:valueSuiteOnekeySuiteOne:valueSuiteOne
  • To report attributes for tests inside of Pre-request Script you should use the next method

pm.environment.set

ParameterRequiredDescriptionExamples
namespacetrue"string" - namespace, must be equal to the rp.attributes"rp.attributes"
attributestrue"string" - contains set of pairs key:value"keyOne:valueOne;valueTwo;keyThree:valueThree"
pm.environment.set("rp.attributes", "keyOne:valueOne;valueTwo;keyThree:valueThree");
  • Step doesn't support reporting with attributes

Report static description

Both suites and tests support description. For reporting with description you should click on Edit in your collection and in the description column enter the text you need

  • Step doesn't support reporting with description

Finish with status

status must be equal to one of the following values: passed, failed, stopped, skipped, interrupted, cancelled, info, warn.

  • To finish launch/suite with status you should use collection variables
VARIABLEINITIAL VALUECURRENT VALUE
rp.launchStatus (for launch)
rp.status (for suite)
your statusyour status
  • To finish tests you should use environment variables inside of Pre-request Script
pm.environment.set("rp.status", "status");
  • To finish steps with statuses you should use local variables
pm.variables.set("rp.status", "status");

It is important that the code line above has to start from the new line and you shouldn't forget about semicolon after it

For both tests or steps, this is true

ParameterRequiredDescriptionExamples
namespacetrue"string" - namespace, must be equal to the rp.status"rp.status"
statustrue"string" - status"passed"

Logging

You can use the following methods to report logs with different log levels:

  • console.log("launch/suite/test", "message");
  • console.error("launch/suite/test", "message");
  • console.debug("launch/suite/test", "message");
  • console.warn("launch/suite/test", "message");
  • console.info("launch/suite/test", "message");
ParameterRequiredDescriptionExamples
namespacetrue"string" - namespace, must be equal to the launch, suite or test depends on where you want to report"test"
messagetrue"string" - message"your message"
  • Step doesn't support logs reporting

Report test case id

  • To report suite with test case id you should use collection variables
VARIABLEINITIAL VALUECURRENT VALUE
rp.testCaseIdyourSuiteTestCaseIdyourSuiteTestCaseId
  • To report tests with test case id you should use environment variables inside of Pre-request Script
pm.environment.set("rp.testCaseId", "yourTestCaseId");
  • To report steps with test case id you should use local variables
pm.variables.set("rp.testCaseId", "stepTestCaseId");

It is important that the code line above has to start from the new line and you shouldn't forget about semicolon after it

For both tests or steps, this is true

ParameterRequiredDescriptionExamples
namespacetrue"string" - namespace, must be equal to the rp.testCaseId"rp.testCaseId"
testCaseIdtrue"string" - test case id value"yourTestCaseId"

Licensed under the Apache 2.0 license (see the LICENSE.txt file).

Keywords

FAQs

Package last updated on 16 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc