⚠ ️ This project is no longer maintained in this repository.
Development and maintenance have been stopped in this repository.
A fork of this project is active and maintained at apideck-libraries/postman-to-k6.
Converts a Postman collection to a k6 script.
postman.* interface (exceptions below).pm.* interface (exceptions below).globals environment data
iteration.xml2Json conversion.While possible to install globally, we recommend that you, if possible, add the converter to the node_modules of your test project using:
$ npm install -D postman-to-k6
# or using yarn...
$ yarn add postman-to-k6
Note that this will require you to run the converter with npx postman-to-k6 your-postman-file or, if you are using an older versions of npm, ./node_modules/.bin/postman-to-k6 your-postman-file.
$ npm install -g postman-to-k6
The tool is also available for usage in Docker. To download an image with the tool from DockerHub:
$ docker pull loadimpact/postman-to-k6
To convert an exported collection to a k6 script:
$ postman-to-k6 collection.json -o k6-script.js
Then run the script in k6, as usual, using:
$ k6 run k6-script.js
Configures how many times the script will be executed before completion.
| Flag | Verbose | Default |
|---|---|---|
-i | --iterations | 1 |
Example:
$ postman-to-k6 collection.json --iterations 25 -o k6-script.js
Provide environment variables from a JSON file.
| Flag | Verbose | Default |
|---|---|---|
-e | --environment | N/A |
Example:
$ postman-to-k6 collection.json --environment environment.json -o k6-script.js
Provide global variables from a JSON file.
| Flag | Verbose | Default |
|---|---|---|
-g | --global | N/A |
$ postman-to-k6 collection.json --global globals.json -o k6-script.js
Provide a data file in the CSV format.
| Flag | Verbose | Default |
|---|---|---|
-c | --csv | N/A |
$ postman-to-k6 collection.json --csv data.csv -o k6-script.js
Pass in a data file in the JSON format.
| Flag | Verbose | Default |
|---|---|---|
-j | --json | N/A |
$ postman-to-k6 collection.json --json data.json -o k6-script.js
Pass K6 parameter options as a file in JSON format.
| Flag | Verbose | Default |
|---|---|---|
--k6-params | N/A |
$ postman-to-k6 collection.json --k6-params k6-params.json -o k6-script.js
Split requests into separate files, for easier rearrangement of the logic.
| Flag | Verbose | Default |
|---|---|---|
-s | --separate | false |
$ postman-to-k6 collection.json --separate -o k6-script.js
postman-to-k6 collection.json -s -o k6-script.js
Skips any pre-request scripts during conversion
| Flag | Verbose | Default |
|---|---|---|
--skip-pre | false |
$ postman-to-k6 collection.json --skip-pre -o k6-script.js
Skips any post-request scripts during conversion
| Flag | Verbose | Default |
|---|---|---|
--skip-post | false |
$ postman-to-k6 collection.json --skip-pre -o k6-script.js
Using the Docker image, you execute the tool as follows:
$ docker run -it \
-v "/path/to/postman/collection/:/postman/" \
loadimpact/postman-to-k6 \
/postman/my-collection.json \
-o /postman/test.js
and then execute the k6 test using:
$ k6 run /path/to/postman/collection/test.js
A collection of Postman examples are located under example.
To run one of the examples, just run it as you would any other command:
$ postman-to-k6 example/v2/echo.json -o k6-script.js
pm.sendRequest.postman.setNextRequest.hostOnly, session, and storeId.responseCode.nameresponseCode.detailpm.response.reasonpm.response.to.have.status(reason)pm.response.to.not.have.status(reason)pm.request.url pm.request.headerspm.response.headersxmlToJson method.Thanks to bookmoons for creating this tool. Also, thanks to borjacampina for creating the original incarnation of the tool.
JavaScript
99.9%
⚠ ️ This project is no longer maintained in this repository.
Development and maintenance have been stopped in this repository.
A fork of this project is active and maintained at apideck-libraries/postman-to-k6.
Converts a Postman collection to a k6 script.
postman.* interface (exceptions below).pm.* interface (exceptions below).globals environment data
iteration.xml2Json conversion.While possible to install globally, we recommend that you, if possible, add the converter to the node_modules of your test project using:
$ npm install -D postman-to-k6
# or using yarn...
$ yarn add postman-to-k6
Note that this will require you to run the converter with npx postman-to-k6 your-postman-file or, if you are using an older versions of npm, ./node_modules/.bin/postman-to-k6 your-postman-file.
$ npm install -g postman-to-k6
The tool is also available for usage in Docker. To download an image with the tool from DockerHub:
$ docker pull loadimpact/postman-to-k6
To convert an exported collection to a k6 script:
$ postman-to-k6 collection.json -o k6-script.js
Then run the script in k6, as usual, using:
$ k6 run k6-script.js
Configures how many times the script will be executed before completion.
| Flag | Verbose | Default |
|---|---|---|
-i | --iterations | 1 |
Example:
$ postman-to-k6 collection.json --iterations 25 -o k6-script.js
Provide environment variables from a JSON file.
| Flag | Verbose | Default |
|---|---|---|
-e | --environment | N/A |
Example:
$ postman-to-k6 collection.json --environment environment.json -o k6-script.js
Provide global variables from a JSON file.
| Flag | Verbose | Default |
|---|---|---|
-g | --global | N/A |
$ postman-to-k6 collection.json --global globals.json -o k6-script.js
Provide a data file in the CSV format.
| Flag | Verbose | Default |
|---|---|---|
-c | --csv | N/A |
$ postman-to-k6 collection.json --csv data.csv -o k6-script.js
Pass in a data file in the JSON format.
| Flag | Verbose | Default |
|---|---|---|
-j | --json | N/A |
$ postman-to-k6 collection.json --json data.json -o k6-script.js
Pass K6 parameter options as a file in JSON format.
| Flag | Verbose | Default |
|---|---|---|
--k6-params | N/A |
$ postman-to-k6 collection.json --k6-params k6-params.json -o k6-script.js
Split requests into separate files, for easier rearrangement of the logic.
| Flag | Verbose | Default |
|---|---|---|
-s | --separate | false |
$ postman-to-k6 collection.json --separate -o k6-script.js
postman-to-k6 collection.json -s -o k6-script.js
Skips any pre-request scripts during conversion
| Flag | Verbose | Default |
|---|---|---|
--skip-pre | false |
$ postman-to-k6 collection.json --skip-pre -o k6-script.js
Skips any post-request scripts during conversion
| Flag | Verbose | Default |
|---|---|---|
--skip-post | false |
$ postman-to-k6 collection.json --skip-pre -o k6-script.js
Using the Docker image, you execute the tool as follows:
$ docker run -it \
-v "/path/to/postman/collection/:/postman/" \
loadimpact/postman-to-k6 \
/postman/my-collection.json \
-o /postman/test.js
and then execute the k6 test using:
$ k6 run /path/to/postman/collection/test.js
A collection of Postman examples are located under example.
To run one of the examples, just run it as you would any other command:
$ postman-to-k6 example/v2/echo.json -o k6-script.js
pm.sendRequest.postman.setNextRequest.hostOnly, session, and storeId.responseCode.nameresponseCode.detailpm.response.reasonpm.response.to.have.status(reason)pm.response.to.not.have.status(reason)pm.request.url pm.request.headerspm.response.headersxmlToJson method.Thanks to bookmoons for creating this tool. Also, thanks to borjacampina for creating the original incarnation of the tool.
JavaScript
99.9%