- Vue d'ensemble (Overview)
- Démarrer
- Concepts
- Utilisation de la UiPath CLI
- Guides pratiques
- Revenus CI/CD
- Référence de commande
- Vue d'ensemble (Overview)
- Codes de sortie
- Options globales
- agent codé uip
- uip coder
- uip context-grounding
- UiPath Docsai
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip model-hub
- Tâches (Jobs)
- Dossiers
- Processus
- Paquets
- Machines
- Utilisateurs
- Rôles
- Licences
- Flux
- Pièces jointes (Attachments)
- Sessions
- Calendriers
- magasins d'informations d’identification
- journaux-audit
- paramètres
- Actifs
- Compartiments
- Compartiment-fichiers
- Bibliothèques
- Files d'attente (Queues)
- éléments de la file d'attente
- Déclencheurs (Triggers)
- Webhooks
- add-test-data-entity
- ajouter une file d'attente de données de test
- add-test-data-variation
- Analyser
- Construire
- créer-projet
- Différence
- recherche-activités
- Obtenir les règles de l'analyse
- récupérer-activité-xaml par défaut
- Récupérer les erreurs
- obtenir des cas de test manuels
- Obtenir les étapes de test manuelles
- get-library-object-repository
- get-object-repository
- Obtenir les versions
- exemple de workflow
- indiquer l'application
- indiquer l'élément
- inspecter-package
- install-data-fabric-entities
- installer-ou-Update-packages
- list-data-fabric-entités
- list-instances
- listes-exemples-workflow
- Créer un package
- Publier
- remote
- restore
- run, debug & execution
- Exécuter le fichier
- modèles-recherche
- Démarrer-Studio
- arrêter l'exécution
- tm
- UIA
- uip tasks
- Traçages UIP
- uip traces feedback
- Migration
- Référence et assistance
Syntaxe et options pour `uip tm testcases`, qui gère les cas de test, y compris la création, la liste, la mise à jour, la suppression, la liaison des automatisations et la gestion du journal des cas de test.
uip tm testcases manages test cases within a Test Manager project: create, list, update, delete, link or unlink an Orchestrator automation, inspect historical results, and add or remove test cases from a test set. It also provides testcases run — a way to execute one or more test cases directly from an Orchestrator package. This page also documents uip tm testcaselog list-assertions, testcaselog start, and testcaselog finish (registered under testcaselog, singular), which read assertion artifacts and record manual log entries for a test case log.
Un cas de test est l'unité de création. Il devient exécutable une fois qu'il est lié à un point d'entrée de package avec testcases link-automation. Un cas de test peut alors être exécuté dans le cadre d'un ensemble de test (voir Ensembles de tests), ou directement via testcases run.
N’exécutez jamais testcases link-automation sur un cas de test créé par uip tm pack pour un projet PlayWrite. Les cas de test PlayWrite sont liés automatiquement pendant l’ingestion au moment du pack; l’exécution de link-automation sur ces derniers suit manuellement le pipeline de liaison RPA et corroue cette association. Si vous utilisez --no-create-test-cases, utilisez plutôt le flux Sélectionner l'automatisation dans l’interface utilisateur de Test Manager.
Synthèse
uip tm testcases create --project-key <key> --name <name> [--description <text>] [--version <version>]
uip tm testcases list --project-key <key> [--filter <text>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [--filter <text>] [--only-failed] [--results <results...>] [--statuses <statuses...>] [--duration-period <period>] [--top <number>] [--skip <number>]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>] [--pre-condition <text>] [--post-condition <text>]
uip tm testcases delete --project-key <key> --test-case-key <key> [-y]
uip tm testcases link-automation --project-key <key> --test-case-key <key> --folder-key <uuid> --package-name <name> --test-name <name>
uip tm testcases link-package --project-key <key> --folder-key <uuid> [--package-name <name>] [--test-name <name...>] [--dry-run]
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --project-key <key> [--folder-key <uuid>] [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-key <key>
uip tm testcases run --project-key <key> --test-case-id <uuid...> --name <name> --execution-type <type> [--async] [--folder-key <uuid>] [--runtime-type <type>] [--robot-user-key <uuid>] [--machine-key <uuid>] [--host-machine-name <name>] [--service-user-name <name>] [--test-set-packages <json>]
uip tm testcases add --test-set-key <key> (--test-case-keys <keys...> | --labels <labels...> [--limit <count>])
uip tm testcases remove --test-set-key <key> --test-case-keys <keys> [-y]
uip tm testcases list-steps --project-key <key> --test-case-id <uuid>
uip tm testcases steps list --project-key <key> --test-case-id <uuid>
uip tm testcases steps get --project-key <key> --step-id <uuid>
uip tm testcases steps add --project-key <key> --test-case-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>] [--order-no <n>] [--step <json>...]
uip tm testcases steps update --project-key <key> --step-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>]
uip tm testcases steps move --project-key <key> --step-id <uuid> --target-position <n>
uip tm testcases steps delete --project-key <key> --step-id <uuid> [-y]
uip tm testcaselog list-assertions --project-key <key> --test-case-log-id <uuid>
uip tm testcaselog start --project-key <key> --execution-id <uuid> --test-case-id <uuid> [--run-id <number>]
uip tm testcaselog finish --project-key <key> --execution-id <uuid> --test-case-id <uuid> --result <result> --has-error <boolean> --executed-by <email> [--detail-link <url>] [--run-id <number>] [--is-post-condition-met <boolean>] (--step-logs <json> | --step-logs-file <path>)
uip tm testcases create --project-key <key> --name <name> [--description <text>] [--version <version>]
uip tm testcases list --project-key <key> [--filter <text>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [--filter <text>] [--only-failed] [--results <results...>] [--statuses <statuses...>] [--duration-period <period>] [--top <number>] [--skip <number>]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>] [--pre-condition <text>] [--post-condition <text>]
uip tm testcases delete --project-key <key> --test-case-key <key> [-y]
uip tm testcases link-automation --project-key <key> --test-case-key <key> --folder-key <uuid> --package-name <name> --test-name <name>
uip tm testcases link-package --project-key <key> --folder-key <uuid> [--package-name <name>] [--test-name <name...>] [--dry-run]
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --project-key <key> [--folder-key <uuid>] [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-key <key>
uip tm testcases run --project-key <key> --test-case-id <uuid...> --name <name> --execution-type <type> [--async] [--folder-key <uuid>] [--runtime-type <type>] [--robot-user-key <uuid>] [--machine-key <uuid>] [--host-machine-name <name>] [--service-user-name <name>] [--test-set-packages <json>]
uip tm testcases add --test-set-key <key> (--test-case-keys <keys...> | --labels <labels...> [--limit <count>])
uip tm testcases remove --test-set-key <key> --test-case-keys <keys> [-y]
uip tm testcases list-steps --project-key <key> --test-case-id <uuid>
uip tm testcases steps list --project-key <key> --test-case-id <uuid>
uip tm testcases steps get --project-key <key> --step-id <uuid>
uip tm testcases steps add --project-key <key> --test-case-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>] [--order-no <n>] [--step <json>...]
uip tm testcases steps update --project-key <key> --step-id <uuid> [--description <text>] [--expected-result <text>] [--action-type <type>] [--clipboard-data <text>]
uip tm testcases steps move --project-key <key> --step-id <uuid> --target-position <n>
uip tm testcases steps delete --project-key <key> --step-id <uuid> [-y]
uip tm testcaselog list-assertions --project-key <key> --test-case-log-id <uuid>
uip tm testcaselog start --project-key <key> --execution-id <uuid> --test-case-id <uuid> [--run-id <number>]
uip tm testcaselog finish --project-key <key> --execution-id <uuid> --test-case-id <uuid> --result <result> --has-error <boolean> --executed-by <email> [--detail-link <url>] [--run-id <number>] [--is-post-condition-met <boolean>] (--step-logs <json> | --step-logs-file <path>)
list-assertions, start, and finish are registered under uip tm testcaselog (singular). uip tm testcaselogs list-assertions and uip tm testcaselogs start/finish do not exist as commands.
All verbs honor the global options and the standard exit codes.
--log-level <level> (default Information) is available on create, list, list-result-history, update, delete, link-automation, link-package, unlink-automation, list-automations, list-testsets, add, and remove. It does not exist on run, any steps subcommand (including the list-steps alias), or testcaselog start/finish/list-assertions.
création de cas de test uip tm
Créez un nouveau cas de test dans un projet.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--name <name> | Requis. Nom du cas de test. |
--description <text> | Description sous forme libre. La valeur par défaut est vide. |
--version <version> | Chaîne de version du cas de test. La valeur par défaut est 1.0.0. |
Exemple
uip tm testcases create \
--project-key DEMO \
--name "Login smoke" \
--description "Logs in and out"
uip tm testcases create \
--project-key DEMO \
--name "Login smoke" \
--description "Logs in and out"
Format des données
{
"Code": "TestCaseCreate",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Login smoke",
"Description": "Logs in and out",
"Version": "1.0.0"
}
}
{
"Code": "TestCaseCreate",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Login smoke",
"Description": "Logs in and out",
"Version": "1.0.0"
}
}
TestCaseKey (l'identifiant public PROJECT:N ) est ce que vous transmettez aux autres verbes. L'interne Id est nécessaire pour list-result-history et list-testsets.
liste des cas de test uip tm
Répertoriez tous les cas de test d'un projet. La CLI page automatiquement dans les résultats.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Projet à répertorier. |
--filter <text> | Filtrer par nom ou par clé (recherche côté serveur). |
Exemple
uip tm testcases list --project-key DEMO --filter login
uip tm testcases list --project-key DEMO --filter login
Format des données
{
"Code": "TestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Description": "Logs in and out"
}
]
}
{
"Code": "TestCasesList",
"Data": [
{
"TestCaseKey": "DEMO:1",
"Name": "Login smoke",
"Description": "Logs in and out"
}
]
}
uip tm testcases list-result-history
Répertoriez les journaux de cas de test historiques pour un cas de test unique. Prend le fichier --test-case-id interne (UUID): recherchez l’UUID via testcases list ou à partir d’une sortie TestCaseCreate précédente.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--test-case-id <uuid> | Requis. UUID du cas de test interne. |
--filter <text> | Recherchez les journaux de cas de test par nom. |
--only-failed | Raccourci pour « afficher uniquement les journaux ayant échoué »; (par défaut false). |
--results <results...> | Les résultats séparés par des espaces à inclure. Les valeurs acceptées proviennent de l’enum du SDK Result. |
--statuses <statuses...> | Statuts d'exécution séparés par des espaces. Les valeurs acceptées proviennent de l’enum du SDK TestCaseLogExecutionStatus. |
--duration-period <period> | Filtrez par compartiment de durée. Les valeurs acceptées proviennent de l’enum du SDK DurationPeriod. |
--top <number> | Taille de la page. La valeur par défaut est 50. |
--skip <number> | Résultats à ignorer. La valeur par défaut est 0. |
Les valeurs exactes acceptées pour --results, --statuses et --duration-period sont générées au moment de l’exécution à partir des énumérations du SDK Test Manager fournies avec la version installée de l’outil. Exécutez uip tm testcases list-result-history --help pour voir l'ensemble actuel.
Exemple
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--only-failed
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--only-failed
Format des données
{
"Code": "TestCaseResultHistory",
"Data": [
{
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Result": "Failed",
"Status": "Finished",
"ExecutionEnd": "2025-04-15T12:00:00Z"
}
]
}
{
"Code": "TestCaseResultHistory",
"Data": [
{
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Result": "Failed",
"Status": "Finished",
"ExecutionEnd": "2025-04-15T12:00:00Z"
}
]
}
mise à jour des cas de test uip tm
Rename a test case, or change its description, pre-condition, or post-condition. At least one of these fields is required.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--test-case-key <key> | Requis. Clé de cas de test (par exemple, DEMO:1). |
--name <name> | Nouveau nom. |
--description <text> | Nouvelle description. |
--pre-condition <text> | New precondition — what must be true before running the test. |
--post-condition <text> | New postcondition — what should be true after running the test. |
Exemple
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)"
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)"
Format des données
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Description": "Logs in and out",
"PreCondition": "User account exists",
"PostCondition": "User is logged out",
"Result": "Updated"
}
}
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Description": "Logs in and out",
"PreCondition": "User account exists",
"PostCondition": "User is logged out",
"Result": "Updated"
}
}
suppression de cas de test uip tm
Supprimez un cas de test par sa clé.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--test-case-key <key> | Requis. Clé de cas de test (par exemple, DEMO:1). |
-y, --yes | Ignorez l’invite de confirmation. Requis dans les environnements non interactifs. |
Exemple
uip tm testcases delete \
--project-key DEMO \
--test-case-key DEMO:1 \
--yes
uip tm testcases delete \
--project-key DEMO \
--test-case-key DEMO:1 \
--yes
Format des données
{
"Code": "TestCaseDelete",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
{
"Code": "TestCaseDelete",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
uip tm cas de test lier-automatisation
Liez un point d'entrée de package Orchestrator à un cas de test. C’est ce qui rend le cas de test exécutable au sein d’un ensemble de tests. En interne, la commande résout le nom d'affichage du dossier à partir de --folder-key, recherche le point d'entrée du package correspondant par nom, puis stocke la liaison sur le cas de test. Pour les cas de test Playground créés par pack, consultez l’avertissement ci-dessus.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--test-case-key <key> | Requis. Cas de test à lier. |
--folder-key <uuid> | Requis. UUID du dossier Orchestrator (depuis uip or folders list). |
--package-name <name> | Requis. Identificateur de package Orchestrator (par exemple, InvoiceTests). |
--test-name <name> | Requis. Le nom du cas de test à l’intérieur du package (le nom du point d’entrée). |
Exemple
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest
Format des données
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"PackageName": "InvoiceTests",
"PackageSource": "Shared",
"TestName": "SmokeTest",
"Result": "Linked"
}
}
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"PackageName": "InvoiceTests",
"PackageSource": "Shared",
"TestName": "SmokeTest",
"Result": "Linked"
}
}
uip tm testcases link-package
Create and link a test case for every test in an Orchestrator package, in one call — the bulk counterpart to link-automation, which links one existing test case to one automation. By default it links every test the folder exposes; scope it to one package with --package-name, or to specific tests with --test-name. Each test either creates a new test case (Action: "Created") or reuses one already linked to that automation (Action: "Reused").
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--folder-key <uuid> | Requis. UUID du dossier Orchestrator (depuis uip or folders list). |
--package-name <name> | Only link tests from this package (case-insensitive exact match). Omit to link every test the folder exposes. |
--test-name <name...> | Only link these tests (case-insensitive, repeatable). Omit to link all of them. |
--dry-run | Preview which test cases would be created, reused, and linked, without writing anything. |
Exemples
# Create and link a test case for every test in one Orchestrator package
uip tm testcases link-package \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests
# Create and link a test case for every test in one Orchestrator package
uip tm testcases link-package \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests
# Preview what would be created and linked, without writing
uip tm testcases link-package \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--dry-run
# Preview what would be created and linked, without writing
uip tm testcases link-package \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--dry-run
# Link only two named tests out of the package
uip tm testcases link-package \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest RegressionTest
# Link only two named tests out of the package
uip tm testcases link-package \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest RegressionTest
Format des données
{
"Code": "TestCaseLinkPackage",
"Data": [
{
"TestName": "SmokeTest",
"PackageName": "InvoiceTests",
"PackageVersion": "1.0.2",
"TestCaseKey": "DEMO:7",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000007",
"Action": "Created"
},
{
"TestName": "RegressionTest",
"PackageName": "InvoiceTests",
"PackageVersion": "1.0.2",
"TestCaseKey": "DEMO:3",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000003",
"Action": "Reused"
}
]
}
{
"Code": "TestCaseLinkPackage",
"Data": [
{
"TestName": "SmokeTest",
"PackageName": "InvoiceTests",
"PackageVersion": "1.0.2",
"TestCaseKey": "DEMO:7",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000007",
"Action": "Created"
},
{
"TestName": "RegressionTest",
"PackageName": "InvoiceTests",
"PackageVersion": "1.0.2",
"TestCaseKey": "DEMO:3",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000003",
"Action": "Reused"
}
]
}
With --dry-run, the Code is TestCaseLinkPackageDryRun instead, Action values become WouldCreate/WouldReuse, and TestCaseKey/TestCaseId are empty strings since nothing was actually written.
cas de test uip tm unlink-automation
Supprimez la liaison d'automatisation d'un cas de test. Après sa dissociation, le cas de test ne peut plus être exécuté tant qu’il n’est pas lié à nouveau.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--test-case-key <key> | Requis. Cas de test à dissocier. |
Exemple
uip tm testcases unlink-automation \
--project-key DEMO \
--test-case-key DEMO:1
uip tm testcases unlink-automation \
--project-key DEMO \
--test-case-key DEMO:1
Format des données
{
"Code": "TestCaseUnlinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"Result": "Unlinked"
}
}
{
"Code": "TestCaseUnlinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"Result": "Unlinked"
}
}
uip tm testcases list-automations
Répertorie les points d'entrée de test disponibles dans un dossier Orchestrator. Utilisez cette option pour découvrir les valeurs --package-name / --test-name à transmettre à link-automation.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Projet propriétaire (utilisé pour étendre la recherche). |
--folder-key <uuid> | Orchestrator folder UUID. Omit to search across the tenant feed instead of one folder. |
--package-name <name> | Filter the list to one package (case-insensitive exact match, not a substring search). |
Exemple
uip tm testcases list-automations \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
uip tm testcases list-automations \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
Format des données
{
"Code": "TestAutomationsList",
"Data": [
{
"PackageName": "InvoiceTests",
"TestName": "SmokeTest",
"PackageVersion": "1.0.2"
}
]
}
{
"Code": "TestAutomationsList",
"Data": [
{
"PackageName": "InvoiceTests",
"TestName": "SmokeTest",
"PackageVersion": "1.0.2"
}
]
}
uip tm cas de test liste-ensembles de test
Répertorie chaque ensemble de tests qui contient un cas de test donné.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--test-case-key <key> | Requis. Clé de cas de test (par exemple, DEMO:1). |
Exemple
uip tm testcases list-testsets \
--project-key DEMO \
--test-case-key DEMO:1
uip tm testcases list-testsets \
--project-key DEMO \
--test-case-key DEMO:1
Format des données
{
"Code": "TestCaseTestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001"
}
]
}
{
"Code": "TestCaseTestSetsList",
"Data": [
{
"TestSetKey": "DEMO:10",
"Name": "Smoke Suite",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001"
}
]
}
Exécution de cas de test uip tm
Exécutez un ou plusieurs cas de test directement à partir d'un package Orchestrator sans avoir à créer d'abord un ensemble de test. testcases run démarre une exécution et renvoie l'enregistrement d'exécution. Pour plus d'informations sur cette fonctionnalité, consultez Exécution de cas de test sans ensemble de test dans la documentation de Test Manager.
testcases run est synchrone par défaut — il se bloque jusqu'à ce que l'enregistrement d'exécution soit confirmé. Pour revenir immédiatement après la mise en file d'attente, transmettez --async. Pour bloquer jusqu'à la fin de l'exécution, diriger le fichier Id renvoyé vers uip tm wait.
Quand utiliser testcases run vs testsets run
- Utilisez
testcases runpour exécuter des cas de test à la demande directement à partir d'un package. - Utilisez
testsets runpour exécuter un groupe de cas de test nommé et sélectionné au fil du temps dans Test Manager.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Clé de projet Test Manager (par exemple, DEMO). Facultatif si déduit du contexte. |
--test-case-id <uuid...> | Requis. Un ou plusieurs UUID de cas de test à exécuter, séparés par des espaces. Obtenez les UUID de testcases list. |
--execution-type <type> | Requis. Type d’exécution: automated, manual, mixed ou none. |
--name <name> | Affichez le nom de l'exécution. |
--async | Retournez immédiatement après la mise en file d'attente, sans attendre que le serveur confirme que l'exécution a démarré. N’oubliez pas d’attendre que l’enregistrement d’exécution soit entièrement créé avant de revenir en arrière. |
--folder-key <uuid> | Dossier Orchestrator dans lequel exécuter. Requis lorsque les cas de test sont liés à des automatisations dans un dossier spécifique. |
--runtime-type <type> | Remplacement du type de runtime du robot. Valeurs acceptées: nonProduction, attended, unattended, rpaDeveloper, studioX, headless, rpaDeveloperPro, testAutomation, automationCloud, serverless, automationKit, serverlessTestAutomation, automationCloudTestAutomation, attendedStudioWeb, hosting, assistantWeb, processOrchestration, agentService, appTest, performanceTest, businessRule, caseManagement. |
--robot-user-key <uuid> | Clé utilisateur du robot pour la cible d'exécution. |
--machine-key <uuid> | Clé de machine pour la cible d'exécution. |
--host-machine-name <name> | Nom de la machine hôte pour la cible d'exécution. |
--service-user-name <name> | Nom d'utilisateur du service pour la cible d'exécution. |
--test-set-packages <json> | Tableau JSON des remplacements de package: [{"packageName":"Pkg","version":"1.0.0"}]. |
Exemples
# Simplest — run a single test case (blocks until execution record is created)
uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--name "Login smoke run"
# Simplest — run a single test case (blocks until execution record is created)
uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--name "Login smoke run"
# Run multiple test cases asynchronously, then wait for completion
id=$(uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 a1b2c3d4-0000-0000-0000-000000000002 \
--execution-type automated \
--name "Smoke run" \
--async \
--output-filter Id)
uip tm wait --execution-id "$id" --project-key DEMO --timeout 900
uip tm report get --execution-id "$id" --project-key DEMO
# Run multiple test cases asynchronously, then wait for completion
id=$(uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 a1b2c3d4-0000-0000-0000-000000000002 \
--execution-type automated \
--name "Smoke run" \
--async \
--output-filter Id)
uip tm wait --execution-id "$id" --project-key DEMO --timeout 900
uip tm report get --execution-id "$id" --project-key DEMO
# Full override — specify folder, runtime, machine, and package version
uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--name "Smoke run" \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--runtime-type unattended \
--machine-key 33333333-4444-5555-6666-777777777777 \
--test-set-packages '[{"packageName":"InvoiceTests","version":"1.0.2"}]'
# Full override — specify folder, runtime, machine, and package version
uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--name "Smoke run" \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--runtime-type unattended \
--machine-key 33333333-4444-5555-6666-777777777777 \
--test-set-packages '[{"packageName":"InvoiceTests","version":"1.0.2"}]'
Format des données
{
"Code": "TestCaseRun",
"Data": {
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Name": "Login smoke run",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"TestSetId": "a1b2c3d4-0000-0000-0000-000000000010",
"TestSetObjKey": "DEMO:10",
"Status": "Running",
"ExecutionType": "automated",
"Source": "Manual",
"RunId": 1,
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001",
"ExecutionStart": "2025-04-15T10:30:00Z",
"EnableCoverage": false,
"EnforceExecutionOrder": false,
"AutopilotForRobotsSettings": { "Enabled": false },
"OrderedExecutionSettings": { "Enabled": false },
"VideoRecordingSettings": { "Enabled": false }
}
}
{
"Code": "TestCaseRun",
"Data": {
"Id": "b2c3d4e5-0000-0000-0000-000000000001",
"Name": "Login smoke run",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"TestSetId": "a1b2c3d4-0000-0000-0000-000000000010",
"TestSetObjKey": "DEMO:10",
"Status": "Running",
"ExecutionType": "automated",
"Source": "Manual",
"RunId": 1,
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001",
"ExecutionStart": "2025-04-15T10:30:00Z",
"EnableCoverage": false,
"EnforceExecutionOrder": false,
"AutopilotForRobotsSettings": { "Enabled": false },
"OrderedExecutionSettings": { "Enabled": false },
"VideoRecordingSettings": { "Enabled": false }
}
}
Champs clés:
Id— passer àuip tm wait,report get,result download,attachment download.Status: "Running"— l'exécution n'a peut-être pas encore été envoyée.Source: "Manual"— toutes lestestcases runexécutions sont marquées comme déclenchées manuellement.
Workflow de bout en bout: package vers résultats
# 1. Discover your project key
uip tm project list --output json
# 2. Find the test case UUIDs you want to run
uip tm testcases list --project-key DEMO --filter "login" --output json
# 3. Find the folder that holds your package
uip or folders list --output json
# 4. Link the test case to the automation entry point
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest
# 5. Run the test cases directly
id=$(uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--name "PR #42 smoke" \
--output-filter Id)
# 6. Block until done (timeout in seconds — 15 minutes here)
uip tm wait \
--execution-id "$id" \
--project-key DEMO \
--timeout 900
# 7. Read the result
uip tm report get --execution-id "$id" --project-key DEMO
# 8. Download JUnit XML for CI
uip tm result download \
--execution-id "$id" \
--project-key DEMO \
--result-path ./junit.xml
# 9. Download screenshots and logs
uip tm attachment download \
--execution-id "$id" \
--project-key DEMO \
--only-failed \
--result-path ./attachments
# 1. Discover your project key
uip tm project list --output json
# 2. Find the test case UUIDs you want to run
uip tm testcases list --project-key DEMO --filter "login" --output json
# 3. Find the folder that holds your package
uip or folders list --output json
# 4. Link the test case to the automation entry point
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--package-name InvoiceTests \
--test-name SmokeTest
# 5. Run the test cases directly
id=$(uip tm testcases run \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--execution-type automated \
--folder-key f0f0f0f0-0000-0000-0000-000000000001 \
--name "PR #42 smoke" \
--output-filter Id)
# 6. Block until done (timeout in seconds — 15 minutes here)
uip tm wait \
--execution-id "$id" \
--project-key DEMO \
--timeout 900
# 7. Read the result
uip tm report get --execution-id "$id" --project-key DEMO
# 8. Download JUnit XML for CI
uip tm result download \
--execution-id "$id" \
--project-key DEMO \
--result-path ./junit.xml
# 9. Download screenshots and logs
uip tm attachment download \
--execution-id "$id" \
--project-key DEMO \
--only-failed \
--result-path ./attachments
Ajouter des cas de test uip tm
Add test cases to an existing test set, either by explicit keys or by label. Pass exactly one of --test-case-keys or --labels.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--test-set-key <key> | Requis. Clé d’objet de l’ensemble de tests (par exemple, DEMO:42). |
--test-case-keys <keys...> | Test case keys to add, space-separated (for example, DEMO:1 DEMO:2). Comma-separated values are also accepted. Mutually exclusive with --labels. |
--labels <labels...> | Space-separated label names. Adds every test case in the project carrying at least one of the labels — including the PW_Tag_*, PW_Project_*, PW_Suite_*, and PW_File_* labels applied by pack at ingestion. Mutually exclusive with --test-case-keys. |
--limit <count> | Maximum number of label-matched test cases to add. Only valid with --labels. Defaults to all matches. |
Exemples
# add by explicit keys
uip tm testcases add \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1 DEMO:2
# add every test case carrying one of the given labels
uip tm testcases add \
--test-set-key DEMO:42 \
--labels PW_Tag_smoke PW_Project_chromium
# add by explicit keys
uip tm testcases add \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1 DEMO:2
# add every test case carrying one of the given labels
uip tm testcases add \
--test-set-key DEMO:42 \
--labels PW_Tag_smoke PW_Project_chromium
Format des données
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Added": "DEMO:1, DEMO:2",
"Result": "Added"
}
}
When adding by --labels, the response also includes MatchedLabels:
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Added": "DEMO:3, DEMO:4, DEMO:7",
"MatchedLabels": "PW_Tag_smoke, PW_Project_chromium",
"Result": "Added"
}
}
{
"Code": "TestSetAddTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Added": "DEMO:3, DEMO:4, DEMO:7",
"MatchedLabels": "PW_Tag_smoke, PW_Project_chromium",
"Result": "Added"
}
}
Suppression des cas de test uip tm
Supprime un ou plusieurs cas de test d'un ensemble de test.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--test-set-key <key> | Requis. Clé d’objet de l’ensemble de tests (par exemple, DEMO:42). |
--test-case-keys <keys> | Requis. Clés de cas de test séparées par des virgules à supprimer (par exemple, DEMO:1,DEMO:2). |
-y, --yes | Ignorez l’invite de confirmation. Requis dans les environnements non interactifs. |
Exemple
uip tm testcases remove \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2 \
--yes
uip tm testcases remove \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2 \
--yes
Format des données
{
"Code": "TestSetRemoveTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
{
"Code": "TestSetRemoveTestCases",
"Data": {
"TestSetKey": "DEMO:42",
"Removed": "DEMO:1, DEMO:2",
"Result": "Removed"
}
}
étapes de liste des cas de test uip tm
Répertoriez les étapes de test manuelles d’un cas de test. Il s'agit d'un alias pour testcases steps list.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager (par exemple, DEMO). |
--test-case-id <uuid> | Requis. UUID du cas de test interne. |
Exemple
uip tm testcases list-steps \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
uip tm testcases list-steps \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
Format des données
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
étapes des cas de test uip tm
testcases steps est un sous-groupe qui gère les étapes manuelles individuelles d'un cas de test: répertorier, obtenir, ajouter, mettre à jour, déplacer et supprimer.
liste des étapes des cas de test uip tm
Dressez la liste des étapes d’un cas de test dans l’ordre.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager. |
--test-case-id <uuid> | Requis. UUID du cas de test interne. |
Exemple
uip tm testcases steps list \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
uip tm testcases steps list \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
Format des données
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
{
"Code": "TestCaseStepsList",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
étapes des cas de test uip tm - Obtenir
Obtenez une seule étape par son UUID.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager. |
--step-id <uuid> | Requis. UUID de l’étape de test (à partir de steps list). |
Exemple
uip tm testcases steps get \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001
uip tm testcases steps get \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001
Format des données
{
"Code": "TestStepGet",
"Data": {
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
}
{
"Code": "TestStepGet",
"Data": {
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "Manual",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
}
Étapes d'ajout de cas de test uip tm
Ajoutez une ou plusieurs étapes à un cas de test. Utilisez des indicateurs intégrés pour une seule étape ou --step <json> (répétable) pour plusieurs étapes à la fois.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager. |
--test-case-id <uuid> | Requis. Cas de test auquel ajouter des étapes. |
--description <text> | Description de l'étape (mode étape unique). |
--expected-result <text> | Résultat attendu (mode à une seule étape). |
--action-type <type> | Type d'action d'étape (mode étape unique). |
--clipboard-data <text> | Données de test à copier pour l'étape (mode étape unique). |
--order-no <n> | Position d'insertion basée sur 0; omettre d'ajouter à la fin (mode à une seule étape); |
--step <json> | Une étape en tant qu'objet JSON ({"description":"...","expectedResult":"..."}). Répétez l'opération pour ajouter plusieurs étapes. |
Exemples
# single step
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--description "Open login page" \
--expected-result "Login form is displayed"
# multiple steps
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--step '{"description":"Open login page","expectedResult":"Login form is shown"}' \
--step '{"description":"Enter credentials","clipboardData":"user@acme.com"}' \
--step '{"description":"Click submit","expectedResult":"Dashboard loads"}'
# single step
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--description "Open login page" \
--expected-result "Login form is displayed"
# multiple steps
uip tm testcases steps add \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--step '{"description":"Open login page","expectedResult":"Login form is shown"}' \
--step '{"description":"Enter credentials","clipboardData":"user@acme.com"}' \
--step '{"description":"Click submit","expectedResult":"Dashboard loads"}'
Format des données
{
"Code": "TestStepAdd",
"Data": {
"AddedCount": 1,
"Steps": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed",
"ClipboardData": ""
}
]
}
}
{
"Code": "TestStepAdd",
"Data": {
"AddedCount": 1,
"Steps": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"TestCaseId": "a1b2c3d4-0000-0000-0000-000000000001",
"OrderNo": 0,
"ActionType": "",
"Description": "Open login page",
"ExpectedResult": "Login form is displayed",
"ClipboardData": ""
}
]
}
}
Adding steps is not atomic: if one step in a multi-step --step batch fails, the steps before it remain created. The error message reports how many succeeded so you can inspect with steps list and retry only the remainder.
mise à jour des étapes des cas de test uip tm
Mettez à jour la description d'une étape, le résultat attendu, le type d'action ou les données du presse-papiers. Au moins un de ces champs doit être fourni.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager. |
--step-id <uuid> | Requis. UUID de l’étape de test. |
--description <text> | Nouvelle description. |
--expected-result <text> | Nouveau résultat attendu. |
--action-type <type> | Nouveau type d'action. |
--clipboard-data <text> | Nouvelles données du presse-papiers. |
Exemple
uip tm testcases steps update \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--expected-result "Dashboard is shown"
uip tm testcases steps update \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--expected-result "Dashboard is shown"
Format des données
{
"Code": "TestStepUpdate",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Updated"
}
}
{
"Code": "TestStepUpdate",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Updated"
}
}
Étapes du cas de test uip tm - Déplacement
Déplacez une étape vers une nouvelle position dans l'ordre des cas de test.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager. |
--step-id <uuid> | Requis. UUID de l’étape de test. |
--target-position <n> | Requis. Nouvelle position basée sur 0 (0 = première). Correspond au champ OrderNo de steps list. |
Exemple
uip tm testcases steps move \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--target-position 2
uip tm testcases steps move \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--target-position 2
Format des données
{
"Code": "TestStepMove",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"TargetPosition": 2,
"Result": "Moved"
}
}
{
"Code": "TestStepMove",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"TargetPosition": 2,
"Result": "Moved"
}
}
étapes de suppression des cas de test uip tm
Supprimez une étape d'un cas de test. Ceci est permanent.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Clé de projet Test Manager. |
--step-id <uuid> | Requis. UUID de l’étape de test. |
-y, --yes | Requis. Confirmez cette opération irréversible. |
Exemple
uip tm testcases steps delete \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--yes
uip tm testcases steps delete \
--project-key DEMO \
--step-id d4e5f6a7-0000-0000-0000-000000000001 \
--yes
Format des données
{
"Code": "TestStepDelete",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
{
"Code": "TestStepDelete",
"Data": {
"StepId": "d4e5f6a7-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
uip tm testcaselog list-assertions
Répertorie les assertions enregistrées pour un journal de cas de test unique. Chaque exécution d’un cas de test produit exactement un journal de cas de test; ses assertions correspondent aux vérifications individuelles enregistrées par l'automatisation. Ce verbe fait apparaître la raison pour laquelle un journal de cas de test est marqué Failed.
This verb is registered under testcaselog (singular), alongside testcaselog start and testcaselog finish below — not under testcases or testcaselogs (plural). uip tm testcaselogs list-assertions does not exist.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--test-case-log-id <uuid> | Requis. UUID du journal de cas de test. Obtenez-le de uip tm executions testcaselogs list ou uip tm testcases list-result-history. |
--project-key <key> | Requis. Propriétaire du projet. |
Exemple
uip tm testcaselog list-assertions \
--test-case-log-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO
uip tm testcaselog list-assertions \
--test-case-log-id a1b2c3d4-0000-0000-0000-000000000001 \
--project-key DEMO
Format des données
{
"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 }
]
}
Début du journal de cas de test uip tm
Start a test case execution within an existing test execution. Used by automations and integrations to record manual or mixed test case runs — most users don't call this directly.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--execution-id <uuid> | Required. The test execution in which the test case is running. |
--test-case-id <uuid> | Requis. UUID interne du cas de test en cours de journalisation. |
--run-id <number> | Run ID to record against. Omit to look it up automatically from the execution's current RunId. |
Exemple
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
Format des données
{
"Code": "TestCaseLogStart",
"Data": {
"Id": "c3d4e5f6-0000-0000-0000-000000000001",
"TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "None",
"BusinessResult": "None",
"OriginalResult": "None",
"Status": "Running",
"ExecutionType": "manual",
"HasError": false,
"ExecutionStart": "2025-04-15T10:30:00Z",
"ExecutionEnd": null,
"ExecutedBy": "alice@example.com",
"RunId": 1,
"Updated": "2025-04-15T10:30:00Z"
}
}
{
"Code": "TestCaseLogStart",
"Data": {
"Id": "c3d4e5f6-0000-0000-0000-000000000001",
"TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "None",
"BusinessResult": "None",
"OriginalResult": "None",
"Status": "Running",
"ExecutionType": "manual",
"HasError": false,
"ExecutionStart": "2025-04-15T10:30:00Z",
"ExecutionEnd": null,
"ExecutedBy": "alice@example.com",
"RunId": 1,
"Updated": "2025-04-15T10: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 includes many more fields (AutomationId, JobKey, PreCondition, PostCondition, and others) mostly empty at start time; only the fields relevant to tracking progress are shown here.
fin du journal de cas de test uip tm
Finish a test case execution started with testcaselog start, recording the overall result and (optionally) every step result in one call.
There is no --test-case-log-id or --info flag on this command. finish re-identifies the run via --execution-id + --test-case-id (the same pair passed to start), not by the log UUID start returned.
Arguments
Aucun
Options
| Drapeau | Description |
|---|---|
--project-key <key> | Requis. Propriétaire du projet. |
--execution-id <uuid> | Required. The test execution passed to testcaselog start. |
--test-case-id <uuid> | Required. The test case passed to testcaselog start. |
--result <result> | Required. Overall result (from the SDK Result enum, for example Passed, Failed). |
--has-error <boolean> | Required. Mark the execution as having an error (true/false). |
--executed-by <email> | Required. Email of the user who executed the test. |
--detail-link <url> | URL with additional execution details. |
--run-id <number> | Run ID to record against. Omit to look it up automatically from the execution's current RunId. |
--is-post-condition-met <boolean> | Mark whether the post-condition was met. |
--step-logs <json> | JSON array of step log objects 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. |
Exemples
# 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 \
--is-post-condition-met true \
--step-logs '[{"id":"3fa85f64-0000-0000-0000-000000000001","testStepId":"d4e5f6a7-0000-0000-0000-000000000001","result":"Passed","orderNo":1,"hasError":false,"hasAttachment":false}]'
# finish with step results loaded from a file
uip tm testcaselog finish \
--project-key DEMO \
--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 \
--is-post-condition-met true \
--step-logs '[{"id":"3fa85f64-0000-0000-0000-000000000001","testStepId":"d4e5f6a7-0000-0000-0000-000000000001","result":"Passed","orderNo":1,"hasError":false,"hasAttachment":false}]'
# finish with step results loaded from a file
uip tm testcaselog finish \
--project-key DEMO \
--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
Format des données
{
"Code": "TestCaseLogFinish",
"Data": {
"Id": "c3d4e5f6-0000-0000-0000-000000000001",
"TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Passed",
"BusinessResult": "Passed",
"OriginalResult": "Passed",
"Status": "Finished",
"ExecutionType": "manual",
"HasError": false,
"ExecutionStart": "2025-04-15T10:30:00Z",
"ExecutionEnd": "2025-04-15T10:31:00Z",
"ExecutedBy": "alice@example.com",
"RunId": 1,
"IsPostConditionMet": true,
"Updated": "2025-04-15T10:31:00Z"
}
}
{
"Code": "TestCaseLogFinish",
"Data": {
"Id": "c3d4e5f6-0000-0000-0000-000000000001",
"TestCaseId": "b2c3d4e5-0000-0000-0000-000000000001",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"TestExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Passed",
"BusinessResult": "Passed",
"OriginalResult": "Passed",
"Status": "Finished",
"ExecutionType": "manual",
"HasError": false,
"ExecutionStart": "2025-04-15T10:30:00Z",
"ExecutionEnd": "2025-04-15T10:31:00Z",
"ExecutedBy": "alice@example.com",
"RunId": 1,
"IsPostConditionMet": true,
"Updated": "2025-04-15T10:31:00Z"
}
}
Associé
- pack — empaquète un projet Playground et lie automatiquement ses cas de test au moment de l’ingestion; n'utilisez pas
link-automationsur les cas de test qu'il crée. - projet — étendue qui possède chaque cas de test.
- ensembles de tests — regroupe les cas de test dans une suite exécutable.
- exécutions - vues au niveau de l'exécution des journaux de cas de test.
- rapport — résumé d'une exécution, avec des incidents échoués et un texte d'assertion.
Voir également
- Vue d’ensemble de Test Manager
uip or folders list— source de--folder-keypourlink-automationetlist-automations.uip or packages— comment les packages et les points d'entrée Orchestrator sont enregistrés.
- Synthèse
- création de cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- liste des cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- uip tm testcases list-result-history
- Arguments
- Options
- Exemple
- Format des données
- mise à jour des cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- suppression de cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- uip tm cas de test lier-automatisation
- Arguments
- Options
- Exemple
- Format des données
- uip tm testcases link-package
- Arguments
- Options
- Exemples
- Format des données
- cas de test uip tm unlink-automation
- Arguments
- Options
- Exemple
- Format des données
- uip tm testcases list-automations
- Arguments
- Options
- Exemple
- Format des données
- uip tm cas de test liste-ensembles de test
- Arguments
- Options
- Exemple
- Format des données
- Exécution de cas de test uip tm
- Quand utiliser
testcases runvstestsets run - Arguments
- Options
- Exemples
- Format des données
- Workflow de bout en bout: package vers résultats
- Ajouter des cas de test uip tm
- Arguments
- Options
- Exemples
- Format des données
- Suppression des cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- étapes de liste des cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- étapes des cas de test uip tm
- liste des étapes des cas de test uip tm
- étapes des cas de test uip tm - Obtenir
- Étapes d'ajout de cas de test uip tm
- mise à jour des étapes des cas de test uip tm
- Étapes du cas de test uip tm - Déplacement
- étapes de suppression des cas de test uip tm
- uip tm testcaselog list-assertions
- Arguments
- Options
- Exemple
- Format des données
- Début du journal de cas de test uip tm
- Arguments
- Options
- Exemple
- Format des données
- fin du journal de cas de test uip tm
- Arguments
- Options
- Exemples
- Format des données
- Associé
- Voir également