Auk CLI is currently in alpha stage. Report a bug by opening a new issue.
Pre-requisites
Before installing the Auk CLI, ensure your system meets the following requirements.Windows & macOS
Windows & macOS
You will need
node-gyp installed. Thus, follow the instructions from node-gyp.Debian / Ubuntu derivatives
Debian / Ubuntu derivatives
Execute the following command:
Alpine Linux
Alpine Linux
Execute the following command:
Amazon Linux (AMI)
Amazon Linux (AMI)
Execute the following command:
Arch Linux
Arch Linux
Execute the following command:
RHEL / Fedora derivatives
RHEL / Fedora derivatives
Execute the following command:
Installing Auk CLI
Once the dependencies are installed, install @auk/cli from npm by running:Commands
auk test
The auk test command allows you to run tests against a Auk collection file.
- The auk test command recursively goes through each request in the collection and runs them, validating the responses with the test script provided in each request. Hence, the order of execution is the same as the order specified in the collection structure.
- If upon executing the command, a failed assertion (a failing test case) has occurred, the command will give a non-zero exit code and 0 exit code if all tests have passed.
- Unless there was a network error (for example, DNS resolution errors or network Connectivity Issues), the test script will be running and it is up to the test script to define what happens to error status codes. Non-200 status codes are still considered valid responses for test script execution.
Running Collections from the Desktop App
Theauk test command can be used to run collections stored locally in your Auk desktop application.
Generate JUnit Report for Collection Runs
Theauk test command now has the ability to generate a JUnit Report for collection runs in the CLI. The report is generated as an XML file at the specified path provided in the command. If no path is specified, the report will be saved in the working directory with the default name auk-junit-report.xml.
JUnit Report Format Overview
The JUnit report generated for collection runs provides a structured summary of the test results. The table below provides a detailed breakdown of the JUnit report format, explaining the significance of each XML element:Arguments
-
auk collection id: Each collection created in a Auk workspace is given a unique identifier known as the Collection ID. Collection IDs for each collection can be found under “Details” tab inside Collection “Properties”. -
environment id: Similar to Collection IDs, each environment created in a Auk workspace is assigned a unique identifier known as the Environment ID. -
delay_i_ms: Represents a time interval (in milliseconds) to pause execution of API requests before within a collection. -
access token: It is a secure, unique identifier used to authenticate a user’s access to their Auk account and its resources like collections, environments data. -
path: Accounts for a file path where the JUnit report will be saved as an XML file in your file system. -
no_of_iterations: Indicates the number of iterations to run the collection. Each iteration will run the entire collection once, replacing any iteration-specific data defined by the--iteration-dataflag (if provided). -
file_path: The path to the CSV file for iteration data. This file should follow the format:Each row in the CSV corresponds to an iteration, and the values from that row will replace the respective environment variables during the iteration. For example:- Iteration 1: The values value1, value2, and value3 will be used.
- Iteration 2: The values value4, value5, and value6 will be used.
Example
Environment
Auk allows templates in several places. For example, you could specify your endpoint URL as<<baseurl>>/post and specify baseurl as https://echo.mamahuhu.io in an environment file.
Auk CLI supports environment files in two specific formats:
1. Single Environment Entry Export Format
This format is generated by Auk App when you export any of your environment. It includes a named environment (name) with key-value pairs, allowing you to define various variables within a single file.2. Legacy Export Format
Auk CLI continues to support the legacy format which was previously the only accepted format used by CLI.3. Environment ID
To use an environment on your API client using its ID, click on theProperties action present in the menu icon next to each environment. Within the Details section, you’ll find the Environment ID. Copy this ID and use it in the Auk CLI for execution.
Please note that the Auk CLI exclusively supports the above three formats for importing environment variables. It does not offer compatibility with Bulk Environment exports or any other export format.
Secrets
If requests in a collection consists of secret variables we recommend either of the two approaches.- Inject the secret values as variables into the OS environment
- Edit the environment export file and add the secret values manually
Options
Test Report Components
Upon executing the commands, a comprehensive test report is generated, offering detailed insights into the performance of each request. Below, you’ll find a breakdown of the components outlined in the test summary for the exported API Collection:Test Cases
Each instance of
pw.expect() within the testScript of a request is considered a test case.Test Suites
Each invocation of
pw.test() within the testScript of a request is regarded as a test suite.Test Scripts
The total number of
testScript fields across all requests in the provided collection export file, representing the overall number of test scripts executed.Test Duration
The total time taken to execute all test cases within the collection.
Requests
The total number of requests executed within the collection.
Requests Duration
The cumulative time taken to execute all requests within the collection.
Pre-request Scripts
The scripts executed prior to each request. The count matches the number of requests in the provided collection export file.