https://github.com/schwabyio/xrun
Test your APIs with speed, simplicity, and at scale.
https://github.com/schwabyio/xrun
api api-automated-testing api-testing cli continuous-integration functional-testing postman rest restful-testing test-automation testing
Last synced: 29 days ago
JSON representation
Test your APIs with speed, simplicity, and at scale.
- Host: GitHub
- URL: https://github.com/schwabyio/xrun
- Owner: schwabyio
- License: mit
- Created: 2023-01-02T21:19:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-23T22:03:21.000Z (about 2 years ago)
- Last Synced: 2025-03-29T06:14:55.146Z (about 1 year ago)
- Topics: api, api-automated-testing, api-testing, cli, continuous-integration, functional-testing, postman, rest, restful-testing, test-automation, testing
- Language: JavaScript
- Homepage:
- Size: 774 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/schwabyio/xrun/blob/main/LICENSE) [](https://www.npmjs.com/package/@schwabyio/xrun) [](https://img.shields.io)
## Table of Contents
- [xRun - CLI Runner For Postman](#xrun---cli-runner-for-postman)
- [Overview](#overview)
- [Features](#features)
- [Installation Steps](#installation-steps)
- [Uninstall Steps](#uninstall-steps)
- [xRun Project Repo Structure](#xrun-project-repo-structure)
- [Example xRun Project Repo](#example-xrun-project-repo)
- [Usage](#usage)
- [Settings](#settings)
# xRun - CLI Runner For Postman
## Overview
xRun is a command line interface (CLI) app that extends [Newman](https://github.com/postmanlabs/newman) to enable your organization to run Postman tests with speed and at scale.
## Features
* Direct support for [xtest](https://github.com/schwabyio/xtest).
* Run Postman tests in parallel by setting the `limitConcurrency` configuration.
* Run tests locally or as part of Continuous Integration (CI) with your automated build server of choice.
* Generates clean html reports that allow you to quickly filter and zero in on test failures.
* Generate junit reports (provided by Postman's Newman).
* Configurable settings.json file with command line override capability.
* By default, all folders (and tests within) are run. You can exclude folders using an exclusion list.
* Single out one or more tests to run by specifying a CSV list of test cases and/or directories from the command line.
## Installation Steps
1. Install Node.js (version >= 20) ([recommended to install Node.js using node version manager](https://github.com/nvm-sh/nvm))
2. Install (and also to update) xRun:
```shell
npm install -g @schwabyio/xrun
```
## Uninstall Steps
1. Uninstall xRun
```shell
npm uninstall -g @schwabyio/xrun
```
## xRun Project Repo Structure
The xRun tool requires a Postman project repo to be in the following structure:
```
└── /
├── /
├── /
...
├── /
└── xrun/
├── exclude-list.json
└── settings.json
```
Note: You can only run the `xrun` CLI command from the root directory of ``.
## Example xRun Project Repo
Example repo in structure required by xRun (also runnable - try it out):
[xrun-example-repo](https://github.com/schwabyio/xrun-example-repo)
## Usage
```shell
% xrun
__________________________________________________________________________________________________________________________________
xRun Ver. 3.3.0
__________________________________________________________________________________________________________________________________
USAGE: xrun [--settingsKey settingsValue]
- Required. Valid program-command values are:
g[et] - GET a list of all Postman collections from the project.
NOTE: collections from xrun/exclude-list.json ARE NOT included.
a[ll] - Run ALL Postman collections from the project.
NOTE: collections from xrun/exclude-list.json ARE NOT included.
- Run one or more specific Postman collections from the project by
providing a comma seperated list of COLLECTION NAMEs and/or DIRECTORY NAMEs.
NOTE: collections from xrun/exclude-list.json ARE included.
--settingsKey settingsValue - Optional. Any number of settings overrides.
__________________________________________________________________________________________________________________________________
```
## Settings
All available settings (settings.json) are [documented here](./lib/json/settings-schema.json).
Settings Order of Precedence (lowest to highest):
1. Default value
2. Local settings.json override
3. Environment variables override
4. Command line argument override