newman-reporter-sql-postgresql

based on https://github.com/vs4vijay/newman-reporter-sql by tomaszsluszniak added httpd request Id for trace and personal use

Usage no npm install needed!

<script type="module">
  import newmanReporterSqlPostgresql from 'https://cdn.skypack.dev/newman-reporter-sql-postgresql';
</script>

README

newman-reporter-sql-postgresql

This package based on tomaszsluszniak/newman-reporter-sql;. It was customized to work with multiple SQL Engines such MySQL, MariaDB, PostgreSQL and Microsoft SQL Server i just added httprequestid for my personal usage.

SQL reporter for Newman that sends the test results information to SQL which can be used in Grafana/PowerBI to build dashboard.

npm sequelize license


Getting Started

  1. Install newman
  2. Install newman-reporter-sql-postgresql

Prerequisites

  1. node and npm
  2. newman - npm install -g newman
  3. Install the desired SQL engine:
$ npm install --save pg pg-hstore  # PostgreSQL
$ npm install --save mysql2
$ npm install --save mariadb
$ npm install --save tedious  # Microsoft SQL Server

Installation

npm install -g newman-reporter-sql-postgresql

Installation should be done globally if newman is installed globally, otherwise install without -g option.


Usage

Specify -r sql option while running the collection

newman run <collection-url> -r sql-postgresql \
  --reporter-sql-dialect <mysql | mariadb | postgres | mssql> \
  --reporter-sql-server <server-name> \
  --reporter-sql-port <server-port> \
  --reporter-sql-name <database-name> \
  --reporter-sql-table <table-name> \
  --reporter-sql-username <username> \
  --reporter-sql-password <password>

MSSQL Example:

newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv -r sql-postgresql \
  --reporter-sql-dialect mssql \
  --reporter-sql-server localhost \
  --reporter-sql-port 1433 \
  --reporter-sql-name newman_reports \
  --reporter-sql-table api_results \
  --reporter-sql-username sa \
  --reporter-sql-password p@ssw0rd

PostgreSQL Example:

docker run --name postgres -e POSTGRES_PASSWORD=test1234 -p 5432:5432 -d postgres
newman run https://www.postman.com/collections/cb208e7e64056f5294e5 -r sql-postgresql \
  --reporter-sql-dialect postgres \
  --reporter-sql-server localhost \
  --reporter-sql-port 5432 \
  --reporter-sql-name postgres \
  --reporter-sql-table test1234 \
  --reporter-sql-username postgres \
  --reporter-sql-password test1234 \
  --reporter-sql-test-name "test name"

Options:

Option Remarks
--reporter-sql-dialect SQL Engine. One of: mysql, mariadb, postgres, mssql.
--reporter-sql-server IP Address or Host of SQL Server.
--reporter-sql-port Port number. Usually: 3306 for MySQL and MariaDB, 5432 for PostgreSQL, 1433 for Microsoft SQL Server.
--reporter-sql-name Database name. Already existing database.
--reporter-sql-table Table name. Table will be created automatically.
--reporter-sql-username Username created for SQL database (e.g. sa).
--reporter-sql-password Password of the user (e.g. p@ssw0rd).
--reporter-sql-debug (Optional) Reporter debug mode (default: false).
--reporter-sql-test-name (Optional) It can be useful for reporting collected data from a specific test. Example 5 iterations.