- Overview
- Get started
- Concepts
- Using UiPath CLI
- UiPath for Coding Agents
- 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 testcases manages test cases within a Test Manager project: create, list, update, delete, link or unlink an Orchestrator automation, inspect historical results, and list which test sets contain a test case. This page also documents uip tm testcaselog list-assertions, which reads the assertion artifacts attached to a single test case log, and the testcaselog start / testcaselog finish verbs used by automations to record manual log entries.
A test case is the unit of authorship. It becomes runnable once it is linked to a package entry point with testcases link-automation, and it runs as part of a test set (see testsets).
Synopsis
uip tm testcases create --project-key <key> --name <name> [--description <text>] [--precondition <text>] [--postcondition <text>]
uip tm testcases list --project-key <key> [--filter <text>] [--limit <n>] [--offset <n>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [--limit <n>] [--offset <n>]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>] [--precondition <text>] [--postcondition <text>]
uip tm testcases delete --project-key <key> --test-case-key <key> [-y]
uip tm testcases link-automation --project-key <key> --test-case-key <key> --automation-id <uuid>
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --folder-key <uuid> [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-id <uuid>
uip tm testcases run --project-key <key> --test-case-id <uuid...> --name <name> --execution-type <type> [--async] [--folder-key <uuid>] [--runtime-type <type>] [--robot-user-key <uuid>] [--machine-key <uuid>] [--host-machine-name <name>] [--service-user-name <name>] [--test-set-packages <json>]
uip tm testcases add --test-set-key <key> --test-case-keys <keys>
uip tm testcases remove --test-set-key <key> --test-case-keys <keys> [-y]
uip tm testcases list-steps --project-key <key> --test-case-id <uuid>
uip tm testcases steps list --project-key <key> --test-case-id <uuid>
uip tm testcases steps get --project-key <key> --step-id <uuid>
uip tm testcases steps add --project-key <key> --test-case-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>] [--order-no <n>] [--step <json>...]
uip tm testcases steps update --project-key <key> --step-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>]
uip tm testcases steps move --project-key <key> --step-id <uuid> --target-position <n>
uip tm testcases steps delete --project-key <key> --step-id <uuid> [-y]
uip tm testcaselog list-assertions --project-key <key> --test-case-log-id <uuid>
uip tm testcaselog start --execution-id <uuid> --test-case-id <uuid> [--execution-type <type>]
uip tm testcaselog finish --test-case-log-id <uuid> [--info <text>]
uip tm testcases create --project-key <key> --name <name> [--description <text>] [--precondition <text>] [--postcondition <text>]
uip tm testcases list --project-key <key> [--filter <text>] [--limit <n>] [--offset <n>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [--limit <n>] [--offset <n>]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>] [--precondition <text>] [--postcondition <text>]
uip tm testcases delete --project-key <key> --test-case-key <key> [-y]
uip tm testcases link-automation --project-key <key> --test-case-key <key> --automation-id <uuid>
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --folder-key <uuid> [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-id <uuid>
uip tm testcases run --project-key <key> --test-case-id <uuid...> --name <name> --execution-type <type> [--async] [--folder-key <uuid>] [--runtime-type <type>] [--robot-user-key <uuid>] [--machine-key <uuid>] [--host-machine-name <name>] [--service-user-name <name>] [--test-set-packages <json>]
uip tm testcases add --test-set-key <key> --test-case-keys <keys>
uip tm testcases remove --test-set-key <key> --test-case-keys <keys> [-y]
uip tm testcases list-steps --project-key <key> --test-case-id <uuid>
uip tm testcases steps list --project-key <key> --test-case-id <uuid>
uip tm testcases steps get --project-key <key> --step-id <uuid>
uip tm testcases steps add --project-key <key> --test-case-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>] [--order-no <n>] [--step <json>...]
uip tm testcases steps update --project-key <key> --step-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>]
uip tm testcases steps move --project-key <key> --step-id <uuid> --target-position <n>
uip tm testcases steps delete --project-key <key> --step-id <uuid> [-y]
uip tm testcaselog list-assertions --project-key <key> --test-case-log-id <uuid>
uip tm testcaselog start --execution-id <uuid> --test-case-id <uuid> [--execution-type <type>]
uip tm testcaselog finish --test-case-log-id <uuid> [--info <text>]
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 testcases create
Create a new test case inside a project.
Arguments
None.
Options
--project-key <key>(required) — owning project.--name <name>(required) — test case name.--description <text>— free-form description. Defaults to empty.--precondition <text>— precondition text. Defaults to empty.--postcondition <text>— postcondition text. Defaults to empty.
Example
uip tm testcases create \
--project-key DEMO \
--name "Login smoke" \
--description "Logs in and out"
uip tm testcases create \
--project-key DEMO \
--name "Login smoke" \
--description "Logs in and out"
Data shape
{
"Code": "TestCaseCreate",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Login smoke",
"Description": "Logs in and out"
}
}
{
"Code": "TestCaseCreate",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Login smoke",
"Description": "Logs in and out"
}
}
TestCaseKey (the public PROJECT:N identifier) is what you pass to other verbs. The internal Id (UUID) is needed for list-result-history and list-testsets.
uip tm testcases list
List all test cases in a project.
Arguments
None.
Options
--project-key <key>(required) — project to list.--filter <text>— filter by name or key (server-side search).--limit <n>— page size. Defaults to50.--offset <n>— results to skip. Defaults to0.
Example
uip tm testcases list --project-key DEMO --filter login --limit 20
uip tm testcases list --project-key DEMO --filter login --limit 20
Data shape
{
"Code": "TestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Description": "Logs in and out"
}
]
}
{
"Code": "TestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Description": "Logs in and out"
}
]
}
uip tm testcases list-result-history
List the historical test case logs for a single test case. Takes the internal --test-case-id (UUID) — look up the UUID via testcases list or from a previous TestCaseCreate output.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-id <uuid>(required) — internal test case UUID.--limit <n>— page size. Defaults to50.--offset <n>— results to skip. Defaults to0.
Example
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--limit 10
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--limit 10
Data shape
{
"Code": "TestCaseResultHistory",
"Data": [
{
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Result": "Failed",
"Status": "Finished",
"ExecutionEnd": "2025-04-15T12:00:00Z"
}
]
}
{
"Code": "TestCaseResultHistory",
"Data": [
{
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Result": "Failed",
"Status": "Finished",
"ExecutionEnd": "2025-04-15T12:00:00Z"
}
]
}
uip tm testcases update
Rename a test case or change its description, precondition, or postcondition. At least one of these fields must be provided.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-key <key>(required) — test case key (for example,DEMO:1).--name <name>— new name.--description <text>— new description.--precondition <text>— new precondition text.--postcondition <text>— new postcondition text.
Example
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)" \
--precondition "User account exists"
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)" \
--precondition "User account exists"
Data shape
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Result": "Updated"
}
}
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Result": "Updated"
}
}
uip tm testcases delete
Delete a test case by its key.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-key <key>(required) — test case key (for example,DEMO:1).-y, --yes— skip the confirmation prompt. Required in non-interactive environments.
Example
uip tm testcases delete \
--project-key DEMO \
--test-case-key DEMO:1 \
--yes
uip tm testcases delete \
--project-key DEMO \
--test-case-key DEMO:1 \
--yes
Data shape
{
"Code": "TestCaseDelete",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
{
"Code": "TestCaseDelete",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
uip tm testcases link-automation
Bind an Orchestrator automation to a test case by its automation UUID. This is what makes the test case executable inside a test set. Run testcases list-automations to discover the --automation-id for a given folder.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-key <key>(required) — test case to bind.--automation-id <uuid>(required) — UUID of the Orchestrator automation (package entry point). Get this fromuip tm testcases list-automations.
Example
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--automation-id f0f0f0f0-0000-0000-0000-000000000001
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--automation-id f0f0f0f0-0000-0000-0000-000000000001
Data shape
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"Result": "Linked"
}
}
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"Result": "Linked"
}
}
uip tm testcases unlink-automation
Remove the automation binding from a test case. After unlinking, the test case is no longer executable until it is linked again.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-key <key>(required) — test case to unlink.
Example
uip tm testcases unlink-automation \
--project-key DEMO \
--test-case-key DEMO:1
uip tm testcases unlink-automation \
--project-key DEMO \
--test-case-key DEMO:1
Data shape
{
"Code": "TestCaseUnlinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"Result": "Unlinked"
}
}
{
"Code": "TestCaseUnlinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"Result": "Unlinked"
}
}
uip tm testcases list-automations
List the test entry points available in an Orchestrator folder. Run this to discover the --automation-id value to pass to link-automation.
Arguments
None.
Options
--folder-key <uuid>(required) — Orchestrator folder UUID.--package-name <name>— filter the list to one package (case-insensitive exact match).
Example
uip tm testcases list-automations \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
uip tm testcases list-automations \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
Data shape
{
"Code": "TestAutomationsList",
"Data": [
{
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"PackageName": "InvoiceTests",
"TestName": "SmokeTest",
"PackageVersion": "1.0.2"
}
]
}
{
"Code": "TestAutomationsList",
"Data": [
{
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"PackageName": "InvoiceTests",
"TestName": "SmokeTest",
"PackageVersion": "1.0.2"
}
]
}
uip tm testcases list-testsets
List every test set that contains a given test case.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-id <uuid>(required) — internal test case UUID (not thePROJECT:Nkey). Get it fromtestcases listor from aTestCaseCreateresponse.
Example
uip tm testcases list-testsets \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
uip tm testcases list-testsets \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
Data shape
{
"Code": "TestCaseTestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001"
}
]
}
{
"Code": "TestCaseTestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001"
}
]
}
uip tm testcases run
Run a new execution for one or more test cases directly, without creating a test set first. The CLI creates a temporary test set, executes it, and returns the ExecutionId.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-id <uuid...>(required) — one or more test case UUIDs to run (space-separated).--name <name>(required) — name for the new execution.--execution-type <type>(required) — which test cases to run:automated,manual,mixed, ornone.--async— return immediately after queuing without polling.--folder-key <uuid>— Orchestrator folder to run in.--runtime-type <type>— robot runtime type (for example,Unattended).--robot-user-key <uuid>— robot user to assign.--machine-key <uuid>— machine to assign.--host-machine-name <name>— host machine name.--service-user-name <name>— service user name.--test-set-packages <json>— JSON array of package overrides:[{"packageName":"Pkg","version":"1.0.0"}].
Example
uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--name "Smoke run"
uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--name "Smoke run"
Data shape
{
"Code": "TestCaseRun",
"Data": {
"ExecutionId": "b2c3d4e5-0000-0000-0000-000000000001",
"Status": "Running",
"StartTime": "2025-04-15T10:30:00Z"
}
}
{
"Code": "TestCaseRun",
"Data": {
"ExecutionId": "b2c3d4e5-0000-0000-0000-000000000001",
"Status": "Running",
"StartTime": "2025-04-15T10:30:00Z"
}
}
uip tm testcases add
Add one or more test cases to an existing test set.
Arguments
None.
Options
--test-set-key <key>(required) — test set object key (for example,DEMO:42).--test-case-keys <keys>(required) — comma-separated test case keys to add (for example,DEMO:1,DEMO:2).
Example
uip tm testcases add \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2
uip tm testcases add \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2
Data shape
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
uip tm testcases remove
Remove one or more test cases from a test set.
Arguments
None.
Options
--test-set-key <key>(required) — test set object key (for example,DEMO:42).--test-case-keys <keys>(required) — comma-separated test case keys to remove (for example,DEMO:1,DEMO:2).-y, --yes— skip the confirmation prompt. Required in non-interactive environments.
Example
uip tm testcases remove \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2 \
--yes
uip tm testcases remove \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2 \
--yes
Data shape
{
"Code": "TestSetRemoveTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
{
"Code": "TestSetRemoveTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
uip tm testcases list-steps
List the manual test steps of a test case. This is an alias for testcases steps list.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-id <uuid>(required) — internal test case UUID.
Example
uip tm testcases list-steps \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
uip tm testcases list-steps \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
Data shape
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
uip tm testcases steps
testcases steps is a subgroup that manages the individual manual steps of a test case: list, get, add, update, move, and delete.
uip tm testcases steps list
List the steps of a test case in order.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-id <uuid>(required) — internal test case UUID.
Example
uip tm testcases steps list \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
uip tm testcases steps list \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
Data shape
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
uip tm testcases steps get
Get a single step by its UUID.
Arguments
None.
Options
--project-key <key>(required) — owning project.--step-id <uuid>(required) — test step UUID (fromsteps list).
Example
uip tm testcases steps get \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001
uip tm testcases steps get \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001
Data shape
{
"Code": "TestStepGet",
"Data": {
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
}
{
"Code": "TestStepGet",
"Data": {
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
}
uip tm testcases steps add
Add one or more steps to a test case. Use inline flags for a single step or --step <json> (repeatable) for several at once.
Arguments
None.
Options
--project-key <key>(required) — owning project.--test-case-id <uuid>(required) — test case to add steps to.--description <text>— step description (single-step mode).--expected-result <text>— expected outcome (single-step mode).--action-type <type>— step action type (single-step mode).--clipboard-data <text>— test data to copy for the step (single-step mode).--order-no <n>— 0-based insert position; omit to append at the end (single-step mode).--step <json>— a step as a JSON object ({"description":"...","expectedResult":"..."}). Repeat to add several steps.
Examples
# single step
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--description "Open login page" \
--expected-result "Login form is displayed"
# multiple steps
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--step '{"description":"Open login page","expectedResult":"Login form is shown"}' \
--step '{"description":"Enter credentials","clipboardData":"[email protected]"}' \
--step '{"description":"Click submit","expectedResult":"Dashboard loads"}'
# single step
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--description "Open login page" \
--expected-result "Login form is displayed"
# multiple steps
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--step '{"description":"Open login page","expectedResult":"Login form is shown"}' \
--step '{"description":"Enter credentials","clipboardData":"[email protected]"}' \
--step '{"description":"Click submit","expectedResult":"Dashboard loads"}'
Data shape
{
"Code": "TestStepAdd",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
{
"Code": "TestStepAdd",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
uip tm testcases steps update
Update a step's description, expected result, action type, or clipboard data. At least one of these fields must be provided.
Arguments
None.
Options
--project-key <key>(required) — owning project.--step-id <uuid>(required) — test step UUID.--description <text>— new description.--expected-result <text>— new expected result.--action-type <type>— new action type.--clipboard-data <text>— new clipboard data.
Example
uip tm testcases steps update \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--expected-result "Dashboard is shown"
uip tm testcases steps update \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--expected-result "Dashboard is shown"
Data shape
{
"Code": "TestStepUpdate",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Updated"
}
}
{
"Code": "TestStepUpdate",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Updated"
}
}
uip tm testcases steps move
Move a step to a new position in the test case order.
Arguments
None.
Options
--project-key <key>(required) — owning project.--step-id <uuid>(required) — test step UUID.--target-position <n>(required) — new 0-based position (0= first). Matches theOrderNofield fromsteps list.
Example
uip tm testcases steps move \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--target-position 2
uip tm testcases steps move \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--target-position 2
Data shape
{
"Code": "TestStepMove",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"TargetPosition": 2,
"Result": "Moved"
}
}
{
"Code": "TestStepMove",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"TargetPosition": 2,
"Result": "Moved"
}
}
uip tm testcases steps delete
Delete a step from a test case. This is permanent.
Arguments
None.
Options
--project-key <key>(required) — owning project.--step-id <uuid>(required) — test step UUID.-y, --yes— skip the confirmation prompt. Required in non-interactive environments.
Example
uip tm testcases steps delete \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--yes
uip tm testcases steps delete \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--yes
Data shape
{
"Code": "TestStepDelete",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
{
"Code": "TestStepDelete",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
uip tm testcaselog list-assertions
List the assertions recorded for a single test case log. Every run of a test case produces exactly one test case log; its assertions are the individual checks the automation recorded. This verb surfaces why a test case log is marked Failed.
This verb is registered under testcaselog, not testcases, but is documented here because it reads assertion artifacts for a test case's log.
Arguments
None.
Options
--test-case-log-id <uuid>(required) — test case log UUID. Get it fromuip tm executions testcaselogs listoruip tm testcases list-result-history.--project-key <key>(required) — owning project.
Example
uip tm testcaselog list-assertions \
--test-case-log-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO
uip tm testcaselog list-assertions \
--test-case-log-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO
Data shape
{
"Code": "TestCaseLogAssertions",
"Data": [
{ "Message": "Title contains 'Welcome'", "Succeeded": true },
{ "Message": "Button 'Login' visible", "Succeeded": false }
]
}
{
"Code": "TestCaseLogAssertions",
"Data": [
{ "Message": "Title contains 'Welcome'", "Succeeded": true },
{ "Message": "Button 'Login' visible", "Succeeded": false }
]
}
uip tm testcaselog start
Signal the start of a manual test case log entry for a specific test case within an execution.
Arguments
None.
Options
--execution-id <uuid>(required) — the execution in which the test case is running.--test-case-id <uuid>(required) — internal UUID of the test case being logged.--execution-type <type>— execution type for the log entry (for example,automated,manual). Optional.
Example
uip tm testcaselog start \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--test-case-id b2c3d4e5-0000-0000-0000-000000000001
uip tm testcaselog start \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--test-case-id b2c3d4e5-0000-0000-0000-000000000001
Data shape
{
"Code": "TestCaseLogStart",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Status": "InProgress"
}
}
{
"Code": "TestCaseLogStart",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Status": "InProgress"
}
}
uip tm testcaselog finish
Signal the end of a manually started test case log entry.
Arguments
None.
Options
--test-case-log-id <uuid>(required) — the log ID returned bytestcaselog start.--info <text>— optional error or informational message to attach to the log entry.
Example
uip tm testcaselog finish \
--test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
--info "Login button not found on page"
uip tm testcaselog finish \
--test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
--info "Login button not found on page"
Data shape
{
"Code": "TestCaseLogFinish",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Result": "Finished"
}
}
{
"Code": "TestCaseLogFinish",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Result": "Finished"
}
}
Related
- project — scope that owns every test case.
- testsets — group test cases into a runnable suite.
- executions — execution-level views of test case logs.
- report — summary of a run, with failed cases and assertion text.
See also
- Test Manager overview
uip or folders list— source of--folder-keyforlist-automations.
- Synopsis
- uip tm testcases create
- Arguments
- Options
- Example
- Data shape
- uip tm testcases list
- Arguments
- Options
- Example
- Data shape
- uip tm testcases list-result-history
- Arguments
- Options
- Example
- Data shape
- uip tm testcases update
- Arguments
- Options
- Example
- Data shape
- uip tm testcases delete
- Arguments
- Options
- Example
- Data shape
- uip tm testcases link-automation
- Arguments
- Options
- Example
- Data shape
- uip tm testcases unlink-automation
- Arguments
- Options
- Example
- Data shape
- uip tm testcases list-automations
- Arguments
- Options
- Example
- Data shape
- uip tm testcases list-testsets
- Arguments
- Options
- Example
- Data shape
- uip tm testcases run
- Arguments
- Options
- Example
- Data shape
- uip tm testcases add
- Arguments
- Options
- Example
- Data shape
- uip tm testcases remove
- Arguments
- Options
- Example
- Data shape
- uip tm testcases list-steps
- Arguments
- Options
- Example
- Data shape
- uip tm testcases steps
- uip tm testcases steps list
- uip tm testcases steps get
- uip tm testcases steps add
- uip tm testcases steps update
- uip tm testcases steps move
- uip tm testcases steps delete
- uip tm testcaselog list-assertions
- Arguments
- Options
- Example
- Data shape
- uip tm testcaselog start
- Arguments
- Options
- Example
- Data shape
- uip tm testcaselog finish
- Arguments
- Options
- Example
- Data shape
- Related
- See also