uipath-test

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

UiPath Test Assistant

UiPath Test Assistant

Manage UiPath Test Manager resources (projects, test cases, test sets, executions) and generate persona-tailored shareable test reports.
管理UiPath Test Manager资源(项目、测试用例、测试集、测试执行),并生成针对不同角色的可共享测试报告。

When to Use This Skill

何时使用此技能

  • User wants to list, create, update, delete Test Manager projects, test cases, test sets, or executions
  • User wants to view or analyse test execution results
  • User wants to generate a shareable test report tailored to a QA engineer, developer, or release manager
  • User asks about test coverage, regression trends, or failure rates
  • User needs a go/no-go decision summary based on recent test executions
  • 用户想要列出、创建、更新、删除Test Manager项目、测试用例、测试集或测试执行记录
  • 用户想要查看或分析测试执行结果
  • 用户想要生成针对QA工程师、开发人员或发布经理的可共享测试报告
  • 用户询问测试覆盖率、回归趋势或失败率相关问题
  • 用户需要基于近期测试执行结果的是否发布决策摘要

Concepts

概念

What is Testmanager?

什么是Test Manager?

UiPath Test Manager is a web application that manages the testing lifecycle of projects, enabling requirements traceability, test planning, and reporting. Its key business objects are:
  • Requirements - Defines what needs to be tested.
  • Test cases - Defines the scenarios to be tested. A testcase can have teststeps. A testcase can be executed or run directly.
  • Test sets - Groups of test cases for execution.
  • Test executions - When a test set or a test case is run, a test execution is created.
  • Test case logs - Logs of a test case in an execution. A testcase can be navigated from testcaselogs.
  • Test step logs — Step-level logs within a test case log.
  • Test case log assertions - Assertion steps of a test case log in an execution.
  • External (Playwright) test packages - A Playwright suite packaged as an external test package and uploaded to Orchestrator. Ingestion auto-creates one test case per Playwright test (no link step) and labels each with
    PW_Tag_*
    ,
    PW_Project_*
    ,
    PW_Suite_*
    ,
    PW_File_*
    . These run on serverless cloud runtimes — see references/playwright-first-mile-guide.md.
CLI tool for UiPath Test Manager (
uip tm
). Use
uip tm --help
and
uip tm <command> <subcommand> --help
to discover commands and options. Always pass
--output json
on every
uip
command.
UiPath Test Manager是一款管理项目测试生命周期的Web应用,支持需求追溯、测试规划和报告生成。其核心业务对象包括:
  • 需求 - 定义需要测试的内容。
  • 测试用例 - 定义要测试的场景。一个测试用例可以包含测试步骤,可直接执行或运行。
  • 测试集 - 用于执行的测试用例组。
  • 测试执行 - 当测试集或测试用例运行时,会创建一条测试执行记录。
  • 测试用例日志 - 某次执行中测试用例的日志。可通过测试用例日志导航到对应的测试用例
  • 测试步骤日志 — 测试用例日志中的步骤级日志。
  • 测试用例日志断言 - 某次执行中测试用例日志的断言步骤。
  • 外部(Playwright)测试包 - 打包为外部测试包并上传到Orchestrator的Playwright套件。上传后会自动为每个Playwright测试创建一个测试用例(无需关联步骤),并为其添加
    PW_Tag_*
    PW_Project_*
    PW_Suite_*
    PW_File_*
    标签。这些测试包在无服务器云运行时上运行 — 详见references/playwright-first-mile-guide.md
UiPath Test Manager的CLI工具(
uip tm
)。使用
uip tm --help
uip tm <command> <subcommand> --help
查看命令和选项。所有
uip
命令都必须添加
--output json
参数

Commands

命令

Common
uip tm
commands organized by resource type.
按资源类型整理的常用
uip tm
命令。

Project Commands

项目命令

CommandPurpose
uip tm project list --filter <NAME_OR_KEY>
Find a project by name or key.
uip tm project create --name <PROJECT_NAME> --project-key <PROJECT_KEY>
Create a new Test Manager project.
uip tm project update --project-key <PROJECT_KEY> --name <PROJECT_NAME>
Update project name or description.
uip tm project delete --project-key <PROJECT_KEY>
Delete a Test Manager project.
uip tm project set-default-folder --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY>
Set the default Orchestrator folder for a project.
uip tm project clear-default-folder --project-key <PROJECT_KEY>
Clear the default Orchestrator folder from a project.
uip tm project owners list --project-key <PROJECT_KEY> [<PROJECT_KEY> ...]
List the owners of one or more Test Manager projects.
Get folder keys with
uip or folders list -n <name> --all --output json
— returns all folders visible to the current user.
命令用途
uip tm project list --filter <NAME_OR_KEY>
根据名称或关键字查找项目。
uip tm project create --name <PROJECT_NAME> --project-key <PROJECT_KEY>
创建新的Test Manager项目。
uip tm project update --project-key <PROJECT_KEY> --name <PROJECT_NAME>
更新项目名称或描述。
uip tm project delete --project-key <PROJECT_KEY>
删除Test Manager项目。
uip tm project set-default-folder --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY>
为项目设置默认的Orchestrator文件夹。
uip tm project clear-default-folder --project-key <PROJECT_KEY>
清除项目的默认Orchestrator文件夹设置。
uip tm project owners list --project-key <PROJECT_KEY> [<PROJECT_KEY> ...]
列出一个或多个Test Manager项目的所有者。
使用
uip or folders list -n <name> --all --output json
获取文件夹关键字 — 返回当前用户可见的所有文件夹。

Requirements Commands

需求命令

CommandPurpose
uip tm requirements list --project-key <PROJECT_KEY>
List requirements in a Test Manager project.
uip tm requirements list-by-test-execution --project-key <PROJECT_KEY> --execution-id <uuid>
List requirements covered by a test execution.
uip tm requirements get --project-key <PROJECT_KEY> (--requirement-id <uuid> | --requirement-key <key>)
Get a requirement by UUID or key (mutually exclusive).
uip tm requirements create --project-key <PROJECT_KEY> --name <name>
Create a new requirement.
uip tm requirements update --project-key <PROJECT_KEY> --requirement-id <uuid>
Update a requirement name or description (at least one of
--name
or
--description
required).
uip tm requirements delete --project-key <PROJECT_KEY> --requirement-ids <uuid...>
Delete one or more requirements (variadic).
uip tm requirements export --project-key <PROJECT_KEY> --output-file <path>
Export requirements to an .xlsx file.
uip tm requirements list-testcase-ids --project-key <PROJECT_KEY> --requirement-id <uuid>
List the test case UUIDs assigned to a requirement.
uip tm requirements testcases --project-key <PROJECT_KEY> --requirement-id <uuid> (--add-testcase-ids <uuid...> | --remove-testcase-ids <uuid...>)
Attach or detach test cases on a requirement (mutually exclusive).
命令用途
uip tm requirements list --project-key <PROJECT_KEY>
列出Test Manager项目中的需求。
uip tm requirements list-by-test-execution --project-key <PROJECT_KEY> --execution-id <uuid>
列出某次测试执行覆盖的需求。
uip tm requirements get --project-key <PROJECT_KEY> (--requirement-id <uuid> | --requirement-key <key>)
通过UUID或关键字获取需求(二者互斥)。
uip tm requirements create --project-key <PROJECT_KEY> --name <name>
创建新需求。
uip tm requirements update --project-key <PROJECT_KEY> --requirement-id <uuid>
更新需求名称或描述(必须提供
--name
--description
中的至少一个)。
uip tm requirements delete --project-key <PROJECT_KEY> --requirement-ids <uuid...>
删除一个或多个需求(支持多参数)。
uip tm requirements export --project-key <PROJECT_KEY> --output-file <path>
将需求导出为.xlsx文件。
uip tm requirements list-testcase-ids --project-key <PROJECT_KEY> --requirement-id <uuid>
列出分配给某一需求的测试用例UUID。
uip tm requirements testcases --project-key <PROJECT_KEY> --requirement-id <uuid> (--add-testcase-ids <uuid...> | --remove-testcase-ids <uuid...>)
为需求关联或解除关联测试用例(二者互斥)。

Test Cases Commands

测试用例命令

CommandPurpose
uip tm testcases create --project-key <PROJECT_KEY> --name <TEST_CASE_NAME>
Create a new test case in a Test Manager project.
uip tm testcases list --project-key <PROJECT_KEY>
List all test cases in a Test Manager project. Optional
--filter <text>
— matches name or key by PREFIX, not substring.
uip tm testcases update --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY> --name <TEST_CASE_NAME>
Update a test case name, description, precondition, or postcondition (at least one field required).
uip tm testcases delete --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>
Delete a test case by its key.
uip tm testcases link-automation --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY> --folder-key <FOLDER_KEY> --package-name <PACKAGE_NAME> --test-name <TEST_NAME>
Link an Orchestrator package automation to a test case.
uip tm testcases unlink-automation --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>
Unlink the automation from a test case.
uip tm testcases list-automations --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY>
List test entry points available in an Orchestrator folder (optional:
--package-name <PACKAGE_NAME>
to filter).
uip tm testcases list-testsets --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>
List test sets that contain a given test case.
uip tm testcases steps list --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID>
List manual test steps for a test case. Uses
--test-case-id <UUID>
, not
--test-case-key
.
uip tm testcases list-steps
is a supported alias.
uip tm testcases steps get --project-key <PROJECT_KEY> --step-id <UUID>
Get a single test step by its UUID.
uip tm testcases steps add --project-key <PROJECT_KEY> --test-case-id <UUID> --description <text>
Add a step using flags (
--description
required).
uip tm testcases steps add --project-key <PROJECT_KEY> --test-case-id <UUID> --step '<json>' [--step '<json>' ...]
Add multiple steps by repeating
--step '<json>'
. Mutually exclusive with flag mode. Not atomic — earlier steps persist if a later one fails.
uip tm testcases steps update --project-key <PROJECT_KEY> --step-id <UUID>
Update a step's fields. Only fields you pass change; the rest stay.
uip tm testcases steps move --project-key <PROJECT_KEY> --step-id <UUID> --target-position <n>
Move a step to a new 0-based position.
uip tm testcases steps delete --project-key <PROJECT_KEY> --step-id <UUID> --yes
Delete a step.
uip tm testcases list-result-history --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID>
List test case log result history for a specific test case. Optional
--only-failed
,
--filter
,
--limit
,
--offset
.
uip tm testcases run --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID> --name <EXECUTION_NAME> --execution-type <manual|automated|none|mixed>
Start a new execution for one or more test cases. Uses
--test-case-id <UUID>
(space-separated for multiple).
Optional
--async
,
--folder-key
,
--robot-user-key
,
--machine-key
.
uip tm testcases add --test-set-key <TEST_SET_KEY> (--test-case-keys <KEY1> <KEY2> … | --labels <Label1> <Label2> …)
Add test cases to a test set — by explicit keys, OR every test case carrying at least one of the given labels. Both selectors are variadic and space-separated:
--test-case-keys DEMO:1 DEMO:2
,
--labels PW_Tag_smoke "PW_Suite_Checkout flow"
(quote names containing spaces). Keys additionally accept the comma form (
DEMO:1,DEMO:2
); labels do not
--labels A,B
is read as one label named
A,B
and matches nothing. Label matching is OR, exact and case-sensitive. The two selectors are mutually exclusive.
uip tm testcases remove --test-set-key <TEST_SET_KEY> --test-case-keys <KEY1,KEY2,...>
Remove test cases from a test set (comma-separated keys).
Flag shapes for test case and step identifiers — do not interchange:
  • --test-case-id <UUID>
    — used by
    run
    ,
    steps list
    ,
    steps add
    ,
    list-result-history
    . Get the UUID from
    uip tm testcases list --output json
    (
    Id
    field).
  • --test-case-key <PROJECT_KEY:NUMBER>
    — singular, used by
    update
    ,
    delete
    ,
    link-automation
    ,
    unlink-automation
    ,
    list-testsets
    . Example:
    DEMO:1
    .
  • --test-case-keys <KEY1,KEY2,...>
    plural, comma-separated, used by
    testcases add
    and
    testcases remove
    for bulk membership changes on a test set.
  • --step-id <UUID>
    — used by all
    steps
    subcommands except
    list
    and
    add
    . Get the UUID from
    steps list
    (
    Id
    field).
命令用途
uip tm testcases create --project-key <PROJECT_KEY> --name <TEST_CASE_NAME>
在Test Manager项目中创建新测试用例。
uip tm testcases list --project-key <PROJECT_KEY>
列出Test Manager项目中的所有测试用例。可选参数
--filter <text>
— 按前缀匹配名称或关键字,而非子串。
uip tm testcases update --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY> --name <TEST_CASE_NAME>
更新测试用例的名称、描述、前置条件或后置条件(至少需要提供一个字段)。
uip tm testcases delete --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>
通过关键字删除测试用例。
uip tm testcases link-automation --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY> --folder-key <FOLDER_KEY> --package-name <PACKAGE_NAME> --test-name <TEST_NAME>
将Orchestrator包中的自动化流程关联到测试用例。
uip tm testcases unlink-automation --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>
解除测试用例与自动化流程的关联。
uip tm testcases list-automations --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY>
列出Orchestrator文件夹中可用的测试入口点(可选:通过
--package-name <PACKAGE_NAME>
过滤)。
uip tm testcases list-testsets --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>
列出包含指定测试用例的测试集。
uip tm testcases steps list --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID>
列出测试用例的手动测试步骤。使用
--test-case-id <UUID>
,而非
--test-case-key
uip tm testcases list-steps
是支持的别名。
uip tm testcases steps get --project-key <PROJECT_KEY> --step-id <UUID>
通过UUID获取单个测试步骤。
uip tm testcases steps add --project-key <PROJECT_KEY> --test-case-id <UUID> --description <text>
通过参数添加步骤(
--description
为必填项)。
uip tm testcases steps add --project-key <PROJECT_KEY> --test-case-id <UUID> --step '<json>' [--step '<json>' ...]
通过重复
--step '<json>'
添加多个步骤。与参数模式互斥。非原子操作 — 如果后续步骤失败,之前的步骤仍会保留。
uip tm testcases steps update --project-key <PROJECT_KEY> --step-id <UUID>
更新步骤字段。仅修改传入的字段,其余字段保持不变。
uip tm testcases steps move --project-key <PROJECT_KEY> --step-id <UUID> --target-position <n>
将步骤移动到新的0-based位置。
uip tm testcases steps delete --project-key <PROJECT_KEY> --step-id <UUID> --yes
删除步骤。
uip tm testcases list-result-history --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID>
列出指定测试用例的测试用例日志结果历史。可选参数
--only-failed
--filter
--limit
--offset
uip tm testcases run --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID> --name <EXECUTION_NAME> --execution-type <manual|automated|none|mixed>
启动一个或多个测试用例的新执行。使用
--test-case-id <UUID>
(多个用空格分隔)。
可选参数
--async
--folder-key
--robot-user-key
--machine-key
uip tm testcases add --test-set-key <TEST_SET_KEY> (--test-case-keys <KEY1> <KEY2> … | --labels <Label1> <Label2> …)
将测试用例添加到测试集 — 通过明确的关键字,或添加所有带有至少一个指定标签的测试用例。两种选择器均支持多参数且用空格分隔
--test-case-keys DEMO:1 DEMO:2
--labels PW_Tag_smoke "PW_Suite_Checkout flow"
(包含空格的名称需加引号)。关键字还支持逗号形式(
DEMO:1,DEMO:2
);标签不支持
--labels A,B
会被识别为一个名为
A,B
的标签,无法匹配任何内容。标签匹配为OR逻辑,精确且区分大小写。两种选择器互斥。
uip tm testcases remove --test-set-key <TEST_SET_KEY> --test-case-keys <KEY1,KEY2,...>
从测试集中移除测试用例(关键字用逗号分隔)。
测试用例和步骤标识符的参数格式 — 不可混用:
  • --test-case-id <UUID>
    — 用于
    run
    steps list
    steps add
    list-result-history
    命令。从
    uip tm testcases list --output json
    Id
    字段获取UUID。
  • --test-case-key <PROJECT_KEY:NUMBER>
    — 单参数,用于
    update
    delete
    link-automation
    unlink-automation
    list-testsets
    命令。示例:
    DEMO:1
  • --test-case-keys <KEY1,KEY2,...>
    多参数,逗号分隔,用于
    testcases add
    testcases remove
    命令,批量修改测试集中的成员。
  • --step-id <UUID>
    — 用于除
    list
    add
    之外的所有
    steps
    子命令。从
    steps list
    Id
    字段获取UUID。

Test Sets Commands

测试集命令

CommandPurpose
uip tm testsets create --project-key <PROJECT_KEY> --name <TEST_SET_NAME>
Create a new test set in a Test Manager project.
uip tm testsets list --project-key <PROJECT_KEY>
List test sets in a Test Manager project. Optional
--filter <text>
,
--folder-key
,
--include-last-execution
.
uip tm testsets update --test-set-key <TEST_SET_KEY> --name <TEST_SET_NAME>
Update a test set name or description.
uip tm testsets delete --test-set-key <TEST_SET_KEY>
Delete a test set by its key.
uip tm testsets list-testcases --project-key <PROJECT_KEY> --test-set-key <TEST_SET_KEY>
List test cases assigned to a test set.
uip tm testsets run --test-set-key <TEST_SET_KEY>
Run a test set and return the execution ID. Optional
--execution-type <automated|manual|mixed|none>
(default
automated
),
--input-path <FILE>
for parameter overrides. For Playwright test sets, optional
--playwright-projects <names...>
— see the note below.
uip tm testsets playwright-context --test-set-key <TEST_SET_KEY>
Probe whether a test set is a Playwright test set: returns
IsPlaywright
plus the available and selected Playwright project names.
Keys use the format
PROJECT_KEY:NUMBER
(e.g.,
INV:42
). To add or remove test cases in a test set, use
uip tm testcases add
/
uip tm testcases remove
— those verbs live under the
testcases
group, not under
testsets
.
Playwright test sets:
--playwright-projects <names...>
(space-separated, case-sensitive
playwright.config
project names) runs only the selected projects and persists the selection on the test set. It requires every test case in the set to come from one Playwright package; unknown names fail fast listing the valid ones. Probe first with
playwright-context
and branch on
IsPlaywright
. Both need a Test Manager with Playwright support and a CLI carrying the external-package commands — references/playwright-first-mile-guide.md opens with the check to run and what to do when they are absent.
命令用途
uip tm testsets create --project-key <PROJECT_KEY> --name <TEST_SET_NAME>
在Test Manager项目中创建新测试集。
uip tm testsets list --project-key <PROJECT_KEY>
列出Test Manager项目中的测试集。可选参数
--filter <text>
--folder-key
--include-last-execution
uip tm testsets update --test-set-key <TEST_SET_KEY> --name <TEST_SET_NAME>
更新测试集名称或描述。
uip tm testsets delete --test-set-key <TEST_SET_KEY>
通过关键字删除测试集。
uip tm testsets list-testcases --project-key <PROJECT_KEY> --test-set-key <TEST_SET_KEY>
列出分配给测试集的测试用例。
uip tm testsets run --test-set-key <TEST_SET_KEY>
运行测试集并返回执行ID。可选参数
--execution-type <automated|manual|mixed|none>
(默认值为
automated
)、
--input-path <FILE>
用于参数覆盖。对于Playwright测试集,可选参数
--playwright-projects <names...>
— 见下方说明。
uip tm testsets playwright-context --test-set-key <TEST_SET_KEY>
检测测试集是否为Playwright测试集:返回
IsPlaywright
以及可用和已选择的Playwright项目名称。
关键字格式为
PROJECT_KEY:NUMBER
(例如:
INV:42
)。要在测试集中添加或移除测试用例,请使用
uip tm testcases add
/
uip tm testcases remove
— 这些命令属于
testcases
组,而非
testsets
组。
Playwright测试集:
--playwright-projects <names...>
(空格分隔,区分大小写,对应
playwright.config
中的项目名称)仅运行选定的项目,并将选择保存到测试集。要求测试集中的所有测试用例均来自同一个Playwright包;未知名称会快速失败并列出有效名称。请先使用
playwright-context
检测,再根据
IsPlaywright
分支处理。这两个命令都需要支持Playwright的Test Manager以及包含外部包命令的CLI — references/playwright-first-mile-guide.md开头说明了要运行的检查以及缺失时的处理方法。

Executions Commands

测试执行命令

CommandPurpose
uip tm executions list --project-key <PROJECT_KEY>
List top n executions for a project. Optional
--test-set-id <UUID>
to scope to a test set,
--filter <text>
,
--limit
,
--offset
. Use this for the common case (one test set or a single project query).
uip tm executions list-filtered --project-key <PROJECT_KEY>
Rich-filter variant:
--test-set-id
,
--updated-by
,
--search
,
--labels
,
--test-execution-ids
,
--sort-by
,
--limit
,
--offset
. Use only when you need label filtering, multi-execution-id lookup, custom ordering, or
--updated-by
filtering
— features
list
does not expose.
uip tm executions get-stats --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY>
Get aggregated statistics for a single test execution.
uip tm executions run --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY> --execution-type <TYPE>
Re-run an existing test execution. Optional
--test-case-log-ids <UUID...>
to re-run only specific test case logs (space-separated),
--async
.
uip tm executions retry --execution-id <EXECUTION_ID>
Retry only the failed test cases of a finished execution. Optional
--project-key
,
--test-set-key
,
--execution-type
.
uip tm executions testcaselogs list --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY>
List test case logs of an execution. Optional
--only-failed
,
--filter
,
--limit
,
--offset
. Note the nested subcommand path — this is not a top-level
executions
verb.
run
lives under three groups, all distinct:
  • uip tm testcases run
    — start a new execution for one or more test cases (
    --test-case-id
    UUIDs, space-separated).
  • uip tm testsets run
    — start a new execution for an entire test set (
    --test-set-key
    ).
  • uip tm executions run
    re-run an existing execution by
    --execution-id
    , optionally narrowed to specific
    --test-case-log-ids
    .
命令用途
uip tm executions list --project-key <PROJECT_KEY>
列出项目的前n条执行记录。可选参数
--test-set-id <UUID>
限定为某个测试集,
--filter <text>
--limit
--offset
通用场景使用此命令(单个测试集或单个项目查询)。
uip tm executions list-filtered --project-key <PROJECT_KEY>
高级过滤变体:
--test-set-id
--updated-by
--search
--labels
--test-execution-ids
--sort-by
--limit
--offset
仅当需要标签过滤、多执行ID查询、自定义排序或
--updated-by
过滤时使用
— 这些是
list
命令未提供的功能。
uip tm executions get-stats --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY>
获取单次测试执行的汇总统计信息。
uip tm executions run --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY> --execution-type <TYPE>
重新运行现有的测试执行。可选参数
--test-case-log-ids <UUID...>
仅重新运行特定的测试用例日志(空格分隔),
--async
uip tm executions retry --execution-id <EXECUTION_ID>
仅重试已完成执行中的失败测试用例。可选参数
--project-key
--test-set-key
--execution-type
uip tm executions testcaselogs list --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY>
列出某次执行的测试用例日志。可选参数
--only-failed
--filter
--limit
--offset
注意嵌套的子命令路径 — 这不是顶级的
executions
命令。
run
命令存在于三个不同的组中:
  • uip tm testcases run
    — 启动一个或多个测试用例的新执行(
    --test-case-id
    UUID,空格分隔)。
  • uip tm testsets run
    — 启动整个测试集的新执行(
    --test-set-key
    )。
  • uip tm executions run
    重新运行现有的执行(通过
    --execution-id
    ),可选择性地限定为特定的
    --test-case-log-ids

Test Case Log Commands

测试用例日志命令

CommandPurpose
uip tm testcaselog start --project-key <PROJECT_KEY> --execution-id <EXECUTION_ID> --test-case-id <TEST_CASE_ID>
Start a test case execution within a running test execution. Optional
--run-id <NUMBER>
.
uip tm testcaselog finish --project-key <PROJECT_KEY> --execution-id <EXECUTION_ID> --test-case-id <TEST_CASE_ID> --has-error <true|false> --executed-by <USER_ID>
Finish a started test case execution. Optional
--detail-link <URL>
,
--run-id
,
--is-post-condition-met
.
uip tm testcaselog list-assertions --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID>
List assertions of a test case log.
命令用途
uip tm testcaselog start --project-key <PROJECT_KEY> --execution-id <EXECUTION_ID> --test-case-id <TEST_CASE_ID>
在正在运行的测试执行中启动测试用例执行。可选参数
--run-id <NUMBER>
uip tm testcaselog finish --project-key <PROJECT_KEY> --execution-id <EXECUTION_ID> --test-case-id <TEST_CASE_ID> --has-error <true|false> --executed-by <USER_ID>
完成已启动的测试用例执行。可选参数
--detail-link <URL>
--run-id
--is-post-condition-met
uip tm testcaselog list-assertions --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID>
列出测试用例日志的断言。

Test Step Log Commands

测试步骤日志命令

CommandPurpose
uip tm teststeplog list --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID>
List test step logs for a test case log.
命令用途
uip tm teststeplog list --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID>
列出测试用例日志的测试步骤日志。

Report Commands

报告命令

CommandPurpose
uip tm report get --execution-id <EXECUTION_ID> (--project-key <KEY> | --test-set-key <KEY>)
Get a summary report for a completed test execution. One of
--project-key
/
--test-set-key
is required to identify the project (verified: passing only
--execution-id
exits with "Provide --project-key or --test-set-key").
命令用途
uip tm report get --execution-id <EXECUTION_ID> (--project-key <KEY> | --test-set-key <KEY>)
获取已完成测试执行的摘要报告。必须提供
--project-key
/
--test-set-key
中的一个以识别项目(已验证:仅传递
--execution-id
会提示"Provide --project-key or --test-set-key")。

Attachment Commands

附件命令

CommandPurpose
uip tm attachment download --execution-id <EXECUTION_ID>
Download attachments for test cases in an execution.
uip tm attachment upload --object-id <UUID> --object-type <type> --file <path>
Upload a file as an attachment to a Test Manager object (e.g.
--object-type testCaseLog
).
命令用途
uip tm attachment download --execution-id <EXECUTION_ID>
下载某次执行中测试用例的附件。
uip tm attachment upload --object-id <UUID> --object-type <type> --file <path>
将文件作为附件上传到Test Manager对象(例如
--object-type testCaseLog
)。

Result Commands

结果命令

CommandPurpose
uip tm result download --execution-id <EXECUTION_ID>
Download test execution results as JUnit XML. Optional
--project-key
,
--test-set-key
,
--result-path <DIR>
.
命令用途
uip tm result download --execution-id <EXECUTION_ID>
将测试执行结果下载为JUnit XML格式。可选参数
--project-key
--test-set-key
--result-path <DIR>

Pack Commands (Playwright)

打包命令(Playwright)

CommandPurpose
uip tm pack --project-path <dir> --type playwright --project-key <PROJECT_KEY> --name <PackageName> --package-version <ver> -o <out-dir>
Pack a Playwright suite into a
.nupkg
external test package. Requires a lockfile and
@playwright/test
in the project.
--package-version
takes a NuGet/SemVer-style version — three numeric parts, optional prerelease suffix (
1.0.0
,
1.0.1-beta.1
);
1.0
or a non-numeric string is rejected.
--project-key
targets the Test Manager project where ingestion auto-creates the test cases;
--no-create-test-cases
skips that;
--dry-run
previews. Upload with
uip or packages upload <nupkg>
.
Packing is offline — no auth needed. The upload → ingestion → label-fill → run pipeline is in references/playwright-first-mile-guide.md.
命令用途
uip tm pack --project-path <dir> --type playwright --project-key <PROJECT_KEY> --name <PackageName> --package-version <ver> -o <out-dir>
将Playwright套件打包为
.nupkg
外部测试包。要求项目中存在锁文件和
@playwright/test
--package-version
接受NuGet/SemVer风格的版本 — 三个数字部分,可选预发布后缀(
1.0.0
1.0.1-beta.1
);
1.0
或非数字字符串会被拒绝。
--project-key
指定Test Manager项目,上传后会自动创建测试用例;
--no-create-test-cases
可跳过此步骤;
--dry-run
可预览结果。使用
uip or packages upload <nupkg>
上传包。
打包为离线操作 — 无需认证。上传→导入→标签填充→运行流程详见references/playwright-first-mile-guide.md

Wait Commands

等待命令

CommandPurpose
uip tm wait --execution-id <EXECUTION_ID>
Wait for a test execution to reach a terminal state. Optional
--project-key
,
--test-set-key
,
--timeout <SECONDS>
.
命令用途
uip tm wait --execution-id <EXECUTION_ID>
等待测试执行进入终端状态。可选参数
--project-key
--test-set-key
--timeout <SECONDS>

User Commands

用户命令

CommandPurpose
uip tm user get
Get profile data for the currently authenticated user.
命令用途
uip tm user get
获取当前已认证用户的配置文件数据。

Custom Field Commands

自定义字段命令

Custom fields are project-scoped field definitions you attach to Requirement, TestCase, or TestSet objects. The top-level customfield commands manage these definitions. The nested
label
and
value
subgroups operate on the per-object rows that fill in those fields. The
--object-type
flag is case-sensitive and accepts only
Requirement
,
TestCase
, or
TestSet
. The
--data-type
flag accepts only
Text
or
Label
(also PascalCase).
CommandPurpose
uip tm customfield list --project-key <PROJECT_KEY>
List custom field definitions. Optional
--object-types <type...>
,
--data-types <type...>
(filter; both variadic, PascalCase),
--name <NAME>
(exact match),
--filter <text>
(substring),
--sort-by <expr>
,
--limit <N>
,
--offset <N>
.
uip tm customfield get --project-key <PROJECT_KEY> --field-id <UUID>
Get a custom field definition by UUID, OR identify by
--name <NAME> --object-type <TYPE>
.
uip tm customfield create --project-key <PROJECT_KEY> --name <NAME> --data-type <Text|Label> (--object-type <Requirement|TestCase|TestSet> | --scope-list <type...>)
Create a new custom field definition. Pass
--object-type
for a single-scope field, OR
--scope-list <Requirement TestCase TestSet>
(variadic, mutually exclusive) for multi-scope. Optional
--description <text>
,
--value-hints <text>
,
--default-value <text>
.
uip tm customfield update --project-key <PROJECT_KEY> --field-id <UUID>
Update a custom field definition. Identify by
--field-id
OR by
--name + --object-type
. Optional
--rename-to <name>
,
--description
,
--default-value
,
--value-hints
. Unspecified fields keep current values.
uip tm customfield delete --project-key <PROJECT_KEY> --field-ids <UUID...>
Delete one or more custom field definitions by UUID (variadic), OR singleton by
--name + --object-type
.
自定义字段是项目级别的字段定义,可附加到需求测试用例测试集对象。顶级
customfield
命令用于管理这些定义。嵌套的
label
value
子组用于操作填充这些字段的每个对象行
--object-type
参数区分大小写,仅接受
Requirement
TestCase
TestSet
--data-type
参数仅接受
Text
Label
(同样为帕斯卡命名法)。
命令用途
uip tm customfield list --project-key <PROJECT_KEY>
列出自定义字段定义。可选参数
--object-types <type...>
--data-types <type...>
(过滤;均支持多参数,帕斯卡命名法),
--name <NAME>
(精确匹配),
--filter <text>
(子串匹配),
--sort-by <expr>
--limit <N>
--offset <N>
uip tm customfield get --project-key <PROJECT_KEY> --field-id <UUID>
通过UUID获取自定义字段定义,或通过
--name <NAME> --object-type <TYPE>
识别。
uip tm customfield create --project-key <PROJECT_KEY> --name <NAME> --data-type <Text|Label> (--object-type <Requirement|TestCase|TestSet> | --scope-list <type...>)
创建新的自定义字段定义。传递
--object-type
用于单范围字段,或传递
--scope-list <Requirement TestCase TestSet>
(多参数,互斥)用于多范围字段。可选参数
--description <text>
--value-hints <text>
--default-value <text>
uip tm customfield update --project-key <PROJECT_KEY> --field-id <UUID>
更新自定义字段定义。通过
--field-id
--name + --object-type
识别。可选参数
--rename-to <name>
--description
--default-value
--value-hints
。未指定的字段保持当前值。
uip tm customfield delete --project-key <PROJECT_KEY> --field-ids <UUID...>
通过UUID删除一个或多个自定义字段定义(多参数),或通过
--name + --object-type
删除单个定义。

Custom Field — Label-type rows

自定义字段 — 标签类型行

All
customfield label
verbs require
--object-type <Requirement\|TestCase\|TestSet>
.
CommandPurpose
uip tm customfield label list --project-key <PROJECT_KEY> --object-type <TYPE>
List label rows. Optional
--object-id <UUID>
to scope to a single object,
--filter <text>
,
--sort-by
,
--limit
,
--offset
.
uip tm customfield label get --project-key <PROJECT_KEY> --object-type <TYPE> --label-id <UUID>
Get a single label row by UUID.
uip tm customfield label create --project-key <PROJECT_KEY> --object-type <TYPE> --object-id <UUID> --values '{"Field":["v1","v2"]}'
Upsert a label row on one object.
--values
is a JSON object mapping field names to string arrays.
uip tm customfield label add --project-key <PROJECT_KEY> --object-type <TYPE> --custom-field-name <NAME> --object-ids <UUID...> --values <value...>
Append values to a label field across multiple objects. Optional
--replace-existing-values
for authoritative-set semantics.
uip tm customfield label remove --project-key <PROJECT_KEY> --object-type <TYPE> --custom-field-name <NAME> --object-ids <UUID...> (--values <value...> | --remove-all-values)
Remove values from a label field across multiple objects.
所有
customfield label
命令均需
--object-type <Requirement\|TestCase\|TestSet>
命令用途
uip tm customfield label list --project-key <PROJECT_KEY> --object-type <TYPE>
列出标签行。可选参数
--object-id <UUID>
限定为单个对象,
--filter <text>
--sort-by
--limit
--offset
uip tm customfield label get --project-key <PROJECT_KEY> --object-type <TYPE> --label-id <UUID>
通过UUID获取单个标签行。
uip tm customfield label create --project-key <PROJECT_KEY> --object-type <TYPE> --object-id <UUID> --values '{"Field":["v1","v2"]}'
在单个对象上插入或更新标签行。
--values
是一个JSON对象,将字段名映射到字符串数组。
uip tm customfield label add --project-key <PROJECT_KEY> --object-type <TYPE> --custom-field-name <NAME> --object-ids <UUID...> --values <value...>
为多个对象的标签字段追加值。可选参数
--replace-existing-values
用于设置权威值。
uip tm customfield label remove --project-key <PROJECT_KEY> --object-type <TYPE> --custom-field-name <NAME> --object-ids <UUID...> (--values <value...> | --remove-all-values)
从多个对象的标签字段中移除值。

Custom Field — Text-type rows

自定义字段 — 文本类型行

All
customfield value
verbs require
--object-type <Requirement\|TestCase\|TestSet>
.
create
additionally requires
--data-type <Text\|Label>
(must match the field's definition).
CommandPurpose
uip tm customfield value list --project-key <PROJECT_KEY> --object-type <TYPE>
List value rows. Results are empty unless
--object-id <UUID>
is provided. Optional
--filter <text>
,
--sort-by
,
--limit
,
--offset
.
uip tm customfield value get --project-key <PROJECT_KEY> --object-type <TYPE> --value-id <UUID>
Get a value row by UUID, OR by
--name + --object-id
.
uip tm customfield value create --project-key <PROJECT_KEY> --object-type <TYPE> --name <FIELD_NAME> --object-id <UUID> --data-type <Text|Label>
Create a value row. Optional
--value <text>
for the initial content. The
--data-type
must match the existing field definition.
uip tm customfield value update --project-key <PROJECT_KEY> --object-type <TYPE> --value-id <UUID> --value <text>
Update a value row by UUID, OR by
--name + --object-id
. Use
--clear
to set the value to empty.
uip tm customfield value delete --project-key <PROJECT_KEY> --object-type <TYPE> --value-id <UUID>
Delete a value row by UUID, OR by
--name + --object-id
.
所有
customfield value
命令均需
--object-type <Requirement\|TestCase\|TestSet>
create
命令还需
--data-type <Text\|Label>
(必须与字段定义匹配)。
命令用途
uip tm customfield value list --project-key <PROJECT_KEY> --object-type <TYPE>
列出值行。除非提供
--object-id <UUID>
,否则结果为空。可选参数
--filter <text>
--sort-by
--limit
--offset
uip tm customfield value get --project-key <PROJECT_KEY> --object-type <TYPE> --value-id <UUID>
通过UUID获取值行,或通过
--name + --object-id
获取。
uip tm customfield value create --project-key <PROJECT_KEY> --object-type <TYPE> --name <FIELD_NAME> --object-id <UUID> --data-type <Text|Label>
创建值行。可选参数
--value <text>
设置初始内容。
--data-type
必须与现有字段定义匹配。
uip tm customfield value update --project-key <PROJECT_KEY> --object-type <TYPE> --value-id <UUID> --value <text>
通过UUID更新值行,或通过
--name + --object-id
更新。使用
--clear
将值设置为空。
uip tm customfield value delete --project-key <PROJECT_KEY> --object-type <TYPE> --value-id <UUID>
通过UUID删除值行,或通过
--name + --object-id
删除。

Object Label Commands

对象标签命令

Object labels are tag-style metadata applied to Requirement, TestCase, TestSet, TestExecution, TestCaseLog. Use
--object-type
for the parent kind and
--object-ids
for the target objects.
CommandPurpose
uip tm objectlabel list --project-key <PROJECT_KEY> --object-type <Requirement|TestCase|TestSet|TestExecution|TestCaseLog>
List distinct label names for one
--object-type
(paginated). Optional
--object-ids <UUID...>
,
--label-types <UserLabel|SystemLabel|InternalLabel ...>
,
--filter <text>
,
--sort-by
,
--limit
,
--offset
.
uip tm objectlabel get --project-key <PROJECT_KEY> --label-id <UUID>
Get a single label-assignment row by UUID.
uip tm objectlabel add --project-key <PROJECT_KEY> --object-type <TYPE> --object-ids <UUID...> --labels <name...>
Attach labels to objects (variadic; one-to-one, one-to-many, many-to-many). Optional
--remove-other-labels
for authoritative-set semantics.
uip tm objectlabel remove --project-key <PROJECT_KEY> --object-type <TYPE> --object-ids <UUID...> (--labels <name...> | --remove-all-labels)
Detach labels from objects.
--labels
and
--remove-all-labels
are mutually exclusive.
对象标签是应用于需求、测试用例、测试集、测试执行、测试用例日志的标签式元数据。使用
--object-type
指定父类型,
--object-ids
指定目标对象。
命令用途
uip tm objectlabel list --project-key <PROJECT_KEY> --object-type <Requirement|TestCase|TestSet|TestExecution|TestCaseLog>
列出某一
--object-type
的不同标签名称(分页)。可选参数
--object-ids <UUID...>
--label-types <UserLabel|SystemLabel|InternalLabel ...>
--filter <text>
--sort-by
--limit
--offset
uip tm objectlabel get --project-key <PROJECT_KEY> --label-id <UUID>
通过UUID获取单个标签分配行。
uip tm objectlabel add --project-key <PROJECT_KEY> --object-type <TYPE> --object-ids <UUID...> --labels <name...>
为对象附加标签(多参数;支持一对一、一对多、多对多)。可选参数
--remove-other-labels
用于设置权威标签集。
uip tm objectlabel remove --project-key <PROJECT_KEY> --object-type <TYPE> --object-ids <UUID...> (--labels <name...> | --remove-all-labels)
从对象上移除标签。
--labels
--remove-all-labels
互斥。

Critical Rules

关键规则

  1. Always check login first — run
    uip login status --output json
    before any Test Manager operation. If not authenticated, run
    uip login
    to sign in.
  2. Probe the CLI surface once per session, before the first
    uip tm
    command.
    Run
    uip tm testcases --help --output json
    (any flags accepted). Result
    Success
    → post-rename CLI; use the command tables above as-is.
    unknown command
    / non-zero exit → pre-rename CLI; translate via the Pre-rename fallbacks table before each call. Re-probe on any later
    unknown command
    error.
  3. Always pass
    --output json
    to every
    uip
    command — no exceptions. Structured JSON output is what you need to reason about results reliably, even when you only plan to summarize them back to the user.
  4. Cap retries at 3 for any failing
    uip
    CLI command. After 3 failures, stop and report the error to the user (see Rule — never fall back to direct REST APIs).
  5. Handle empty results — if a list command returns an empty array, stop and inform the user rather than proceeding with a null key. Exception: a zero-result
    tm testcases list --filter
    call may be a prefix miss rather than a truly empty dataset — apply Rule 9's prefix fallback to disambiguate; stop only when the fallback also finds nothing. Filtered lookups on other resources (project, customfield) returning empty are real empty results — stop as usual.
  6. Confirm before delete — always confirm the target resource key with the user before running any
    delete
    command — unless the user already authorized this exact delete. All delete commands require
    --yes
    (or
    -y
    ) to proceed; omitting it exits without deleting.
  7. For operations requiring folder key — use
    uip or folders list -n <folder-name> --all --output json
    when the user named a folder; when picking one yourself, list without
    --all
    so you only get folders you are a member of (run
    /uipath-platform
    for folder management details).
  8. Discover before assuming — never guess automation names, folder keys, project IDs, or test case keys. Always run the matching
    list
    command first (e.g.,
    uip tm testcases list-automations
    ,
    uip or folders list -n <folder-name> --all
    ).
  9. Narrow
    list
    calls server-side when the user names an entity.
    When the user provides a name, key, label, or tag, check
    uip tm <resource> list --help
    (or
    uip or <resource> list --help
    ) for the narrowing flag the command exposes and pass it on the
    list
    call. Never list all results and filter client-side — it wastes tokens and misses paginated entries. Applies to every entity across
    uip tm
    and
    uip or
    . Exception:
    tm testcases list --filter
    matches by prefix. A mid-name term returns zero — retry
    --filter
    with a broader name prefix from context; re-list without
    --filter
    only when no workable prefix exists, paging through ALL results (
    --limit
    /
    --offset
    ) before concluding the target is absent.
  10. run
    needs a default Orchestrator folder — set one only on the exact missing-folder error.
    uip tm testcases run
    and
    uip tm testsets run
    both require a default folder on the project. Attempt the
    run
    first and match the failure text exactly: a project with no default folder fails with
    "Message": "HTTP 400: Please assign folder to project level before executing testcases."
    (
    errorCode: itemNotFound
    ). Only on that error, set one with
    uip tm project set-default-folder --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY> --output json
    , then retry once. Get folder keys with
    uip or folders list -n <folder-name> --all --output json
    . Do NOT treat other errors as folder problems: an unusable default folder surfaces as an opaque
    HTTP 5xx
    on the run, and
    set-default-folder
    with a nonexistent folder key fails with
    "HTTP 400: Internal Server Error."
    (
    errorCode: unknown
    ) — both stop under Rule 11 rather than triggering a folder overwrite. Never overwrite a default folder that is already working — an arbitrary folder picked off
    or folders list
    may be one Test Manager rejects, breaking every subsequent run on that project. This recovery is the one named run exception to Rule 11; any other run failure still stops.
  11. On any
    uip
    command failure or ambiguity, STOP and ask the user — do NOT fall back to direct REST API calls.
    When a
    uip
    command errors, returns malformed output, or the right flag/value is unclear (e.g., multiple matching entities, missing identifier, unexpected schema), interrupt and ask the user before proceeding. This overrides any instinct to "try the underlying API instead." Two exceptions, both expected outcomes rather than faults, each identified by its exact error: (a) a
    run
    failing with
    "HTTP 400: Please assign folder to project level before executing testcases."
    — the missing-default-folder signal; set the folder per Rule 10 and retry once. (b)
    uip tm wait
    exiting with code 2 and
    "Timed out after <N>s waiting for execution '<EXECUTION_ID>'. Last status: <status>."
    — the bounded
    --timeout
    working as designed; report the non-finish and carry on with the remaining steps. Other
    wait
    failures (
    Polling failed/interrupted/aborted ...
    , exit code 1) are real faults, not timeouts. Every other failure still stops here.
  1. 始终先检查登录状态 — 在执行任何Test Manager操作前,运行
    uip login status --output json
    。如果未认证,运行
    uip login
    登录。
  2. 每次会话开始时,在首次执行
    uip tm
    命令前探测CLI界面。
    运行
    uip tm testcases --help --output json
    (接受任何参数)。结果为
    Success
    → 使用重命名后的CLI;直接使用上述命令表。结果为
    unknown command
    / 非零退出码 → 使用重命名前的CLI;在每次调用前通过重命名回退表转换命令。后续出现任何
    unknown command
    错误时重新探测。
  3. 所有
    uip
    命令必须添加
    --output json
    参数
    — 无例外。结构化JSON输出是可靠分析结果的必要条件,即使只是计划向用户汇总结果。
  4. 任何失败的
    uip
    CLI命令最多重试3次
    。3次失败后,停止操作并向用户报告错误(见规则 — 绝不回退到直接调用REST API)。
  5. 处理空结果 — 如果列表命令返回空数组,停止操作并通知用户,而非使用空键继续。例外情况:
    tm testcases list --filter
    调用返回零结果可能是前缀匹配失败,而非真的没有数据 — 应用规则9的前缀回退来明确;仅当回退也无结果时才停止。其他资源(项目、自定义字段)的过滤查询返回空结果即为真空 — 按常规停止。
  6. 删除前确认 — 在运行任何
    delete
    命令前,始终与用户确认目标资源的关键字 — 除非用户已明确授权此次删除。所有删除命令均需
    --yes
    (或
    -y
    )参数才能执行;省略该参数会直接退出而不删除。
  7. 对于需要文件夹关键字的操作 — 当用户指定文件夹名称时,使用
    uip or folders list -n <folder-name> --all --output json
    ;当自行选择时,不带
    --all
    参数列出,这样只会获取你所属的文件夹(详见
    /uipath-platform
    的文件夹管理说明)。
  8. 先查询再假设 — 绝不猜测自动化流程名称、文件夹关键字、项目ID或测试用例关键字。始终先运行对应的
    list
    命令(例如
    uip tm testcases list-automations
    uip or folders list -n <folder-name> --all
    )。
  9. 当用户指定实体名称时,在服务器端缩小
    list
    调用范围。
    当用户提供名称、关键字、标签或标记时,查看
    uip tm <resource> list --help
    (或
    uip or <resource> list --help
    )获取命令支持的缩小范围参数,并在
    list
    调用中传递该参数。绝不要列出所有结果后在客户端过滤 — 这会浪费令牌并遗漏分页条目。适用于
    uip tm
    uip or
    中的所有实体。例外情况:
    tm testcases list --filter
    按前缀匹配。如果中间名称术语返回零结果 — 使用上下文更宽泛的名称前缀重试
    --filter
    ;仅当没有可用前缀时,才不带
    --filter
    重新列出所有结果(通过
    --limit
    /
    --offset
    分页),然后再判定目标不存在。
  10. run
    命令需要默认的Orchestrator文件夹 — 仅在出现明确的缺失文件夹错误时设置。
    uip tm testcases run
    uip tm testsets run
    都要求项目有默认文件夹。先尝试执行
    run
    命令,然后精确匹配失败文本:如果项目没有默认文件夹,会失败并返回
    "Message": "HTTP 400: Please assign folder to project level before executing testcases."
    errorCode: itemNotFound
    )。仅在此错误下,使用
    uip tm project set-default-folder --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY> --output json
    设置文件夹,然后重试一次。使用
    uip or folders list -n <folder-name> --all --output json
    获取文件夹关键字。不要将其他错误视为文件夹问题:不可用的默认文件夹会在运行时返回不透明的
    HTTP 5xx
    错误,而使用不存在的文件夹关键字执行
    set-default-folder
    会失败并返回
    "HTTP 400: Internal Server Error."
    errorCode: unknown
    ) — 这两种情况均需按规则11停止,而非触发文件夹覆盖。绝不要覆盖已正常工作的默认文件夹 — 从
    or folders list
    中随意选择的文件夹可能会被Test Manager拒绝,导致该项目后续所有运行失败。此恢复是
    run
    命令唯一的例外情况;其他
    run
    失败仍需停止。
  11. 任何
    uip
    命令失败或出现歧义时,停止操作并询问用户 — 绝不回退到直接调用REST API。
    uip
    命令出错、返回格式错误的输出或正确的参数/值不明确时(例如多个匹配实体、缺失标识符、意外的 schema),中断操作并在继续前询问用户。这会覆盖任何“尝试调用底层API”的本能。两个例外情况,均为预期结果而非错误,可通过精确错误识别: (a)
    run
    命令失败并返回
    "HTTP 400: Please assign folder to project level before executing testcases."
    — 表示缺失默认文件夹;按规则10设置文件夹并重试一次。(b)
    uip tm wait
    命令退出码为2并返回
    "Timed out after <N>s waiting for execution '<EXECUTION_ID>'. Last status: <status>."
    — 表示
    --timeout
    参数正常生效;报告执行未完成并继续剩余步骤。其他
    wait
    失败(
    Polling failed/interrupted/aborted ...
    ,退出码1)为真实错误,而非超时。所有其他失败仍需在此处停止。

Pre-rename fallbacks

重命名回退表

If the probe in Rule #2 shows singular subjects, the CLI predates the closed-verb-set renames. Translate before running:
Post-rename (tables above)Pre-rename equivalent
uip tm testcases <verb>
uip tm testcase <verb>
uip tm testsets <verb>
uip tm testset <verb>
uip tm executions <verb>
uip tm execution <verb>
uip tm testcases run
uip tm testcase execute
uip tm testsets run
uip tm testset execute
uip tm testcases add --test-set-key … --test-case-keys …
uip tm testset add-testcases --test-set-key … --test-case-keys …
uip tm testcases remove --test-set-key … --test-case-keys …
uip tm testset remove-testcases …
uip tm executions testcaselogs list
uip tm execution list-testcaselogs
uip tm wait
,
tm testcaselog
,
tm report
,
tm result
,
tm attachment
,
tm project
,
tm user
,
tm requirement
are unchanged on both surfaces.
如果规则#2的探测显示单数主语,则CLI早于闭动词集重命名。运行前需转换命令:
重命名后(上述命令表)重命名前等效命令
uip tm testcases <verb>
uip tm testcase <verb>
uip tm testsets <verb>
uip tm testset <verb>
uip tm executions <verb>
uip tm execution <verb>
uip tm testcases run
uip tm testcase execute
uip tm testsets run
uip tm testset execute
uip tm testcases add --test-set-key … --test-case-keys …
uip tm testset add-testcases --test-set-key … --test-case-keys …
uip tm testcases remove --test-set-key … --test-case-keys …
uip tm testset remove-testcases …
uip tm executions testcaselogs list
uip tm execution list-testcaselogs
uip tm wait
tm testcaselog
tm report
tm result
tm attachment
tm project
tm user
tm requirement
在两种界面中均保持不变。

Quick Start

快速开始

Verify authentication

验证认证状态

bash
   uip login status --output json
If not authenticated, run
uip login
to sign in.
Set the active tenant (if needed)
bash
uip login tenant set <TENANT_NAME> --output json
For more authentication details, run
/uipath-platform
.
bash
   uip login status --output json
如果未认证,运行
uip login
登录。
设置活动租户(如有需要)
bash
uip login tenant set <TENANT_NAME> --output json
更多认证详情,请运行
/uipath-platform

Confirm project scope

确认项目范围

Ask the user for the project name or key before any Test Manager call. For multi-project scenarios, collect ALL names or keys in one prompt. Resolve each to a
PROJECT_KEY
:
bash
uip tm project list --filter <NAME_OR_KEY> --output json
Zero matches → stop and ask the user. Multiple matches → list candidates and ask the user to pick. Reuse the confirmed
PROJECT_KEY
for every downstream command.
bash
  # Get project
  uip tm project list --filter <PROJECT_NAME_OR_KEY> --output json

  # List test sets in a project
  uip tm testsets list --project-key <PROJECT_KEY> --filter <TEST_SET_NAME_OR_KEY> --output json

  # List test cases assigned to a test set
  uip tm testsets list-testcases --project-key <PROJECT_KEY> --test-set-key <TEST_SET_KEY> --output json

  # List recent executions for a test set
  uip tm executions list --project-key <PROJECT_KEY> --test-set-id <TEST_SET_ID> --limit 100 --output json

  # List test case logs for an execution (nested subcommand under `executions`)
  uip tm executions testcaselogs list --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY> --output json

  # List assertions of a test case log
  uip tm testcaselog list-assertions --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID> --output json

  # List step-level logs of a test case log
  uip tm teststeplog list --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID> --output json
在执行任何Test Manager调用前,向用户询问项目名称或关键字。对于多项目场景,在一次提示中收集所有名称或关键字。将每个名称或关键字解析为
PROJECT_KEY
bash
uip tm project list --filter <NAME_OR_KEY> --output json
零匹配 → 停止操作并询问用户。多个匹配 → 列出候选项目并让用户选择。将确认后的
PROJECT_KEY
用于所有后续命令。
bash
  # 获取项目
  uip tm project list --filter <PROJECT_NAME_OR_KEY> --output json

  # 列出项目中的测试集
  uip tm testsets list --project-key <PROJECT_KEY> --filter <TEST_SET_NAME_OR_KEY> --output json

  # 列出测试集分配的测试用例
  uip tm testsets list-testcases --project-key <PROJECT_KEY> --test-set-key <TEST_SET_KEY> --output json

  # 列出测试集的近期执行记录
  uip tm executions list --project-key <PROJECT_KEY> --test-set-id <TEST_SET_ID> --limit 100 --output json

  # 列出某次执行的测试用例日志(`executions`下的嵌套子命令)
  uip tm executions testcaselogs list --execution-id <EXECUTION_ID> --project-key <PROJECT_KEY> --output json

  # 列出测试用例日志的断言
  uip tm testcaselog list-assertions --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID> --output json

  # 列出测试用例日志的步骤级日志
  uip tm teststeplog list --project-key <PROJECT_KEY> --test-case-log-id <TEST_CASE_LOG_ID> --output json

Troubleshooting

故障排除

ProblemFix
401 Unauthorized
on REST API
uip login
to re-authenticate.
If a command fails unexpectedly:
  1. Verify the command syntax:
    uip tm <command> --help
  2. Check authentication:
    uip login status --output json
问题解决方案
REST API返回
401 Unauthorized
运行
uip login
重新认证。
如果命令意外失败:
  1. 验证命令语法:
    uip tm <command> --help
  2. 检查认证状态:
    uip login status --output json

Navigate to a workflow

导航到工作流

I want to...Start here
Generate a shareable test report (tester or release manager view)references/test-result-report-guide.md
Publish a project and link it to a Test Manager test case (Studio/RPA)references/publish-and-link-guide.md
Pack, ingest, and run a Playwright suite on serverless (pack → upload → labels → run)references/playwright-first-mile-guide.md
我想要...从此处开始
生成可共享测试报告(测试人员或发布经理视图)references/test-result-report-guide.md
发布项目并关联到Test Manager测试用例(Studio/RPA)references/publish-and-link-guide.md
打包、导入并在无服务器环境运行Playwright套件(打包→上传→标签→运行)references/playwright-first-mile-guide.md

Anti-patterns

反模式

  • Do NOT proceed if authentication fails — all Test Manager API calls require a valid bearer token. Fail fast rather than surfacing confusing 401 errors later.
  • Do NOT skip the surface probe (Critical Rule #2). On a pre-rename CLI, post-rename commands fail with
    unknown command
    ; on a post-rename CLI, pre-rename commands fail the same way. The skill targets the post-rename surface and falls back per the Pre-rename fallbacks table. Picking the wrong shape without probing burns a retry on every call.
  • Do NOT guess command names — verb-noun composites are required. The CLI uses explicit verb-noun forms; bare verbs do not exist. Confirm with
    uip tm <resource> --help --output json
    .
  • Do NOT
    link-automation
    Playwright test cases.
    Playwright ingestion links them to the package automatically; the manual link step belongs to the Studio/RPA pipeline only.
  • 认证失败时不要继续 — 所有Test Manager API调用都需要有效的Bearer令牌。快速失败,而非后续显示令人困惑的401错误。
  • 不要跳过界面探测(关键规则#2)。在重命名前的CLI上,重命名后的命令会返回
    unknown command
    ;在重命名后的CLI上,重命名前的命令也会同样失败。本技能目标为重命名后的界面,并根据重命名回退表回退。不探测就选择错误的命令格式会导致每次调用都浪费一次重试机会。
  • 不要猜测命令名称 — 必须使用动词-名词组合。CLI使用明确的动词-名词形式;不存在单独的动词。使用
    uip tm <resource> --help --output json
    确认。
  • 不要为Playwright测试用例执行
    link-automation
    。Playwright导入会自动将测试用例与包关联;手动关联步骤仅适用于Studio/RPA流程。