Skip to main content

A tool for running Newman with parameters from an Excel file

Project description

excellentman

An experimental repo for probably writing tools to execute parameterized newman runs from data in spreadsheets

Install Newman

  1. Download and install Node.js.
  2. Then run npm install in your checkout

Installing

pip install excellentman

Usage

excellentman <EXCEL_FILE> <JSON_COLLECTION> <ENVIRONMENT_FILE>

Where:

  • EXCEL_FILE: is a an excel file where each worksheet contains parameters to be passed into the postman requests
  • JSON_COLLECTION: collection of requests, either a URL, or downloaded from postman
  • ENVIRONMENT_FILE: an exported Postman environments file

Example

We've included example data for querying https://www.thecocktaildb.com, in the examples directory.

  • examples/Cocktails.postman_collection.json - A postman collection for querying the cocktail database
  • examples/Cocktails.xlsx - An excel file with multiple worksheets for different types of cocktails
  • examples/Production Cocktails.postman_environment.json - An environment file for parameterizing the requests

You can run this:

excellentman examples/Cocktails.xlsx examples/Cocktails.postman_collection.json "examples/Production Cocktails.postman_environment.json"

Custom Field Handling

If you have data in your spreadsheet that needs to be transformed before it gets sent to the API you're working with, you can provide a python file of transformation functions, as in examples/custom_formats.py.

We include a trivial example that lowercases the drink names, which you can demonstrate by running:

excellentman examples/Cocktails.xlsx examples/Cocktails.postman_collection.json "examples/Production Cocktails.postman_environment.json" --custom_formats=examples/custom_formats.py

Custom Report Formatting

This tool uses newman-reporter-htmlextra to provide an HTML report of the results and can also support newman-reporter-xunit to provide an XML report file. You can customize the template used for this report, and pass it in as follows:

excellentman examples/Cocktails.xlsx examples/Cocktails.postman_collection.json "examples/Production Cocktails.postman_environment.json" --custom_template=examples/example_reporter_template.hbs --xunit_file=xunit_reporter_example.xml

Publishing a new version

Update the version in setup.py.

Build the version to publish

python3 setup.py sdist bdist_wheel

Publish to testpypi (for now)

python3 -m twine upload --repository testpypi dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

excellentman-1.3.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

excellentman-1.3.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file excellentman-1.3.0.tar.gz.

File metadata

  • Download URL: excellentman-1.3.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for excellentman-1.3.0.tar.gz
Algorithm Hash digest
SHA256 a52890e6fc523e8ebfe593c2ae59341e3373bab5f9c37328289b3ffc4518992c
MD5 26665327b237ba56d0dbdbc0a682aed1
BLAKE2b-256 892b38557b37bf90c7935f15f894441c4e325841a2a485c6d4bf0b666e69bd5c

See more details on using hashes here.

File details

Details for the file excellentman-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for excellentman-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae25d63f80a0cfc609b4b632aed1a92a58da80d3a41cd74d7c4684555447cdd1
MD5 fc02c0306ac35d20b205c678f23d2db0
BLAKE2b-256 a771dd82f71d3aa9844850657dc5e30dcb400d53ec448581df6b8e963e1db27e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page