uipath-test
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseUiPath 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_*. These run on serverless cloud runtimes — see references/playwright-first-mile-guide.md.PW_File_*
CLI tool for UiPath Test Manager (). Use and to discover commands and options. Always pass on every command.
uip tmuip tm --helpuip tm <command> <subcommand> --help--output jsonuipUiPath Test Manager是一款管理项目测试生命周期的Web应用,支持需求追溯、测试规划和报告生成。其核心业务对象包括:
- 需求 - 定义需要测试的内容。
- 测试用例 - 定义要测试的场景。一个测试用例可以包含测试步骤,可直接执行或运行。
- 测试集 - 用于执行的测试用例组。
- 测试执行 - 当测试集或测试用例运行时,会创建一条测试执行记录。
- 测试用例日志 - 某次执行中测试用例的日志。可通过测试用例日志导航到对应的测试用例。
- 测试步骤日志 — 测试用例日志中的步骤级日志。
- 测试用例日志断言 - 某次执行中测试用例日志的断言步骤。
- 外部(Playwright)测试包 - 打包为外部测试包并上传到Orchestrator的Playwright套件。上传后会自动为每个Playwright测试创建一个测试用例(无需关联步骤),并为其添加、
PW_Tag_*、PW_Project_*、PW_Suite_*标签。这些测试包在无服务器云运行时上运行 — 详见references/playwright-first-mile-guide.md。PW_File_*
UiPath Test Manager的CLI工具()。使用和查看命令和选项。所有命令都必须添加参数。
uip tmuip tm --helpuip tm <command> <subcommand> --helpuip--output jsonCommands
命令
Common commands organized by resource type.
uip tm按资源类型整理的常用命令。
uip tmProject Commands
项目命令
| Command | Purpose |
|---|---|
| Find a project by name or key. |
| Create a new Test Manager project. |
| Update project name or description. |
| Delete a Test Manager project. |
| Set the default Orchestrator folder for a project. |
| Clear the default Orchestrator folder from a project. |
| List the owners of one or more Test Manager projects. |
Get folder keys with— returns all folders visible to the current user.uip or folders list -n <name> --all --output json
| 命令 | 用途 |
|---|---|
| 根据名称或关键字查找项目。 |
| 创建新的Test Manager项目。 |
| 更新项目名称或描述。 |
| 删除Test Manager项目。 |
| 为项目设置默认的Orchestrator文件夹。 |
| 清除项目的默认Orchestrator文件夹设置。 |
| 列出一个或多个Test Manager项目的所有者。 |
使用获取文件夹关键字 — 返回当前用户可见的所有文件夹。uip or folders list -n <name> --all --output json
Requirements Commands
需求命令
| Command | Purpose |
|---|---|
| List requirements in a Test Manager project. |
| List requirements covered by a test execution. |
| Get a requirement by UUID or key (mutually exclusive). |
| Create a new requirement. |
| Update a requirement name or description (at least one of |
| Delete one or more requirements (variadic). |
| Export requirements to an .xlsx file. |
| List the test case UUIDs assigned to a requirement. |
| Attach or detach test cases on a requirement (mutually exclusive). |
| 命令 | 用途 |
|---|---|
| 列出Test Manager项目中的需求。 |
| 列出某次测试执行覆盖的需求。 |
| 通过UUID或关键字获取需求(二者互斥)。 |
| 创建新需求。 |
| 更新需求名称或描述(必须提供 |
| 删除一个或多个需求(支持多参数)。 |
| 将需求导出为.xlsx文件。 |
| 列出分配给某一需求的测试用例UUID。 |
| 为需求关联或解除关联测试用例(二者互斥)。 |
Test Cases Commands
测试用例命令
| Command | Purpose |
|---|---|
| Create a new test case in a Test Manager project. |
| List all test cases in a Test Manager project. Optional |
| Update a test case name, description, precondition, or postcondition (at least one field required). |
| Delete a test case by its key. |
| Link an Orchestrator package automation to a test case. |
| Unlink the automation from a test case. |
| List test entry points available in an Orchestrator folder (optional: |
| List test sets that contain a given test case. |
| List manual test steps for a test case. Uses |
| Get a single test step by its UUID. |
| Add a step using flags ( |
| Add multiple steps by repeating |
| Update a step's fields. Only fields you pass change; the rest stay. |
| Move a step to a new 0-based position. |
| Delete a step. |
| List test case log result history for a specific test case. Optional |
| Start a new execution for one or more test cases. Uses |
| 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: |
| Remove test cases from a test set (comma-separated keys). |
Flag shapes for test case and step identifiers — do not interchange:
— used by--test-case-id <UUID>,run,steps list,steps add. Get the UUID fromlist-result-history(uip tm testcases list --output jsonfield).Id — singular, used by--test-case-key <PROJECT_KEY:NUMBER>,update,delete,link-automation,unlink-automation. Example:list-testsets.DEMO:1 — plural, comma-separated, used by--test-case-keys <KEY1,KEY2,...>andtestcases addfor bulk membership changes on a test set.testcases remove — used by all--step-id <UUID>subcommands exceptstepsandlist. Get the UUID fromadd(steps listfield).Id
| 命令 | 用途 |
|---|---|
| 在Test Manager项目中创建新测试用例。 |
| 列出Test Manager项目中的所有测试用例。可选参数 |
| 更新测试用例的名称、描述、前置条件或后置条件(至少需要提供一个字段)。 |
| 通过关键字删除测试用例。 |
| 将Orchestrator包中的自动化流程关联到测试用例。 |
| 解除测试用例与自动化流程的关联。 |
| 列出Orchestrator文件夹中可用的测试入口点(可选:通过 |
| 列出包含指定测试用例的测试集。 |
| 列出测试用例的手动测试步骤。使用 |
| 通过UUID获取单个测试步骤。 |
| 通过参数添加步骤( |
| 通过重复 |
| 更新步骤字段。仅修改传入的字段,其余字段保持不变。 |
| 将步骤移动到新的0-based位置。 |
| 删除步骤。 |
| 列出指定测试用例的测试用例日志结果历史。可选参数 |
| 启动一个或多个测试用例的新执行。使用 |
| 将测试用例添加到测试集 — 通过明确的关键字,或添加所有带有至少一个指定标签的测试用例。两种选择器均支持多参数且用空格分隔: |
| 从测试集中移除测试用例(关键字用逗号分隔)。 |
测试用例和步骤标识符的参数格式 — 不可混用:
— 用于--test-case-id <UUID>、run、steps list、steps add命令。从list-result-history的uip tm testcases list --output json字段获取UUID。Id — 单参数,用于--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字段获取UUID。Id
Test Sets Commands
测试集命令
| Command | Purpose |
|---|---|
| Create a new test set in a Test Manager project. |
| List test sets in a Test Manager project. Optional |
| Update a test set name or description. |
| Delete a test set by its key. |
| List test cases assigned to a test set. |
| Run a test set and return the execution ID. Optional |
| Probe whether a test set is a Playwright test set: returns |
Keys use the format(e.g.,PROJECT_KEY:NUMBER). To add or remove test cases in a test set, useINV:42/uip tm testcases add— those verbs live under theuip tm testcases removegroup, not undertestcases.testsets
Playwright test sets:(space-separated, case-sensitive--playwright-projects <names...>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 withplaywright.configand branch onplaywright-context. 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.IsPlaywright
| 命令 | 用途 |
|---|---|
| 在Test Manager项目中创建新测试集。 |
| 列出Test Manager项目中的测试集。可选参数 |
| 更新测试集名称或描述。 |
| 通过关键字删除测试集。 |
| 列出分配给测试集的测试用例。 |
| 运行测试集并返回执行ID。可选参数 |
| 检测测试集是否为Playwright测试集:返回 |
关键字格式为(例如:PROJECT_KEY:NUMBER)。要在测试集中添加或移除测试用例,请使用INV:42/uip tm testcases add— 这些命令属于uip tm testcases remove组,而非testcases组。testsets
Playwright测试集:(空格分隔,区分大小写,对应--playwright-projects <names...>中的项目名称)仅运行选定的项目,并将选择保存到测试集。要求测试集中的所有测试用例均来自同一个Playwright包;未知名称会快速失败并列出有效名称。请先使用playwright.config检测,再根据playwright-context分支处理。这两个命令都需要支持Playwright的Test Manager以及包含外部包命令的CLI — references/playwright-first-mile-guide.md开头说明了要运行的检查以及缺失时的处理方法。IsPlaywright
Executions Commands
测试执行命令
| Command | Purpose |
|---|---|
| List top n executions for a project. Optional |
| Rich-filter variant: |
| Get aggregated statistics for a single test execution. |
| Re-run an existing test execution. Optional |
| Retry only the failed test cases of a finished execution. Optional |
| List test case logs of an execution. Optional |
lives under three groups, all distinct:run
— start a new execution for one or more test cases (uip tm testcases runUUIDs, space-separated).--test-case-id — start a new execution for an entire test set (uip tm testsets run).--test-set-key — re-run an existing execution byuip tm executions run, optionally narrowed to specific--execution-id.--test-case-log-ids
| 命令 | 用途 |
|---|---|
| 列出项目的前n条执行记录。可选参数 |
| 高级过滤变体: |
| 获取单次测试执行的汇总统计信息。 |
| 重新运行现有的测试执行。可选参数 |
| 仅重试已完成执行中的失败测试用例。可选参数 |
| 列出某次执行的测试用例日志。可选参数 |
命令存在于三个不同的组中:run
— 启动一个或多个测试用例的新执行(uip tm testcases runUUID,空格分隔)。--test-case-id — 启动整个测试集的新执行(uip tm testsets run)。--test-set-key — 重新运行现有的执行(通过uip tm executions run),可选择性地限定为特定的--execution-id。--test-case-log-ids
Test Case Log Commands
测试用例日志命令
| Command | Purpose |
|---|---|
| Start a test case execution within a running test execution. Optional |
| Finish a started test case execution. Optional |
| List assertions of a test case log. |
| 命令 | 用途 |
|---|---|
| 在正在运行的测试执行中启动测试用例执行。可选参数 |
| 完成已启动的测试用例执行。可选参数 |
| 列出测试用例日志的断言。 |
Test Step Log Commands
测试步骤日志命令
| Command | Purpose |
|---|---|
| List test step logs for a test case log. |
| 命令 | 用途 |
|---|---|
| 列出测试用例日志的测试步骤日志。 |
Report Commands
报告命令
| Command | Purpose |
|---|---|
| Get a summary report for a completed test execution. One of |
| 命令 | 用途 |
|---|---|
| 获取已完成测试执行的摘要报告。必须提供 |
Attachment Commands
附件命令
| Command | Purpose |
|---|---|
| Download attachments for test cases in an execution. |
| Upload a file as an attachment to a Test Manager object (e.g. |
| 命令 | 用途 |
|---|---|
| 下载某次执行中测试用例的附件。 |
| 将文件作为附件上传到Test Manager对象(例如 |
Result Commands
结果命令
| Command | Purpose |
|---|---|
| Download test execution results as JUnit XML. Optional |
| 命令 | 用途 |
|---|---|
| 将测试执行结果下载为JUnit XML格式。可选参数 |
Pack Commands (Playwright)
打包命令(Playwright)
| Command | Purpose |
|---|---|
| Pack a Playwright suite into a |
Packing is offline — no auth needed. The upload → ingestion → label-fill → run pipeline is in references/playwright-first-mile-guide.md.
| 命令 | 用途 |
|---|---|
| 将Playwright套件打包为 |
打包为离线操作 — 无需认证。上传→导入→标签填充→运行流程详见references/playwright-first-mile-guide.md。
Wait Commands
等待命令
| Command | Purpose |
|---|---|
| Wait for a test execution to reach a terminal state. Optional |
| 命令 | 用途 |
|---|---|
| 等待测试执行进入终端状态。可选参数 |
User Commands
用户命令
| Command | Purpose |
|---|---|
| Get profile data for the currently authenticated user. |
| 命令 | 用途 |
|---|---|
| 获取当前已认证用户的配置文件数据。 |
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 and subgroups operate on the per-object rows that fill in those fields. The flag is case-sensitive and accepts only , , or . The flag accepts only or (also PascalCase).
labelvalue--object-typeRequirementTestCaseTestSet--data-typeTextLabel| Command | Purpose |
|---|---|
| List custom field definitions. Optional |
| Get a custom field definition by UUID, OR identify by |
| Create a new custom field definition. Pass |
| Update a custom field definition. Identify by |
| Delete one or more custom field definitions by UUID (variadic), OR singleton by |
自定义字段是项目级别的字段定义,可附加到需求、测试用例或测试集对象。顶级命令用于管理这些定义。嵌套的和子组用于操作填充这些字段的每个对象行。参数区分大小写,仅接受、或。参数仅接受或(同样为帕斯卡命名法)。
customfieldlabelvalue--object-typeRequirementTestCaseTestSet--data-typeTextLabel| 命令 | 用途 |
|---|---|
| 列出自定义字段定义。可选参数 |
| 通过UUID获取自定义字段定义,或通过 |
| 创建新的自定义字段定义。传递 |
| 更新自定义字段定义。通过 |
| 通过UUID删除一个或多个自定义字段定义(多参数),或通过 |
Custom Field — Label-type rows
自定义字段 — 标签类型行
All verbs require .
customfield label--object-type <Requirement\|TestCase\|TestSet>| Command | Purpose |
|---|---|
| List label rows. Optional |
| Get a single label row by UUID. |
| Upsert a label row on one object. |
| Append values to a label field across multiple objects. Optional |
| Remove values from a label field across multiple objects. |
所有命令均需。
customfield label--object-type <Requirement\|TestCase\|TestSet>| 命令 | 用途 |
|---|---|
| 列出标签行。可选参数 |
| 通过UUID获取单个标签行。 |
| 在单个对象上插入或更新标签行。 |
| 为多个对象的标签字段追加值。可选参数 |
| 从多个对象的标签字段中移除值。 |
Custom Field — Text-type rows
自定义字段 — 文本类型行
All verbs require . additionally requires (must match the field's definition).
customfield value--object-type <Requirement\|TestCase\|TestSet>create--data-type <Text\|Label>| Command | Purpose |
|---|---|
| List value rows. Results are empty unless |
| Get a value row by UUID, OR by |
| Create a value row. Optional |
| Update a value row by UUID, OR by |
| Delete a value row by UUID, OR by |
所有命令均需。命令还需(必须与字段定义匹配)。
customfield value--object-type <Requirement\|TestCase\|TestSet>create--data-type <Text\|Label>| 命令 | 用途 |
|---|---|
| 列出值行。除非提供 |
| 通过UUID获取值行,或通过 |
| 创建值行。可选参数 |
| 通过UUID更新值行,或通过 |
| 通过UUID删除值行,或通过 |
Object Label Commands
对象标签命令
Object labels are tag-style metadata applied to Requirement, TestCase, TestSet, TestExecution, TestCaseLog. Use for the parent kind and for the target objects.
--object-type--object-ids| Command | Purpose |
|---|---|
| List distinct label names for one |
| Get a single label-assignment row by UUID. |
| Attach labels to objects (variadic; one-to-one, one-to-many, many-to-many). Optional |
| Detach labels from objects. |
对象标签是应用于需求、测试用例、测试集、测试执行、测试用例日志的标签式元数据。使用指定父类型,指定目标对象。
--object-type--object-ids| 命令 | 用途 |
|---|---|
| 列出某一 |
| 通过UUID获取单个标签分配行。 |
| 为对象附加标签(多参数;支持一对一、一对多、多对多)。可选参数 |
| 从对象上移除标签。 |
Critical Rules
关键规则
- Always check login first — run before any Test Manager operation. If not authenticated, run
uip login status --output jsonto sign in.uip login - Probe the CLI surface once per session, before the first command. Run
uip tm(any flags accepted). Resultuip tm testcases --help --output json→ post-rename CLI; use the command tables above as-is.Success/ non-zero exit → pre-rename CLI; translate via the Pre-rename fallbacks table before each call. Re-probe on any laterunknown commanderror.unknown command - Always pass to every
--output jsoncommand — 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.uip - Cap retries at 3 for any failing CLI command. After 3 failures, stop and report the error to the user (see Rule — never fall back to direct REST APIs).
uip - 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 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.
tm testcases list --filter - Confirm before delete — always confirm the target resource key with the user before running any command — unless the user already authorized this exact delete. All delete commands require
delete(or--yes) to proceed; omitting it exits without deleting.-y - For operations requiring folder key — use when the user named a folder; when picking one yourself, list without
uip or folders list -n <folder-name> --all --output jsonso you only get folders you are a member of (run--allfor folder management details)./uipath-platform - Discover before assuming — never guess automation names, folder keys, project IDs, or test case keys. Always run the matching command first (e.g.,
list,uip tm testcases list-automations).uip or folders list -n <folder-name> --all - Narrow calls server-side when the user names an entity. When the user provides a name, key, label, or tag, check
list(oruip tm <resource> list --help) for the narrowing flag the command exposes and pass it on theuip or <resource> list --helpcall. Never list all results and filter client-side — it wastes tokens and misses paginated entries. Applies to every entity acrosslistanduip tm. Exception:uip ormatches by prefix. A mid-name term returns zero — retrytm testcases list --filterwith a broader name prefix from context; re-list without--filteronly when no workable prefix exists, paging through ALL results (--filter/--limit) before concluding the target is absent.--offset - needs a default Orchestrator folder — set one only on the exact missing-folder error.
runanduip tm testcases runboth require a default folder on the project. Attempt theuip tm testsets runfirst and match the failure text exactly: a project with no default folder fails withrun("Message": "HTTP 400: Please assign folder to project level before executing testcases."). Only on that error, set one witherrorCode: itemNotFound, then retry once. Get folder keys withuip tm project set-default-folder --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY> --output json. Do NOT treat other errors as folder problems: an unusable default folder surfaces as an opaqueuip or folders list -n <folder-name> --all --output jsonon the run, andHTTP 5xxwith a nonexistent folder key fails withset-default-folder("HTTP 400: Internal Server Error.") — both stop under Rule 11 rather than triggering a folder overwrite. Never overwrite a default folder that is already working — an arbitrary folder picked offerrorCode: unknownmay 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.or folders list - On any command failure or ambiguity, STOP and ask the user — do NOT fall back to direct REST API calls. When a
uipcommand 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) auipfailing withrun— the missing-default-folder signal; set the folder per Rule 10 and retry once. (b)"HTTP 400: Please assign folder to project level before executing testcases."exiting with code 2 anduip tm wait— the bounded"Timed out after <N>s waiting for execution '<EXECUTION_ID>'. Last status: <status>."working as designed; report the non-finish and carry on with the remaining steps. Other--timeoutfailures (wait, exit code 1) are real faults, not timeouts. Every other failure still stops here.Polling failed/interrupted/aborted ...
- 始终先检查登录状态 — 在执行任何Test Manager操作前,运行。如果未认证,运行
uip login status --output json登录。uip login - 每次会话开始时,在首次执行命令前探测CLI界面。 运行
uip tm(接受任何参数)。结果为uip tm testcases --help --output json→ 使用重命名后的CLI;直接使用上述命令表。结果为Success/ 非零退出码 → 使用重命名前的CLI;在每次调用前通过重命名回退表转换命令。后续出现任何unknown command错误时重新探测。unknown command - 所有命令必须添加
uip参数 — 无例外。结构化JSON输出是可靠分析结果的必要条件,即使只是计划向用户汇总结果。--output json - 任何失败的CLI命令最多重试3次。3次失败后,停止操作并向用户报告错误(见规则 — 绝不回退到直接调用REST API)。
uip - 处理空结果 — 如果列表命令返回空数组,停止操作并通知用户,而非使用空键继续。例外情况:调用返回零结果可能是前缀匹配失败,而非真的没有数据 — 应用规则9的前缀回退来明确;仅当回退也无结果时才停止。其他资源(项目、自定义字段)的过滤查询返回空结果即为真空 — 按常规停止。
tm testcases list --filter - 删除前确认 — 在运行任何命令前,始终与用户确认目标资源的关键字 — 除非用户已明确授权此次删除。所有删除命令均需
delete(或--yes)参数才能执行;省略该参数会直接退出而不删除。-y - 对于需要文件夹关键字的操作 — 当用户指定文件夹名称时,使用;当自行选择时,不带
uip or folders list -n <folder-name> --all --output json参数列出,这样只会获取你所属的文件夹(详见--all的文件夹管理说明)。/uipath-platform - 先查询再假设 — 绝不猜测自动化流程名称、文件夹关键字、项目ID或测试用例关键字。始终先运行对应的命令(例如
list、uip tm testcases list-automations)。uip or folders list -n <folder-name> --all - 当用户指定实体名称时,在服务器端缩小调用范围。 当用户提供名称、关键字、标签或标记时,查看
list(或uip tm <resource> list --help)获取命令支持的缩小范围参数,并在uip or <resource> list --help调用中传递该参数。绝不要列出所有结果后在客户端过滤 — 这会浪费令牌并遗漏分页条目。适用于list和uip tm中的所有实体。例外情况:uip or按前缀匹配。如果中间名称术语返回零结果 — 使用上下文更宽泛的名称前缀重试tm testcases list --filter;仅当没有可用前缀时,才不带--filter重新列出所有结果(通过--filter/--limit分页),然后再判定目标不存在。--offset - 命令需要默认的Orchestrator文件夹 — 仅在出现明确的缺失文件夹错误时设置。
run和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.") — 这两种情况均需按规则11停止,而非触发文件夹覆盖。绝不要覆盖已正常工作的默认文件夹 — 从errorCode: unknown中随意选择的文件夹可能会被Test Manager拒绝,导致该项目后续所有运行失败。此恢复是or folders list命令唯一的例外情况;其他run失败仍需停止。run - 任何命令失败或出现歧义时,停止操作并询问用户 — 绝不回退到直接调用REST API。 当
uip命令出错、返回格式错误的输出或正确的参数/值不明确时(例如多个匹配实体、缺失标识符、意外的 schema),中断操作并在继续前询问用户。这会覆盖任何“尝试调用底层API”的本能。两个例外情况,均为预期结果而非错误,可通过精确错误识别: (a)uip命令失败并返回run— 表示缺失默认文件夹;按规则10设置文件夹并重试一次。(b)"HTTP 400: Please assign folder to project level before executing testcases."命令退出码为2并返回uip tm wait— 表示"Timed out after <N>s waiting for execution '<EXECUTION_ID>'. Last status: <status>."参数正常生效;报告执行未完成并继续剩余步骤。其他--timeout失败(wait,退出码1)为真实错误,而非超时。所有其他失败仍需在此处停止。Polling failed/interrupted/aborted ...
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 waittm testcaselogtm reporttm resulttm attachmenttm projecttm usertm requirement如果规则#2的探测显示单数主语,则CLI早于闭动词集重命名。运行前需转换命令:
| 重命名后(上述命令表) | 重命名前等效命令 |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
uip tm waittm testcaselogtm reporttm resulttm attachmenttm projecttm usertm requirementQuick Start
快速开始
Verify authentication
验证认证状态
bash
uip login status --output jsonIf not authenticated, run to sign in.
uip loginSet the active tenant (if needed)
bash
uip login tenant set <TENANT_NAME> --output jsonFor more authentication details, run .
/uipath-platformbash
uip login status --output json如果未认证,运行登录。
uip login设置活动租户(如有需要)
bash
uip login tenant set <TENANT_NAME> --output json更多认证详情,请运行。
/uipath-platformConfirm 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_KEYbash
uip tm project list --filter <NAME_OR_KEY> --output jsonZero matches → stop and ask the user. Multiple matches → list candidates and ask the user to pick. Reuse the confirmed for every downstream command.
PROJECT_KEYbash
# 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_KEYbash
uip tm project list --filter <NAME_OR_KEY> --output json零匹配 → 停止操作并询问用户。多个匹配 → 列出候选项目并让用户选择。将确认后的用于所有后续命令。
PROJECT_KEYbash
# 获取项目
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 jsonTroubleshooting
故障排除
| Problem | Fix |
|---|---|
| |
If a command fails unexpectedly:
- Verify the command syntax:
uip tm <command> --help- Check authentication:
uip login status --output json
| 问题 | 解决方案 |
|---|---|
REST API返回 | 运行 |
如果命令意外失败:
- 验证命令语法:
uip tm <command> --help- 检查认证状态:
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 ; 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.
unknown command - 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 Playwright test cases. Playwright ingestion links them to the package automatically; the manual link step belongs to the Studio/RPA pipeline only.
link-automation
- 认证失败时不要继续 — 所有Test Manager API调用都需要有效的Bearer令牌。快速失败,而非后续显示令人困惑的401错误。
- 不要跳过界面探测(关键规则#2)。在重命名前的CLI上,重命名后的命令会返回;在重命名后的CLI上,重命名前的命令也会同样失败。本技能目标为重命名后的界面,并根据重命名回退表回退。不探测就选择错误的命令格式会导致每次调用都浪费一次重试机会。
unknown command - 不要猜测命令名称 — 必须使用动词-名词组合。CLI使用明确的动词-名词形式;不存在单独的动词。使用确认。
uip tm <resource> --help --output json - 不要为Playwright测试用例执行。Playwright导入会自动将测试用例与包关联;手动关联步骤仅适用于Studio/RPA流程。
link-automation