UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

Última atualização 7 de mai de 2026

uip tm testcase

uip tm testcase manages test cases within a Test Manager project: create, list, update, delete, link or unlink an Orchestrator automation, and inspect historical results. This page also documents uip tm testcaselog 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 testcase link-automation, and it runs as part of a test set (see testset).

Synopsis

uip tm testcase create --project-key <key> --name <name> [--description <text>] [--version <version>]
uip tm testcase list --project-key <key> [--filter <text>]
uip tm testcase list-result-history --project-key <key> --test-case-id <uuid> [filters…]
uip tm testcase update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>]
uip tm testcase delete --project-key <key> --test-case-key <key>
uip tm testcase link-automation --project-key <key> --test-case-key <key> --folder-key <uuid> --package-name <name> --test-name <name>
uip tm testcase unlink-automation --project-key <key> --test-case-key <key>
uip tm testcase list-automations --project-key <key> --folder-key <uuid> [--package-name <name>]
uip tm testcase list-testsets --project-key <key> --test-case-key <key>

uip tm testcaselog list-assertions --project-key <key> --test-case-log-id <uuid>
uip tm testcase create --project-key <key> --name <name> [--description <text>] [--version <version>]
uip tm testcase list --project-key <key> [--filter <text>]
uip tm testcase list-result-history --project-key <key> --test-case-id <uuid> [filters…]
uip tm testcase update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>]
uip tm testcase delete --project-key <key> --test-case-key <key>
uip tm testcase link-automation --project-key <key> --test-case-key <key> --folder-key <uuid> --package-name <name> --test-name <name>
uip tm testcase unlink-automation --project-key <key> --test-case-key <key>
uip tm testcase list-automations --project-key <key> --folder-key <uuid> [--package-name <name>]
uip tm testcase list-testsets --project-key <key> --test-case-key <key>

uip tm testcaselog 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 testcase 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 to 1.0.0.

Exemplo:

uip tm testcase create \
  --project-key DEMO \
  --name "Login smoke" \
  --description "Logs in and out"
uip tm testcase 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"
  }
}
{
  "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 testcase 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).

Exemplo:

uip tm testcase list --project-key DEMO --filter login
uip tm testcase 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"
    }
  ]
}
{
  "Code": "TestCasesList",
  "Data": [
    {
      "TestCaseKey": "DEMO:1",
      "Name": "Login smoke",
      "Version": "1.0.0",
      "Description": "Logs in and out"
    }
  ]
}

uip tm testcase 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 testcase 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" (default false).
  • --results <results...> — space-separated results to include. Accepted values come from the SDK Result enum.
  • --statuses <statuses...> — space-separated execution statuses. Accepted values come from the SDK TestCaseLogExecutionStatus enum.
  • --duration-period <period> — filter by duration bucket. Accepted values come from the SDK DurationPeriod enum.
  • --top <number> — page size. Defaults to 50.
  • --skip <number> — results to skip. Defaults to 0.
Observação:

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 testcase list-result-history --help to see the current set.

Exemplo:

uip tm testcase list-result-history \
  --project-key DEMO \
  --test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
  --only-failed
uip tm testcase 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"
    }
  ]
}
{
  "Code": "TestCaseResultHistory",
  "Data": [
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000001",
      "Result": "Failed",
      "Status": "Finished",
      "ExecutionEnd": "2025-04-15T12:00:00Z"
    }
  ]
}

uip tm testcase 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.

Exemplo:

uip tm testcase update \
  --project-key DEMO \
  --test-case-key DEMO:1 \
  --name "Login smoke (2026)"
uip tm testcase 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"
  }
}
{
  "Code": "TestCaseUpdate",
  "Data": {
    "TestCaseKey": "DEMO:1",
    "Name": "Login smoke (2026)",
    "Description": "Logs in and out",
    "Result": "Updated"
  }
}

uip tm testcase 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).

Exemplo:

uip tm testcase delete --project-key DEMO --test-case-key DEMO:1
uip tm testcase 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"
  }
}
{
  "Code": "TestCaseDelete",
  "Data": {
    "TestCaseKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "Deleted"
  }
}

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 (from uip 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).

Exemplo:

uip tm testcase link-automation \
  --project-key DEMO \
  --test-case-key DEMO:1 \
  --folder-key f0f0f0f0-0000-0000-0000-000000000001 \
  --package-name InvoiceTests \
  --test-name SmokeTest
uip tm testcase 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"
  }
}
{
  "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.

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.

Exemplo:

uip tm testcase unlink-automation --project-key DEMO --test-case-key DEMO:1
uip tm testcase 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 testcase 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).

Exemplo:

uip tm testcase list-automations \
  --project-key DEMO \
  --folder-key f0f0f0f0-0000-0000-0000-000000000001
uip tm testcase 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"
    }
  ]
}
{
  "Code": "TestAutomationsList",
  "Data": [
    {
      "PackageName": "InvoiceTests",
      "TestName": "SmokeTest",
      "PackageVersion": "1.0.2"
    }
  ]
}

uip tm testcase 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).

Exemplo:

uip tm testcase list-testsets --project-key DEMO --test-case-key DEMO:1
uip tm testcase 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"
    }
  ]
}
{
  "Code": "TestCaseTestSetsList",
  "Data": [
    {
      "TestSetKey": "DEMO:10",
      "Name": "Smoke Suite",
      "FolderKey": "f0f0f0f0-0000-0000-0000-000000000001"
    }
  ]
}

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 (Expect, VerifyExpression, etc.). Use this when you want to surface why a test case log is marked Failed.

This verb is registered under testcaselog, not testcase, 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 from uip tm execution list-testcaselogs or uip tm testcase list-result-history.
  • --project-key <key> (required) — owning project.

Exemplo:

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 }
  ]
}
  • project — scope that owns every test case.
  • testset — group test cases into a runnable suite.
  • execution — execution-level views of test case logs (execution list-testcaselogs).
  • report — summary of a run, with failed cases and assertion text.

Veja também

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades