- Visão geral
- Introdução
- Conceitos
- Using UiPath CLI
- Guias de instruções
- CI/CD recipes
- Referência de comando
- Visão geral
- Códigos de saída
- Global options
- uip codedagent
- uip docsai
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- criar projeto
- 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
- Migração
- Reference & support
UiPath CLI user guide
uip tm execution inspects and manipulates test executions — the objects produced by uip tm testset execute. Use these verbs to list executions for a test set, enumerate the test case logs of a finished run, and retry only the failed cases in place.
The command that starts an execution is uip tm testset execute, which returns an ExecutionId. Every verb on this page takes that ID (or derives it from context).
Synopsis
uip tm execution list --project-key <key> --test-set-id <uuid> [filters…]
uip tm execution list-testcaselogs --execution-id <uuid> --project-key <key> [filters…]
uip tm execution retry --execution-id <uuid> (--project-key <key> | --test-set-key <key>) [--execution-type <type>]
uip tm execution list --project-key <key> --test-set-id <uuid> [filters…]
uip tm execution list-testcaselogs --execution-id <uuid> --project-key <key> [filters…]
uip tm execution retry --execution-id <uuid> (--project-key <key> | --test-set-key <key>) [--execution-type <type>]
All verbs honor the global options and the standard exit codes. Every verb accepts -t, --tenant <name> and --log-level <level> (default Information).
uip tm execution list
List the executions associated with a test set. Filters are applied server-side; the CLI returns one page per call, sized by --top / --skip.
Arguments: none.
Options:
--project-key <key>(required) — owning project.--test-set-id <uuid>(required) — test set UUID (theIdfield fromtestset list, notTestSetKey).--filter <text>— search executions by name.--status <status>— filter by execution status. Accepted values come from the SDKTestExecutionStatusenum.--execution-type <type>— filter by execution type. Accepted values come from the SDKExecutionTypeenum (automated,manual,mixed,none).--execution-finished-interval <interval>— filter by how recently the execution finished. Accepted values come from the SDKTestExecutionFinishedIntervalenum.--top <number>— page size. Defaults to50.--skip <number>— results to skip. Defaults to0.
The exact enum values accepted by --status, --execution-type, and --execution-finished-interval are generated from the Test Manager SDK at runtime. Run uip tm execution list --help to see the current set for your installed tool version.
Exemplo:
uip tm execution list \
--project-key DEMO \
--test-set-id a1b2c3d4-0000-0000-0000-000000000001 \
--top 2
uip tm execution list \
--project-key DEMO \
--test-set-id a1b2c3d4-0000-0000-0000-000000000001 \
--top 2
Data shape:
{
"Code": "ExecutionsList",
"Data": [
{
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Name": "Nightly Run 2025-04-15",
"Status": "Passed"
},
{
"Id": "b2c3d4e5-0000-0000-0000-000000000002",
"Name": "Nightly Run 2025-04-14",
"Status": "Failed"
}
]
}
{
"Code": "ExecutionsList",
"Data": [
{
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Name": "Nightly Run 2025-04-15",
"Status": "Passed"
},
{
"Id": "b2c3d4e5-0000-0000-0000-000000000002",
"Name": "Nightly Run 2025-04-14",
"Status": "Failed"
}
]
}
uip tm execution list-testcaselogs
List the test case logs produced by a single execution. Each log is one run of one test case, carrying result, status, and timing.
Arguments: none.
Options:
--execution-id <uuid>(required) — execution to inspect.--project-key <key>(required) — owning project.--only-failed— shortcut for "show only failed logs".--filter <text>— search logs by name.--results <results...>— space-separated results to include. Accepted values come from the SDKResultenum.--statuses <statuses...>— space-separated execution statuses. Accepted values come from the SDKTestCaseLogExecutionStatusenum.--duration-period <period>— filter by duration bucket. Accepted values come from the SDKDurationPeriodenum.--top <number>— page size. Defaults to50.--skip <number>— results to skip. Defaults to0.
Exemplo:
uip tm execution list-testcaselogs \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO \
--only-failed
uip tm execution list-testcaselogs \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO \
--only-failed
Data shape:
{
"Code": "ExecutionTestCaseLogs",
"Data": [
{
"Id": "c3d4e5f6-0000-0000-0000-000000000001",
"TestCaseName": "Login flow",
"Status": "Finished",
"Result": "Failed"
}
]
}
{
"Code": "ExecutionTestCaseLogs",
"Data": [
{
"Id": "c3d4e5f6-0000-0000-0000-000000000001",
"TestCaseName": "Login flow",
"Status": "Finished",
"Result": "Failed"
}
]
}
Each Id in the output is a test case log UUID. Feed it to uip tm testcaselog list-assertions to see why a test case log was marked Failed.
uip tm execution retry
Retry only the failed test cases of a completed execution, in place. The command:
- Fetches the execution's stats and refuses to proceed unless the run is in a terminal state (otherwise it exits
1with a guidance message). - If there are zero failed cases, prints a
Messageenvelope and exits0— this is intentionally not an error. - Otherwise collects every failed test case log ID (paged) and kicks off a retry that targets only those logs.
The retry reuses the same execution ID; it does not create a new one.
Arguments: none.
Options:
--execution-id <uuid>(required) — execution to retry.--project-key <key>— owning project. Either this or--test-set-keyis required.--test-set-key <key>— test set key (e.g.DEMO:42); the project key is derived from the prefix.--execution-type <type>— execution type for the retry:automated(default),manual,mixed, ornone.
Exemplo:
uip tm execution retry \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO
uip tm execution retry \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO
Data shape — when there are failures to retry:
{
"Code": "ExecutionRetry",
"Data": {
"ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"Status": "Running",
"StartTime": "2025-04-15T10:30:00Z",
"RetriedCount": 3
}
}
{
"Code": "ExecutionRetry",
"Data": {
"ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"Status": "Running",
"StartTime": "2025-04-15T10:30:00Z",
"RetriedCount": 3
}
}
When there are no failures to retry:
{
"Code": "ExecutionRetry",
"Data": {
"Message": "Execution 'a1b2c3d4-0000-0000-0000-000000000001' has no failed test cases to retry."
}
}
{
"Code": "ExecutionRetry",
"Data": {
"Message": "Execution 'a1b2c3d4-0000-0000-0000-000000000001' has no failed test cases to retry."
}
}
Códigos de saída
All uip tm execution … verbs follow the standard exit codes — 0 on success (even when retry finds nothing to retry), 1 on generic failure, 2 on authentication failure, 3 on validation error.
The Test Manager run lifecycle adds one behavior worth calling out explicitly, and it lives on wait, not on the execution verbs themselves:
Distinguishing "timed out" from "finished with failures"
There is no single tm verb that exits non-zero because tests failed. The standard CI pattern is a three-step pipeline:
- Launch —
uip tm testset executereturns anExecutionIdand exits0as soon as the run is queued. - Block —
uip tm wait --execution-id <id> --timeout <seconds>polls until the execution reaches a terminal state.- Exits
0when the execution finished (regardless of pass/fail — "finished" is the success signal here). - Exits
2on--timeoutexpiry. This is domain-specific: the shared contract reserves2forAuthenticationError, butwaitreuses it forTimeoutErrorso scripts can branch on "took too long" without parsing text. See the note on this underuip tm waitexit codes. - Exits
1on API failure, interrupt, or abort.
- Exits
- Verdict —
uip tm report get --execution-id <id>readsPassed/Failed/Skipped/PassRate. Your script decides what a pass looks like and fails the build explicitly (e.g.exit 1whenFailed > 0).report getitself exits0whenever it successfully produces the summary, regardless of the outcome of the run it is summarizing.
# Start the run
id=$(uip tm testset execute --test-set-key DEMO:10 --output-filter .Data.ExecutionId)
# Block with a timeout; branch on the outcome
if ! uip tm wait --execution-id "$id" --timeout 1800; then
code=$?
if [ "$code" -eq 2 ]; then
echo "timed out" >&2
exit 2
fi
echo "wait failed ($code)" >&2
exit "$code"
fi
# Decide pass/fail from the summary
failed=$(uip tm report get --execution-id "$id" --project-key DEMO --output-filter .Data.Failed)
if [ "$failed" -gt 0 ]; then
echo "$failed test case(s) failed" >&2
exit 1
fi
echo "all passed"
# Start the run
id=$(uip tm testset execute --test-set-key DEMO:10 --output-filter .Data.ExecutionId)
# Block with a timeout; branch on the outcome
if ! uip tm wait --execution-id "$id" --timeout 1800; then
code=$?
if [ "$code" -eq 2 ]; then
echo "timed out" >&2
exit 2
fi
echo "wait failed ($code)" >&2
exit "$code"
fi
# Decide pass/fail from the summary
failed=$(uip tm report get --execution-id "$id" --project-key DEMO --output-filter .Data.Failed)
if [ "$failed" -gt 0 ]; then
echo "$failed test case(s) failed" >&2
exit 1
fi
echo "all passed"
Related
- testset execute — start an execution.
- wait — block until an execution reaches a terminal state.
- report, result, attachment — post-run artifacts.
- testcase —
testcaselog list-assertionsturns a failed log into per-assertion detail.
Veja também
- Test Manager overview
- Exit codes — shared contract.
- Scripting patterns — the three-step launch-wait-verify pipeline in detail.