- Overview
- Get started
- Concepts
- Using UiPath CLI
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip docsai
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- create-project
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-workflow-examples
- pack
- restore
- run-file
- search-templates
- start-studio
- stop-execution
- uia
- uip traces
- Migration
- Reference & support
UiPath CLI user guide
uip tm testset manages test sets: the executable unit in Test Manager. A test set is an ordered group of test cases that you can run with one command and track as a single execution. Every testset execute call returns an ExecutionId that the other uip tm verbs (wait, execution, report, result, attachment) take as input.
Synopsis
uip tm testset create --project-key <key> --name <name> [--description <text>]
uip tm testset list --project-key <key> [--folder-key <uuid>] [--filter <text>]
uip tm testset update --test-set-key <key> [--name <name>] [--description <text>]
uip tm testset delete --test-set-key <key>
uip tm testset add-testcases --test-set-key <key> --test-case-keys <keys>
uip tm testset remove-testcases --test-set-key <key> --test-case-keys <keys>
uip tm testset list-testcases --test-set-key <key>
uip tm testset execute --test-set-key <key> [--execution-type <type>] [--input-path <file>]
uip tm testset create --project-key <key> --name <name> [--description <text>]
uip tm testset list --project-key <key> [--folder-key <uuid>] [--filter <text>]
uip tm testset update --test-set-key <key> [--name <name>] [--description <text>]
uip tm testset delete --test-set-key <key>
uip tm testset add-testcases --test-set-key <key> --test-case-keys <keys>
uip tm testset remove-testcases --test-set-key <key> --test-case-keys <keys>
uip tm testset list-testcases --test-set-key <key>
uip tm testset execute --test-set-key <key> [--execution-type <type>] [--input-path <file>]
All verbs honor the global options and the standard exit codes. Every verb accepts -t, --tenant <name> and --log-level <level> (default Information).
Test set verbs that take --test-set-key derive the owning project from the key's prefix (e.g. DEMO:10 → project DEMO), so --project-key is only required on create and list.
uip tm testset create
Create an empty test set in a project. Use add-testcases afterwards to populate it.
Arguments: none.
Options:
--project-key <key>(required) — owning project.--name <name>(required) — test set name.--description <text>— free-form description. Defaults to empty.
Example:
uip tm testset create \
--project-key DEMO \
--name "Smoke Suite" \
--description "Core smoke tests"
uip tm testset create \
--project-key DEMO \
--name "Smoke Suite" \
--description "Core smoke tests"
Data shape:
{
"Code": "TestSetCreate",
"Data": {
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"Description": "Core smoke tests"
}
}
{
"Code": "TestSetCreate",
"Data": {
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"Description": "Core smoke tests"
}
}
uip tm testset list
List test sets in a project. The CLI pages through results automatically.
Arguments: none.
Options:
--project-key <key>(required) — project to list.--folder-key <uuid>— restrict to test sets bound to this Orchestrator folder. Applied client-side after fetching.--filter <text>— server-side search over name.
Example:
uip tm testset list --project-key DEMO --filter smoke
uip tm testset list --project-key DEMO --filter smoke
Data shape:
{
"Code": "TestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001",
"Id": "a1b2c3d4-0000-0000-0000-000000000010"
}
]
}
{
"Code": "TestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001",
"Id": "a1b2c3d4-0000-0000-0000-000000000010"
}
]
}
Id is the internal UUID — needed, for example, by execution list --test-set-id.
uip tm testset update
Rename a test set or change its description. At least one of --name or --description must be supplied.
Arguments: none.
Options:
--test-set-key <key>(required) — test set key (e.g.DEMO:10).--name <name>— new name.--description <text>— new description.
Example:
uip tm testset update \
--test-set-key DEMO:10 \
--name "Smoke Suite (2026)"
uip tm testset update \
--test-set-key DEMO:10 \
--name "Smoke Suite (2026)"
Data shape:
{
"Code": "TestSetUpdate",
"Data": {
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite (2026)",
"Description": "Core smoke tests",
"Result": "Updated"
}
}
{
"Code": "TestSetUpdate",
"Data": {
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite (2026)",
"Description": "Core smoke tests",
"Result": "Updated"
}
}
uip tm testset delete
Delete a test set by its key.
Arguments: none.
Options:
--test-set-key <key>(required) — test set key.
Example:
uip tm testset delete --test-set-key DEMO:10
uip tm testset delete --test-set-key DEMO:10
Data shape:
{
"Code": "TestSetDelete",
"Data": {
"TestSetKey": "DEMO:10",
"Id": "a1b2c3d4-0000-0000-0000-000000000010",
"Result": "Deleted"
}
}
{
"Code": "TestSetDelete",
"Data": {
"TestSetKey": "DEMO:10",
"Id": "a1b2c3d4-0000-0000-0000-000000000010",
"Result": "Deleted"
}
}
uip tm testset add-testcases
Add one or more test cases to a test set. The CLI resolves every key to its internal UUID and calls the assignment endpoint in one request. If any key is unknown, the whole call fails before any change is made.
Arguments: none.
Options:
--test-set-key <key>(required) — test set to modify.--test-case-keys <keys>(required) — comma-separated test case keys (e.g.DEMO:1,DEMO:2). Whitespace around commas is ignored.
Example:
uip tm testset add-testcases \
--test-set-key DEMO:10 \
--test-case-keys DEMO:1,DEMO:2
uip tm testset add-testcases \
--test-set-key DEMO:10 \
--test-case-keys DEMO:1,DEMO:2
Data shape:
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:10",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:10",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
uip tm testset remove-testcases
Remove one or more test cases from a test set. Same semantics as add-testcases but calls the unassignment endpoint.
Arguments: none.
Options:
--test-set-key <key>(required) — test set to modify.--test-case-keys <keys>(required) — comma-separated test case keys to remove.
Example:
uip tm testset remove-testcases \
--test-set-key DEMO:10 \
--test-case-keys DEMO:1,DEMO:2
uip tm testset remove-testcases \
--test-set-key DEMO:10 \
--test-case-keys DEMO:1,DEMO:2
Data shape:
{
"Code": "TestSetRemoveTestCases",
"Data": {
"TestSetKey": "DEMO:10",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
{
"Code": "TestSetRemoveTestCases",
"Data": {
"TestSetKey": "DEMO:10",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
uip tm testset list-testcases
List the test cases assigned to a test set.
Arguments: none.
Options:
--test-set-key <key>(required) — test set to inspect.
Example:
uip tm testset list-testcases --test-set-key DEMO:10
uip tm testset list-testcases --test-set-key DEMO:10
Data shape:
{
"Code": "TestSetTestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Version": "1.0.0",
"Description": "Logs in and out"
}
]
}
{
"Code": "TestSetTestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Version": "1.0.0",
"Description": "Logs in and out"
}
]
}
uip tm testset execute
Execute a test set and return its ExecutionId immediately. The test set itself must already be configured with a package and folder — either by authoring inside Test Manager's web UI, or by hand via the REST API. Execute does not block; pair it with uip tm wait in scripts.
Arguments: none.
Options:
--test-set-key <key>(required) — test set to run. The project key is derived from the prefix.--execution-type <type>— which test cases to run. One of:automated(default) — only automated test cases.manual— only manual test cases.mixed— both automated and manual.none— no type filter.
--input-path <file>— path to a JSON file of parameter overrides. The file must contain an array shaped like[{"name":"Param","type":"String","value":"v"}]. Overrides are matched against the test set's current parameter definitions byname(and, when present,type), case-insensitive. If the server reports no parameter definitions, the inputs are sent as-is.
Examples:
# simplest
uip tm testset execute --test-set-key DEMO:10
# with parameter overrides and manual execution
uip tm testset execute \
--test-set-key DEMO:10 \
--execution-type mixed \
--input-path ./params.json
# simplest
uip tm testset execute --test-set-key DEMO:10
# with parameter overrides and manual execution
uip tm testset execute \
--test-set-key DEMO:10 \
--execution-type mixed \
--input-path ./params.json
Data shape:
{
"Code": "TestSetExecute",
"Data": {
"ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"TestSetKey": "DEMO:10",
"Status": "Running",
"StartTime": "2025-04-15T10:30:00Z"
}
}
{
"Code": "TestSetExecute",
"Data": {
"ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"TestSetKey": "DEMO:10",
"Status": "Running",
"StartTime": "2025-04-15T10:30:00Z"
}
}
The returned Status reflects the state at launch (typically Running); it does not mean the run has succeeded. For the run outcome, block on uip tm wait and then read uip tm report get. Exit-code behavior for the combined launch-and-wait flow is documented on uip tm execution.
Related
- testcase — create and link the test cases that populate a test set.
- execution — list and retry executions once a test set has been run.
- wait — block until a returned
ExecutionIdreaches a terminal state. - report, result, attachment — post-run artifacts.
See also
- Test Manager overview
- Scripting patterns — CI-friendly patterns for launching and verifying runs.