UiPath Documentation
uipath-cli
latest
false
Guía del usuario de UiPath CLI
Importante :
Este contenido se ha traducido mediante traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

uip tm testcaselog

Syntax and options for `uip tm testcaselog`, which reads, records, cancels, assigns, and overrides the results of test case logs in a Test Manager project.

uip tm testcaselog works with test case logs. A test case log is the per-test-case record inside a test execution: one run of one test case, with its result, status, timing, assignee, assertions, and robot logs. To list the logs of a single execution, use uip tm executions testcaselogs list. For the step-level records under a log, use uip tm teststeplog.

The group name is singular (testcaselog). The plural testcaselogs exists only as the executions testcaselogs subgroup.

Sinopsis​

uip tm testcaselog list (--project-key <key> | --project-id <id>) [--results <result...>] [--statuses <status...>] [--labels <label...>] [--assignees <uuid...>] [--search <text>] [--sort-by <expression>] [--limit <number>] [--offset <number>]
uip tm testcaselog get --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) [--include-assertions]
uip tm testcaselog latest --test-case-ids <uuid...> (--project-key <key> | --project-id <id>)
uip tm testcaselog list-assertions --test-case-log-id <uuid> (--project-key <key> | --project-id <id>)
uip tm testcaselog render-assertions --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) [--format <format>]
uip tm testcaselog get-robot-logs --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) [--output-file <path>]
uip tm testcaselog start (--project-key <key> | --project-id <id>) --execution-id <uuid> --test-case-id <uuid> [--run-id <number>]
uip tm testcaselog finish (--project-key <key> | --project-id <id>) --execution-id <uuid> --test-case-id <uuid> --result <result> --has-error <boolean> --executed-by <name> [--detail-link <url>] [--run-id <number>] [--is-post-condition-met <boolean>] [--step-logs <json> | --step-logs-file <path>]
uip tm testcaselog cancel --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) --yes
uip tm testcaselog assign --test-case-log-ids <uuid...> (--assignee-email <email> | --assignee-id <uuid>) (--project-key <key> | --project-id <id>) [--due-date <date>]
uip tm testcaselog override create --test-case-log-id <uuid> --result <result> --reason <text> (--project-key <key> | --project-id <id>)
uip tm testcaselog override get --test-case-log-id <uuid> (--project-key <key> | --project-id <id>)
uip tm testcaselog override update --test-case-log-id <uuid> --override-id <uuid> --result <result> --reason <text> (--project-key <key> | --project-id <id>)
uip tm testcaselog override delete --test-case-log-id <uuid> --override-id <uuid> (--project-key <key> | --project-id <id>)
uip tm testcaselog list (--project-key <key> | --project-id <id>) [--results <result...>] [--statuses <status...>] [--labels <label...>] [--assignees <uuid...>] [--search <text>] [--sort-by <expression>] [--limit <number>] [--offset <number>]
uip tm testcaselog get --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) [--include-assertions]
uip tm testcaselog latest --test-case-ids <uuid...> (--project-key <key> | --project-id <id>)
uip tm testcaselog list-assertions --test-case-log-id <uuid> (--project-key <key> | --project-id <id>)
uip tm testcaselog render-assertions --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) [--format <format>]
uip tm testcaselog get-robot-logs --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) [--output-file <path>]
uip tm testcaselog start (--project-key <key> | --project-id <id>) --execution-id <uuid> --test-case-id <uuid> [--run-id <number>]
uip tm testcaselog finish (--project-key <key> | --project-id <id>) --execution-id <uuid> --test-case-id <uuid> --result <result> --has-error <boolean> --executed-by <name> [--detail-link <url>] [--run-id <number>] [--is-post-condition-met <boolean>] [--step-logs <json> | --step-logs-file <path>]
uip tm testcaselog cancel --test-case-log-id <uuid> (--project-key <key> | --project-id <id>) --yes
uip tm testcaselog assign --test-case-log-ids <uuid...> (--assignee-email <email> | --assignee-id <uuid>) (--project-key <key> | --project-id <id>) [--due-date <date>]
uip tm testcaselog override create --test-case-log-id <uuid> --result <result> --reason <text> (--project-key <key> | --project-id <id>)
uip tm testcaselog override get --test-case-log-id <uuid> (--project-key <key> | --project-id <id>)
uip tm testcaselog override update --test-case-log-id <uuid> --override-id <uuid> --result <result> --reason <text> (--project-key <key> | --project-id <id>)
uip tm testcaselog override delete --test-case-log-id <uuid> --override-id <uuid> (--project-key <key> | --project-id <id>)

Todos los verbos respetan las opciones globales y los códigos de salida estándar.

uip tm testcaselog list​

List the test case logs that match a filter across the whole project. This verb has no date or execution filter. To narrow by run, use executions testcaselogs list; to narrow by period, use executions list-filtered --execution-finished-interval.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
--results <result...>Space-separated results to match: None, Passed, Failed, Restricted. Restricted is applied to the response after the query, so a row requested as Passed can come back as Restricted.
--statuses <status...>Space-separated execution statuses to match: pending, running, cancelling, cancelled, finished, failed. Rows return Status in PascalCase (Finished, Running).
--labels <label...>Space-separated label names. A row matches when it carries any of the labels; each label matches the whole name.
--assignees <uuid...>Space-separated assignee identity-provider UUIDs.
--search <text>Prefix match on the test case name or object key. checkout does not match Guest checkout flow.
--sort-by <expression>Sort as <field> asc or <field> desc; the direction is required. Fields: executionStart, executionEnd, result, originalResult, status, executedBy, executionType, robotName, updated. Defaults to executionStart desc, which keeps --offset paging stable.
--limit <number>Tamaño de la página. El valor predeterminado es 50.
--offset <number>Resultados para omitir. El valor predeterminado es 0.

An empty value for --labels, --assignees, --search, or --sort-by returns a validation error. Omit the flag to match everything.

Ejemplo​

uip tm testcaselog list \
  --project-key DEMO \
  --results Failed \
  --labels regression \
  --sort-by 'executionEnd desc' \
  --limit 20
uip tm testcaselog list \
  --project-key DEMO \
  --results Failed \
  --labels regression \
  --sort-by 'executionEnd desc' \
  --limit 20

Forma de datos​

{
  "Code": "TestCaseLogList",
  "Data": [
    {
      "Id": "c3d4e5f6-0000-0000-0000-000000000001",
      "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
      "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
      "Result": "Failed",
      "OriginalResult": "Failed",
      "Status": "Finished",
      "ExecutionType": "automated",
      "HasError": true,
      "ExecutionStart": "2026-09-30T02:00:00Z",
      "ExecutionEnd": "2026-09-30T02:04:10Z",
      "AssigneeIdentityProviderId": null,
      "DueDate": null,
      "TestCase": {
        "Id": "b2c3d4e5-0000-0000-0000-000000000001",
        "Name": "Login flow",
        "ObjKey": "DEMO:42"
      }
    }
  ]
}
{
  "Code": "TestCaseLogList",
  "Data": [
    {
      "Id": "c3d4e5f6-0000-0000-0000-000000000001",
      "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
      "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
      "Result": "Failed",
      "OriginalResult": "Failed",
      "Status": "Finished",
      "ExecutionType": "automated",
      "HasError": true,
      "ExecutionStart": "2026-09-30T02:00:00Z",
      "ExecutionEnd": "2026-09-30T02:04:10Z",
      "AssigneeIdentityProviderId": null,
      "DueDate": null,
      "TestCase": {
        "Id": "b2c3d4e5-0000-0000-0000-000000000001",
        "Name": "Login flow",
        "ObjKey": "DEMO:42"
      }
    }
  ]
}

Each row carries the full log record and its parent test case under TestCase; the example shows a subset of the fields.

uip tm testcaselog get​

Read one test case log by ID. Result is what the log reports now and OriginalResult is what the run recorded. When the two differ, the result is overridden (see override get).

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
--include-assertionsAlso return the assertions of the log under Assertions, which saves a list-assertions call. The server omits them when Result is Restricted, meaning the caller is not entitled to the result.

Ejemplo​

uip tm testcaselog get \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --include-assertions
uip tm testcaselog get \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --include-assertions

Forma de datos​

{
  "Code": "TestCaseLogGet",
  "Data": {
    "Id": "c3d4e5f6-0000-0000-0000-000000000001",
    "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
    "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "Passed",
    "OriginalResult": "Failed",
    "Status": "Finished",
    "HasError": true,
    "ExecutionStart": "2026-09-30T02:00:00Z",
    "ExecutionEnd": "2026-09-30T02:04:10Z",
    "Assertions": [
      {
        "Id": "f6a7b8c9-0000-0000-0000-000000000001",
        "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
        "Message": "Button 'Login' visible",
        "Succeeded": false,
        "HasScreenshot": false
      }
    ]
  }
}
{
  "Code": "TestCaseLogGet",
  "Data": {
    "Id": "c3d4e5f6-0000-0000-0000-000000000001",
    "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
    "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "Passed",
    "OriginalResult": "Failed",
    "Status": "Finished",
    "HasError": true,
    "ExecutionStart": "2026-09-30T02:00:00Z",
    "ExecutionEnd": "2026-09-30T02:04:10Z",
    "Assertions": [
      {
        "Id": "f6a7b8c9-0000-0000-0000-000000000001",
        "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
        "Message": "Button 'Login' visible",
        "Succeeded": false,
        "HasScreenshot": false
      }
    ]
  }
}

uip tm testcaselog latest​

Read the most recent finished log for each given test case in one call. A test case with no finished log is omitted from Data without an error, and in-progress runs are not reflected. Rows are unordered; join them on TestCaseId.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-ids <uuid...>Required. Space-separated test case UUIDs. At most 100 distinct IDs per call; duplicates are removed first, and more than 100 returns a validation error.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplo​

uip tm testcaselog latest \
  --project-key DEMO \
  --test-case-ids b2c3d4e5-0000-0000-0000-000000000001 b2c3d4e5-0000-0000-0000-000000000002
uip tm testcaselog latest \
  --project-key DEMO \
  --test-case-ids b2c3d4e5-0000-0000-0000-000000000001 b2c3d4e5-0000-0000-0000-000000000002

Forma de datos​

{
  "Code": "TestCaseLogLatest",
  "Data": [
    {
      "Id": "c3d4e5f6-0000-0000-0000-000000000001",
      "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
      "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
      "Result": "Passed",
      "Status": "Finished",
      "ExecutionEnd": "2026-09-30T02:04:10Z"
    }
  ]
}
{
  "Code": "TestCaseLogLatest",
  "Data": [
    {
      "Id": "c3d4e5f6-0000-0000-0000-000000000001",
      "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
      "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
      "Result": "Passed",
      "Status": "Finished",
      "ExecutionEnd": "2026-09-30T02:04:10Z"
    }
  ]
}

uip tm testcaselog list-assertions​

List the assertions recorded for a single test case log. The assertions are the individual checks the automation recorded, and they show why a log is marked Failed. For the same assertions as a Markdown table, use render-assertions.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID. Get it from testcaselog list, uip tm executions testcaselogs list, or uip tm testcases list-result-history.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplo​

uip tm testcaselog list-assertions \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO
uip tm testcaselog list-assertions \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO

Forma de datos​

{
  "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 }
  ]
}

Each row also carries Id, TestCaseLogId, Payload, HasScreenshot, Timestamp, and Screenshot (FileName, FileSize, Url).

uip tm testcaselog render-assertions​

Read the assertions of a test case log as Markdown, ready to paste into a report or a defect. For structured rows, use list-assertions.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
--format <format>Rendering to return. Only markdown is accepted. Defaults to markdown.

Ejemplo​

uip tm testcaselog render-assertions \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO
uip tm testcaselog render-assertions \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO

Forma de datos​

{
  "Code": "TestCaseLogAssertionsMarkdown",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Format": "markdown",
    "Markdown": "| # | Result | Assertion name | Message |\n| --- | --- | --- | --- |\n| 1 | Passed | Login succeeds | |",
    "Action": "Rendered"
  }
}
{
  "Code": "TestCaseLogAssertionsMarkdown",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Format": "markdown",
    "Markdown": "| # | Result | Assertion name | Message |\n| --- | --- | --- | --- |\n| 1 | Passed | Login succeeds | |",
    "Action": "Rendered"
  }
}

Action is NoAssertions, with an empty Markdown, when the log has no assertions.

uip tm testcaselog get-robot-logs​

Get the robot logs of a test case log. Without --output-file, the command returns an expiring download link and the file size. With --output-file, it downloads the logs and writes them to that path.

  • Robot logs exist only for automated runs. A manual-run log always returns Action: "NoLogs".
  • A log with no robot logs is not an error. Both forms return Action: "NoLogs", and --output-file writes nothing.
  • Without --output-file, each call renders the logs and stores a fresh copy on the server. Reuse DownloadUrl until ExpirationTimestamp instead of calling again in a loop.
  • For an Orchestrator run, the file holds only the first page of robot logs that Orchestrator returns (oldest first), so the log of a long job can be cut short.
  • DownloadUrl is a Test Manager API path. Fetching it requires a bearer token with the TM.Attachments scope, which this command does not itself require.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
--output-file <path>Download the logs to this path instead of returning a link. An empty path returns a validation error.

Ejemplos​

# return an expiring download link
uip tm testcaselog get-robot-logs \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO

# download the logs to a file
uip tm testcaselog get-robot-logs \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --output-file ./robot-logs.log
# return an expiring download link
uip tm testcaselog get-robot-logs \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO

# download the logs to a file
uip tm testcaselog get-robot-logs \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --output-file ./robot-logs.log

Forma de datos​

Link form:

{
  "Code": "TestCaseLogRobotLogs",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "FileName": "robot-logs.log",
    "FileSize": 20480,
    "DownloadUrl": "https://cloud.uipath.com/<org>/<tenant>/testmanager_/api/v2/9f8e7d6c-0000-0000-0000-000000000001/attachments/testcaselog/a1b2c3d4-0000-0000-0000-000000000077/download",
    "ExpirationTimestamp": "2026-10-02T12:00:00.000Z",
    "Action": "Available"
  }
}
{
  "Code": "TestCaseLogRobotLogs",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "FileName": "robot-logs.log",
    "FileSize": 20480,
    "DownloadUrl": "https://cloud.uipath.com/<org>/<tenant>/testmanager_/api/v2/9f8e7d6c-0000-0000-0000-000000000001/attachments/testcaselog/a1b2c3d4-0000-0000-0000-000000000077/download",
    "ExpirationTimestamp": "2026-10-02T12:00:00.000Z",
    "Action": "Available"
  }
}

File form (OutputFile is the absolute path written):

{
  "Code": "TestCaseLogRobotLogs",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "OutputFile": "/work/robot-logs.log",
    "Bytes": 20480,
    "Action": "Downloaded"
  }
}
{
  "Code": "TestCaseLogRobotLogs",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "OutputFile": "/work/robot-logs.log",
    "Bytes": 20480,
    "Action": "Downloaded"
  }
}

No robot logs (either form):

{
  "Code": "TestCaseLogRobotLogs",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Action": "NoLogs"
  }
}
{
  "Code": "TestCaseLogRobotLogs",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Action": "NoLogs"
  }
}

inicio de registro de caso de prueba de uip tm​

Start a test case execution within an existing test execution. Automations and integrations use this verb with finish to record manual or mixed test case runs.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
--execution-id <uuid>Required. Test execution UUID, as returned by uip tm testsets run.
--test-case-id <uuid>Required. Test case UUID.
--run-id <number>Run ID to record against. When omitted, the command reads the current RunId of the execution first.

Ejemplo​

uip tm testcaselog start \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --test-case-id b2c3d4e5-0000-0000-0000-000000000001
uip tm testcaselog start \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --test-case-id b2c3d4e5-0000-0000-0000-000000000001

Forma de datos​

{
  "Code": "TestCaseLogStart",
  "Data": {
    "Id": "c3d4e5f6-0000-0000-0000-000000000001",
    "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
    "ProjectId": "9f8e7d6c-0000-0000-0000-000000000001",
    "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "None",
    "BusinessResult": "None",
    "OriginalResult": "None",
    "Status": "Running",
    "ExecutionType": "manual",
    "HasError": false,
    "ExecutionStart": "2026-09-30T10:30:00Z",
    "ExecutionEnd": null,
    "ExecutedBy": "alice@example.com",
    "RunId": 1,
    "Updated": "2026-09-30T10:30:00Z"
  }
}
{
  "Code": "TestCaseLogStart",
  "Data": {
    "Id": "c3d4e5f6-0000-0000-0000-000000000001",
    "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
    "ProjectId": "9f8e7d6c-0000-0000-0000-000000000001",
    "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "None",
    "BusinessResult": "None",
    "OriginalResult": "None",
    "Status": "Running",
    "ExecutionType": "manual",
    "HasError": false,
    "ExecutionStart": "2026-09-30T10:30:00Z",
    "ExecutionEnd": null,
    "ExecutedBy": "alice@example.com",
    "RunId": 1,
    "Updated": "2026-09-30T10:30:00Z"
  }
}

Id is the test case log UUID. Pass it to uip tm teststeplog list or testcaselog list-assertions once the run is finished. The full response also carries AutomationId, JobKey, PreCondition, PostCondition, and other fields that are mostly empty at start time.

uip tm testcaselog finish​

Finish a test case execution started with start, recording the overall result and, optionally, every step result in one call.

Importante:

finish has no --test-case-log-id flag. It identifies the run by --execution-id and --test-case-id, the same pair passed to start.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
--execution-id <uuid>Obligatorio. La ejecución de prueba pasó a start.
--test-case-id <uuid>Obligatorio. El caso de prueba pasado a start.
--result <result>Required. Overall result: None, Passed, Failed, Restricted.
--has-error <boolean>Required. Marks the execution as having an error. true (any case) records true; any other value records false.
--executed-by <name>Required. Email of the user who executed the test. Test Manager can record the authenticated caller as ExecutedBy instead, so the stored value may differ from the one passed here.
--detail-link <url>URL con detalles de ejecución adicionales.
--run-id <number>Run ID to record against. When omitted, the command reads the current RunId of the execution first.
--is-post-condition-met <boolean>Marks whether the post-condition was met. Parsed like --has-error.
--step-logs <json>JSON array of step results to record for this test case execution. Mutually exclusive with --step-logs-file.
--step-logs-file <path>Path to a JSON file with the same shape as --step-logs. Mutually exclusive with --step-logs. An unreadable file or invalid JSON returns a validation error before any call to Test Manager.

Each element of the --step-logs array is one step result:

CampoDescripción
testStepIdUUID of the test step, from uip tm testcases steps list.
resultStep result: None, Passed, Failed, Restricted.
orderNoPosition of the step in the test case.
commentFree-text comment on the step.
hasErrortrue when the step had an error.
hasAttachmenttrue when the step has an attachment.

The array also accepts id, testCaseLogId, actionType, description, expectedResult, and clipboardData, the fields that uip tm teststeplog list returns.

Ejemplos​

# finish with step results inline
uip tm testcaselog finish \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --test-case-id b2c3d4e5-0000-0000-0000-000000000001 \
  --result Passed \
  --has-error false \
  --executed-by alice@example.com \
  --detail-link https://logs.example.com/run/1 \
  --is-post-condition-met true \
  --step-logs '[{"testStepId":"d4e5f6a7-0000-0000-0000-000000000001","result":"Passed","orderNo":1,"comment":"Opened login page","hasError":false,"hasAttachment":false}]'

# finish with step results loaded from a file
uip tm testcaselog finish \
  --project-id 9f8e7d6c-0000-0000-0000-000000000001 \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --test-case-id b2c3d4e5-0000-0000-0000-000000000001 \
  --result Failed \
  --has-error true \
  --executed-by alice@example.com \
  --step-logs-file ./step-logs.json
# finish with step results inline
uip tm testcaselog finish \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --test-case-id b2c3d4e5-0000-0000-0000-000000000001 \
  --result Passed \
  --has-error false \
  --executed-by alice@example.com \
  --detail-link https://logs.example.com/run/1 \
  --is-post-condition-met true \
  --step-logs '[{"testStepId":"d4e5f6a7-0000-0000-0000-000000000001","result":"Passed","orderNo":1,"comment":"Opened login page","hasError":false,"hasAttachment":false}]'

# finish with step results loaded from a file
uip tm testcaselog finish \
  --project-id 9f8e7d6c-0000-0000-0000-000000000001 \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --test-case-id b2c3d4e5-0000-0000-0000-000000000001 \
  --result Failed \
  --has-error true \
  --executed-by alice@example.com \
  --step-logs-file ./step-logs.json

Forma de datos​

{
  "Code": "TestCaseLogFinish",
  "Data": {
    "Id": "c3d4e5f6-0000-0000-0000-000000000001",
    "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
    "ProjectId": "9f8e7d6c-0000-0000-0000-000000000001",
    "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "Passed",
    "BusinessResult": "Passed",
    "OriginalResult": "Passed",
    "Status": "Finished",
    "ExecutionType": "manual",
    "HasError": false,
    "ExecutionStart": "2026-09-30T10:30:00Z",
    "ExecutionEnd": "2026-09-30T10:31:00Z",
    "ExecutedBy": "alice@example.com",
    "DetailLink": "https://logs.example.com/run/1",
    "RunId": 1,
    "IsPostConditionMet": true,
    "Updated": "2026-09-30T10:31:00Z"
  }
}
{
  "Code": "TestCaseLogFinish",
  "Data": {
    "Id": "c3d4e5f6-0000-0000-0000-000000000001",
    "TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
    "ProjectId": "9f8e7d6c-0000-0000-0000-000000000001",
    "TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Result": "Passed",
    "BusinessResult": "Passed",
    "OriginalResult": "Passed",
    "Status": "Finished",
    "ExecutionType": "manual",
    "HasError": false,
    "ExecutionStart": "2026-09-30T10:30:00Z",
    "ExecutionEnd": "2026-09-30T10:31:00Z",
    "ExecutedBy": "alice@example.com",
    "DetailLink": "https://logs.example.com/run/1",
    "RunId": 1,
    "IsPostConditionMet": true,
    "Updated": "2026-09-30T10:31:00Z"
  }
}

Finishing a log deletes any result override on it.

uip tm testcaselog cancel​

Ask Test Manager to cancel a running automated test case execution. A log that is Pending or Running with an Orchestrator job is stopped and moves to Cancelling. A log in any other state is accepted and ignored.

Result: "CancelRequested" means Test Manager accepted the request. It does not confirm that a job stopped; the final status arrives later. Read the log back with get to check it. To cancel a whole execution, use uip tm executions cancel.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.
-y, --yesRequired. Confirms the irreversible operation. The CLI never prompts; without --yes the command returns Result: "Failure" and exits 1.

Ejemplo​

uip tm testcaselog cancel \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --yes
uip tm testcaselog cancel \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --yes

Forma de datos​

{
  "Code": "TestCaseLogCancel",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Result": "CancelRequested"
  }
}
{
  "Code": "TestCaseLogCancel",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Result": "CancelRequested"
  }
}

uip tm testcaselog assign​

Assign test case logs to a user, so a failed run has an owner.

  • Assignment is stored per test case per execution. Passing the log ID of one variation reassigns every variation and run of that test case in that execution.
  • An ID that resolves to nothing is dropped without an error, so Action: "Assigned" means the request was accepted. Re-read a log with get to confirm the assignment. When none of the IDs exist in the project, the server returns a 500 error.
  • Name the assignee with --assignee-email or --assignee-id. uip tm user get returns your own ID as IdentityProviderId, and uip tm project owners list returns Identifier for a project owner.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-ids <uuid...>Required. Space-separated test case log UUIDs. At most 100 distinct IDs per call; each must be a UUID.
--assignee-email <email>Assignee email, resolved through an Orchestrator user lookup. The email must match exactly one Orchestrator user. If Orchestrator refuses the lookup, pass --assignee-id instead. Exactly one of --assignee-email or --assignee-id is required.
--assignee-id <uuid>Assignee identity-provider UUID. Use instead of --assignee-email.
--due-date <date>Due date for the assignment, as an ISO 8601 date or date-time (for example, 2026-10-01). An empty value or an impossible calendar date returns a validation error. Omitting the flag clears any existing due date on the reassigned logs.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplos​

# assign two failed logs to one user, with a due date
uip tm testcaselog assign \
  --project-key DEMO \
  --test-case-log-ids c3d4e5f6-0000-0000-0000-000000000001 c3d4e5f6-0000-0000-0000-000000000002 \
  --assignee-id e5f6a7b8-0000-0000-0000-000000000001 \
  --due-date 2026-10-01

# assign by email
uip tm testcaselog assign \
  --project-key DEMO \
  --test-case-log-ids c3d4e5f6-0000-0000-0000-000000000001 \
  --assignee-email priya@example.com
# assign two failed logs to one user, with a due date
uip tm testcaselog assign \
  --project-key DEMO \
  --test-case-log-ids c3d4e5f6-0000-0000-0000-000000000001 c3d4e5f6-0000-0000-0000-000000000002 \
  --assignee-id e5f6a7b8-0000-0000-0000-000000000001 \
  --due-date 2026-10-01

# assign by email
uip tm testcaselog assign \
  --project-key DEMO \
  --test-case-log-ids c3d4e5f6-0000-0000-0000-000000000001 \
  --assignee-email priya@example.com

Forma de datos​

{
  "Code": "TestCaseLogAssign",
  "Data": {
    "AssigneeIdentityProviderId": "e5f6a7b8-0000-0000-0000-000000000001",
    "DueDate": "2026-10-01T00:00:00.000Z",
    "Action": "Assigned"
  }
}
{
  "Code": "TestCaseLogAssign",
  "Data": {
    "AssigneeIdentityProviderId": "e5f6a7b8-0000-0000-0000-000000000001",
    "DueDate": "2026-10-01T00:00:00.000Z",
    "Action": "Assigned"
  }
}

DueDate is null when --due-date is omitted, which reflects the cleared due date.

uip tm testcaselog override create​

Override the result a test case log reports without changing what the run recorded. Afterward, get shows Result and OriginalResult differing. The response includes the override Id that override update and override delete need.

  • A log carries at most one override. The command refuses when the log already has one; change it with override update instead.
  • An override is deleted whenever the log is finished, re-imported, or updated by an Orchestrator job event.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--result <result>Required. Result the log reports: Passed, Failed, None. The server rejects a value equal to the OriginalResult of the log.
--reason <text>Required. Why the result is overridden; kept on the record. A blank reason or one longer than 5120 characters is refused.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplo​

uip tm testcaselog override create \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --result Passed \
  --reason 'Known flaky selector; verified manually'
uip tm testcaselog override create \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --result Passed \
  --reason 'Known flaky selector; verified manually'

Forma de datos​

{
  "Code": "TestCaseLogOverrideCreate",
  "Data": {
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "CurrentResult": "Passed",
    "Reason": "Known flaky selector; verified manually",
    "Updated": "2026-09-25T09:14:00Z",
    "UpdatedBy": "7f6e5d4c-0000-0000-0000-000000000001",
    "Action": "Created"
  }
}
{
  "Code": "TestCaseLogOverrideCreate",
  "Data": {
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "CurrentResult": "Passed",
    "Reason": "Known flaky selector; verified manually",
    "Updated": "2026-09-25T09:14:00Z",
    "UpdatedBy": "7f6e5d4c-0000-0000-0000-000000000001",
    "Action": "Created"
  }
}

UpdatedBy is the all-zero UUID when the call carries no user context, for example with a service-to-service token.

uip tm testcaselog override get​

Read the override on a test case log, including the Id that override update and override delete need. A log with no override returns a 404 error, not an empty result.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplo​

uip tm testcaselog override get \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO
uip tm testcaselog override get \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --project-key DEMO

Forma de datos​

{
  "Code": "TestCaseLogOverrideGet",
  "Data": {
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "CurrentResult": "Passed",
    "Reason": "Known flaky selector; verified manually",
    "Updated": "2026-09-25T09:14:00Z",
    "UpdatedBy": "7f6e5d4c-0000-0000-0000-000000000001"
  }
}
{
  "Code": "TestCaseLogOverrideGet",
  "Data": {
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "CurrentResult": "Passed",
    "Reason": "Known flaky selector; verified manually",
    "Updated": "2026-09-25T09:14:00Z",
    "UpdatedBy": "7f6e5d4c-0000-0000-0000-000000000001"
  }
}

uip tm testcaselog override update​

Replace the result and reason of an existing override. Both are required. The command first checks that the log carries the override named by --override-id, and refuses when the log has no override or a different one.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--override-id <uuid>Required. Override UUID, from override create output or override get.
--result <result>Required. Result the log reports: Passed, Failed, None. The server rejects a value equal to the OriginalResult of the log.
--reason <text>Required. Why the result is overridden; kept on the record. A blank reason or one longer than 5120 characters is refused.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplo​

uip tm testcaselog override update \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --override-id d4e5f6a7-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --result Failed \
  --reason 'Reproduced on a clean run'
uip tm testcaselog override update \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --override-id d4e5f6a7-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --result Failed \
  --reason 'Reproduced on a clean run'

Forma de datos​

{
  "Code": "TestCaseLogOverrideUpdate",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "CurrentResult": "Failed",
    "Reason": "Reproduced on a clean run",
    "Action": "Updated"
  }
}
{
  "Code": "TestCaseLogOverrideUpdate",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "CurrentResult": "Failed",
    "Reason": "Reproduced on a clean run",
    "Action": "Updated"
  }
}

The response echoes the IDs and the new values. For the full override record, use override get.

uip tm testcaselog override delete​

Remove an override, so the log reports the result the run recorded again. The command first checks that the log carries the override named by --override-id, and refuses when the log has no override or a different one.

Argumentos​

Nada.

Opciones​

MarcaDescripción
--test-case-log-id <uuid>Required. Test case log UUID.
--override-id <uuid>Required. Override UUID, from override create output or override get.
--project-key <key>Test Manager project key. Ignored if --project-id is also given. One of --project-key or --project-id is required.
--project-id <id>Test Manager project ID. Use instead of --project-key; wins if both are given.

Ejemplo​

uip tm testcaselog override delete \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --override-id d4e5f6a7-0000-0000-0000-000000000001 \
  --project-id 9f8e7d6c-0000-0000-0000-000000000001
uip tm testcaselog override delete \
  --test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
  --override-id d4e5f6a7-0000-0000-0000-000000000001 \
  --project-id 9f8e7d6c-0000-0000-0000-000000000001

Forma de datos​

{
  "Code": "TestCaseLogOverrideDelete",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "Action": "Deleted"
  }
}
{
  "Code": "TestCaseLogOverrideDelete",
  "Data": {
    "TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
    "Id": "d4e5f6a7-0000-0000-0000-000000000001",
    "Action": "Deleted"
  }
}
  • executions — executions testcaselogs list lists the logs of one execution; executions run re-runs selected logs.
  • teststeplog — step-level logs under a test case log.
  • testsets run — starts the execution that start and finish record into.
  • testcases — the test cases and steps that logs record results for.
  • defects create — raise a defect from a failed result.
  • informe : resumen de una ejecución, con casos fallidos y texto de aserción.

Ver también​

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte(opens in new window)

¿Quiere aprender? UiPath Academy(opens in new window)

¿Tiene alguna pregunta? Foro de UiPath(opens in new window)

Manténgase actualizado