uip tm testcases
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 add or remove test cases from a test set. This page also documents uip tm testcaselogs list-assertions, which reads the assertion artifacts attached to a single test case log produced by a run.
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>] [--version <version>]
uip tm testcases list --project-key <key> [--filter <text>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [filters…]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>]
uip tm testcases delete --project-key <key> --test-case-key <key>
uip tm testcases link-automation --project-key <key> --test-case-key <key> --folder-key <uuid> --package-name <name> --test-name <name>
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --project-key <key> --folder-key <uuid> [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-key <key>
uip tm testcases add --test-set-key <key> --test-case-keys <keys>
uip tm testcases remove --test-set-key <key> --test-case-keys <keys>
uip tm testcaselogs list-assertions --project-key <key> --test-case-log-id <uuid>
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.--version <version>— test case version string. Defaults to1.0.0.
Example:
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",
"Version": "1.0.0"
}
}
TestCaseKey (the public PROJECT:N identifier) is what you pass to other verbs. The internal Id is only needed for list-result-history.
uip tm testcases list
List all test cases in a project. The CLI pages through results automatically; no paging options are exposed on this verb.
Arguments: none.
Options:
--project-key <key>(required) — project to list.--filter <text>— filter by name or key (server-side search).
Example:
uip tm testcases list --project-key DEMO --filter login
Data shape:
{
"Code": "TestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Version": "1.0.0",
"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), not the PROJECT:N key — 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.--filter <text>— search test case logs by name.--only-failed— shortcut for "show only failed logs" (defaultfalse).--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.
The exact accepted values for --results, --statuses, and --duration-period are generated at runtime from the Test Manager SDK enums shipped with the installed tool version. Run uip tm testcases list-result-history --help to see the current set.
Example:
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--only-failed
Data shape:
{
"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. At least one of --name or --description is required; otherwise the command fails with a validation error.
Arguments: none.
Options:
--project-key <key>(required) — owning project.--test-case-key <key>(required) — test case key (e.g.DEMO:1).--name <name>— new name.--description <text>— new description.
Example:
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)"
Data shape:
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Description": "Logs in and out",
"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 (e.g.DEMO:1).
Example:
uip tm testcases delete --project-key DEMO --test-case-key DEMO:1
Data shape:
{
"Code": "TestCaseDelete",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
uip tm testcases link-automation
Bind an Orchestrator package entry point to a test case. This is what makes the test case executable inside a test set.
Internally, the command resolves the folder display name from --folder-key, looks up the matching package entry point by name, then stores the binding on the test case. All four of --folder-key, --package-name, and --test-name must resolve to a concrete entry point or the command fails.
Arguments: none.
Options:
--project-key <key>(required) — owning project.--test-case-key <key>(required) — test case to bind.--folder-key <uuid>(required) — Orchestrator folder UUID (fromuip or folders list).--package-name <name>(required) — Orchestrator package identifier (e.g.InvoiceTests).--test-name <name>(required) — the test case name inside the package (the entry point name).
Example:
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest
Data shape:
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"PackageName": "InvoiceTests",
"PackageSource": "Shared",
"TestName": "SmokeTest",
"Result": "Linked"
}
}
PackageSource is the display name of the folder resolved from --folder-key.
uip tm testcases unlink-automation
Remove the package-entry-point 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
Data shape:
{
"Code": "TestCaseUnlinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"Result": "Unlinked"
}
}
uip tm testcases list-automations
List the test entry points available in an Orchestrator folder — use this to discover the --package-name / --test-name values to pass to link-automation.
Arguments: none.
Options:
--project-key <key>(required) — owning project (used to scope the lookup).--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 \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
Data shape:
{
"Code": "TestAutomationsList",
"Data": [
{
"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-key <key>(required) — test case key (e.g.DEMO:1).
Example:
uip tm testcases list-testsets --project-key DEMO --test-case-key DEMO:1
Data shape:
{
"Code": "TestCaseTestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001"
}
]
}
uip tm testcases add
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 testcases add \
--test-set-key DEMO:10 \
--test-case-keys DEMO:1,DEMO:2
Data shape:
{
"Code": "TestCaseAdd",
"Data": {
"TestSetKey": "DEMO:10",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
uip tm testcases remove
Remove one or more test cases from a test set. Same semantics as testcases add 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 testcases remove \
--test-set-key DEMO:10 \
--test-case-keys DEMO:1,DEMO:2
Data shape:
{
"Code": "TestCaseRemove",
"Data": {
"TestSetKey": "DEMO:10",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
uip tm testcaselogs 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 (Expect, VerifyExpression, etc.). Use this when you want to surface why a test case log is marked Failed.
This verb is registered under testcaselogs, not testcases, but it 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 testcaselogs 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 }
]
}
Related
- project — scope that owns every test case.
- testsets — group test cases into a runnable suite.
- executions — execution-level views of test case logs (
execution testcaselogs list). - report — summary of a run, with failed cases and assertion text.
See also
- Test Manager overview
uip or folders list— source of--folder-key.uip or packages— how Orchestrator packages and entry points are registered.