Usage / Installation
- To install the package globally do NOT just a
npm i -g @octomind/octomindbut instead
~/.local/packages and create symlinks in /usr/local/bin or creates an alias.
This is necessary for the cli to work and avoid dependency conflicts, when installing the package globally.
- Use the cli through npx e.g.
npx @octomind/octomind -h
Autocompletion
On macOS and linux you can enable autocompletion by running the following command (works for bash, zsh & fish):npx @octomind/octomind init.
This way even entityIds like environmentIds or testCaseIds will be autocompleted.
octomind
Octomind cli tool. Version: 4.3.1. Additional documentation see https://octomind.dev/docs/api-reference/ Usage:octomind [options] [command]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-V, --version | output the version number | No |
Setup
init
Initialize configuration by setting up API key. This will create a config file in ~/.config/octomind.json Usage:init [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-t, --test-target-id <id> | Test target ID | Yes | |
-k, --api-key <key> | the api key for authentication | Yes | |
-f, --force | Force overwrite existing configuration | No |
switch-test-target
Switch to a different test target. This will list all available test targets and update the config file in ~/.config/octomind.json Usage:switch-test-target [options]
Completion
install-completion
Install tab completion Usage:install-completion [options]
uninstall-completion
Uninstall tab completion Usage:uninstall-completion [options]
completion
Tab completion Usage:completion [options]
Environments
list-environments
List all environments Usage:list-environments [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
create-environment
Create a new environment Usage:create-environment [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-n, --name <name> | Environment name | Yes | |
-d, --discovery-url <url> | Discovery URL | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No | |
--test-account-username [username] | Test account username | No | |
--test-account-password [password] | Test account password | No | |
--test-account-otp-initializer-key [key] | Test account OTP initializer key | No | |
--basic-auth-username [username] | Basic auth username | No | |
--basic-auth-password [password] | Basic auth password | No | |
--private-location-name [name] | Private location name | No |
environment
Get an environment Usage:environment [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-e, --environment-id <id> | Environment ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
update-environment
Update an existing environment Usage:update-environment [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-e, --environment-id <id> | Environment ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No | |
-n, --name [name] | Environment name | No | |
-d, --discovery-url [url] | Discovery URL | No | |
--test-account-username [username] | Test account username | No | |
--test-account-password [password] | Test account password | No | |
--test-account-otp-initializer-key [key] | Test account OTP initializer key | No | |
--basic-auth-username [username] | Basic auth username | No | |
--basic-auth-password [password] | Basic auth password | No | |
--private-location-name [name] | Private location name | No |
delete-environment
Delete an environment Usage:delete-environment [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-e, --environment-id <id> | Environment ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
Execute
debug
run test cases against local build Usage:debug [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-u, --url <url> | url the tests should run against | Yes | |
-c, --test-case-id [uuid] | id of the test case you want to run, if not provided will run all test cases in the test target | No | |
-e, --environment-id [uuid] | id of the environment you want to run against, if not provided will run all test cases against the default environment | No | |
-t, --test-target-id [uuid] | id of the test target of the test case, if not provided will use the test target id from the config | No | |
--headless | if we should run headless without the UI of playwright and the browser | No | |
--persist | if we should write playwright config and files to current directory, you can then run ‘npx playwright test’ to run them again | No | |
--grep [substring] | filter test cases by substring | No | |
--bypass-proxy | bypass proxy when accessing the test target | No | |
--browser [CHROMIUM, FIREFOX, SAFARI] | Browser type | No | CHROMIUM |
--breakpoint [DESKTOP, MOBILE, TABLET] | Breakpoint | No | DESKTOP |
--run-status [ON, OFF] | only run test cases that are either ON or OFF | No |
execute
Execute test cases to create a test report Usage:execute [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-u, --url <url> | URL to test | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No | |
-e, --environment-name [name] | Environment name | No | default |
-d, --description [text] | Test description | No | |
-g, --tags [tags] | Comma separated list of tags | No | |
-v, --variables-to-overwrite [variables] | JSON object of variables to overwrite | No | |
-b, --browser [type] | Browser type [CHROMIUM, FIREFOX, SAFARI] | No | CHROMIUM |
-r, --breakpoint [name] | Breakpoint [DESKTOP, MOBILE, TABLET] | No | DESKTOP |
execute-local
Execute local YAML test cases Usage:execute-local [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-u, --url <url> | Url the tests should run against | Yes | |
-p, --test-case-path [string] | Path of the test case you want to run, if not provided will run all test cases in the test target | No | |
-e, --environment-id [uuid] | Id of the environment you want to run against, if not provided will run all test cases against the default environment | No | |
-t, --test-target-id [uuid] | Id of the test target of the test case, if not provided will use the test target id from the config | No | |
--headless | If we should run headless without the UI of playwright and the browser | No | |
--bypass-proxy | Bypass proxy when accessing the test target | No | |
--browser [CHROMIUM, FIREFOX, SAFARI] | Browser type | No | CHROMIUM |
--breakpoint [DESKTOP, MOBILE, TABLET] | Breakpoint | No | DESKTOP |
create-discovery
Create a new test case discovery Usage:create-discovery [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-n, --name <name> | Discovery name | Yes | |
-p, --prompt <prompt> | Discovery prompt | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No | |
-e, --entry-point-url-path [path] | Entry point URL path | No | |
--prerequisite-id [id] | Prerequisite test case ID | No | |
--external-id [id] | External identifier | No | |
--assigned-tag-ids [ids] | Comma-separated list of tag IDs | No | |
--folder-id [id] | Folder ID | No |
batch-generation
Batch generation of test cases Usage:batch-generation [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-p, --prompt <prompt> | Batch generation prompt | Yes | |
-u, --url <url> | Start url for generation | Yes | |
-e, --environment-id <id> | Environment ID | Yes | |
-d, --prerequisite-id <id> | Prerequisite ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
Notifications
notifications
Get notifications for a test target Usage:notifications [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
Private Locations
register-location
Register a private location Usage:register-location [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-n, --name <name> | Location name | Yes | |
-p, --password <password> | Proxy password | Yes | |
-u, --username <user> | Proxy user | Yes | |
-a, --address <address> | Location address | Yes |
unregister-location
Unregister a private location Usage:unregister-location [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-n, --name <name> | Location name | Yes |
list-private-locations
List all private locations Usage:list-private-locations [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No |
start-private-location
Start a private location worker, see https://octomind.dev/docs/proxy/private-location Usage:start-private-location [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-n, --name [name] | Location name | No | |
-u, --username [username] | Proxy user | No | |
-p, --password [password] | Proxy password | No | |
-l, --host-network | Use host network (default: false). If set you can use localhost directly | No | false |
stop-private-location
Stop a private location worker, see https://octomind.dev/docs/proxy/private-location Usage:stop-private-location [options]
Test Cases
delete-test-case
Delete a test case Usage:delete-test-case [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-c, --test-case-id <id> | Test case ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
code
Get code of a specific test case Usage:code [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-c, --test-case-id <id> | Test case ID | Yes | |
-u, --url <url> | URL to execute the test case against | Yes | |
-e, --environment-id [id] | Environment ID | No | default |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
test-case
Get details of a specific test case Usage:test-case [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-c, --test-case-id <id> | Test case ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
list-test-cases
List all test cases Usage:list-test-cases [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
pull
Pull test cases from the test target Usage:pull [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
push
Push local YAML test cases to the test target Usage:push [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No | |
-y, --yes | Skip confirmation prompt | No |
create-test-case
Create a new test case Usage:create-test-case [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No | |
-n, --name <string> | The name of the test case you want to create | Yes | |
-d, --dependency-path [path] | The path of to test case you want to use as dependency | No |
edit-test-case
Edit yaml test case Usage:edit-test-case [options] <file-path>
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
Test Reports
test-report
Get test report details Usage:test-report [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No | |
-r, --test-report-id <id> | Test report ID | Yes | |
-t, --test-target-id [id] | Test target ID, if not provided will use the test target id from the config | No |
Test Targets
list-test-targets
List all test targets Usage:list-test-targets [options]
Options
| Option | Description | Required | Default |
|---|---|---|---|
-j, --json | Output raw JSON response | No |
Update
update
update your local cli version Usage:update [options]
Output Formats
By default, the CLI provides formatted text output for better readability. Add the--json flag to any command to get the raw JSON response instead. This is useful for scripting or when you need to process the output programmatically.
Example of JSON output:
Development
- Clone the repository
- Install dependencies:
- commander: For command-line argument parsing
- openapi-fetch: For making openapi API calls
- openapi-typescript: For generating types from openapi spec