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.4.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: excellentman-1.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 d930784651c4ab7a838721005cc5efa9eb118fd73c7b43806c4a936802249e08
MD5 fd94e2af029481f32dd1eaa005dee69d
BLAKE2b-256 0222225193ab2cce009b73a13780732075911d4b6dfa6e4bf4b8c7c093ed4919

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for excellentman-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87f25616711ea3252a86d0d5049c505a33eac7451f7df34cc0d5bf9dddbfbb17
MD5 57bc4ba1057f8373589e021f7efa0405
BLAKE2b-256 2695aeae1c73beca7593757f87dc81d3e738ab5169355652126c740cb5424b9e

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