UiPath Documentation
uipath-cli
latest
false
Guide de l'utilisateur de UiPath CLI
Important :
Ce contenu a été traduit à l'aide d'une traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

cas de test uip tm

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 gère les cas de test au sein d'un projet Test Manager: permet de créer, répertorier, mettre à jour, supprimer, lier ou dissocier une automatisation Orchestrator, inspecter les résultats historiques et ajouter ou supprimer des cas de test d'un ensemble de tests. Il fournit également testcases run — un moyen d'exécuter un ou plusieurs cas de test directement à partir d'un package Orchestrator. Cette page documente également uip tm testcaselog list-assertions, testcaselog start et testcaselog finish (enregistré sous testcaselog, singulaire), qui lisent les artefacts d'assertion et enregistrent les entrées de journal manuelles d'un journal de cas de test.

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.

Avertissement :

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>)
Important :

list-assertions, start et finish sont enregistrés sous uip tm testcaselog (singulaire). uip tm testcaselogs list-assertions et uip tm testcaselogs start/finish n'existent pas en tant que commandes.

Tous les verbes respectent les options globales et les codes de sortie standard.

Remarque :

--log-level <level> (par défaut Information) est disponible sur create, list, list-result-history, update, delete, link-automation, link-package, unlink-automation, list-automations, list-testsets, add et remove. Il n'existe pas sur run, aucune sous-commande steps (y compris l'alias list-steps) ou 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​

DrapeauDescription
--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​

DrapeauDescription
--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​

DrapeauDescription
--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-failedRaccourci 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.
Remarque :

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​

Renommez un cas de test ou modifiez sa description, sa précondition ou sa post-condition. Au moins un de ces champs est requis.

Arguments​

Aucun

Options​

DrapeauDescription
--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>Nouvelle précondition — ce qui doit être vrai avant l'exécution du test.
--post-condition <text>Nouvelle post-condition — ce qui doit être vrai après l'exécution du 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​

DrapeauDescription
--project-key <key>Requis. Propriétaire du projet.
--test-case-key <key>Requis. Clé de cas de test (par exemple, DEMO:1).
-y, --yesIgnorez 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"
  }
}

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​

DrapeauDescription
--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"
  }
}

Créez et liez un cas de test pour chaque test d'un package Orchestrator, en un seul appel — l'équivalent en bloc de link-automation, qui lie un cas de test existant à une automatisation. Par défaut, il lie chaque test exposé dans le dossier; l'étendue à un package avec --package-name, ou à des tests spécifiques avec --test-name. Chaque test crée soit un nouveau cas de test (Action: "Created"), soit en réutilise un déjà lié à cette automatisation (Action: "Reused").

Arguments​

Aucun

Options​

DrapeauDescription
--project-key <key>Requis. Propriétaire du projet.
--folder-key <uuid>Requis. UUID du dossier Orchestrator (depuis uip or folders list).
--package-name <name>Liez uniquement les tests de ce package (correspondance exacte insensible à la casse). Omettez de lier chaque test exposé dans le dossier.
--test-name <name...>Liez uniquement ces tests (insensibles à la casse, répétables). Omettez de toutes les lier.
--dry-runPrévisualisez les cas de test qui seront créés, réutilisés et liés, sans écrire quoi que ce soit.

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

Avec --dry-run, le Code est TestCaseLinkPackageDryRun au lieu de cela, les valeurs Action deviennent WouldCreate/WouldReuse et TestCaseKey/TestCaseId sont des chaînes vides, car rien n’a été réellement écrit.

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​

DrapeauDescription
--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​

DrapeauDescription
--project-key <key>Requis. Projet propriétaire (utilisé pour étendre la recherche).
--folder-key <uuid>UUID du dossier Orchestrator. Omettez de rechercher dans le flux de locataires au lieu d’un dossier unique.
--package-name <name>Filtrez la liste sur un seul package (correspondance exacte insensible à la casse, pas une recherche de sous-chaîne).

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​

DrapeauDescription
--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.

Remarque :

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 run pour exécuter des cas de test à la demande directement à partir d'un package.
  • Utilisez testsets run pour exécuter un groupe de cas de test nommé et sélectionné au fil du temps dans Test Manager.

Arguments​

Aucun

Options​

DrapeauDescription
--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.
--asyncRetournez 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 les testcases run exé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​

Ajoutez des cas de test à un ensemble de tests existant, soit par des clés explicites, soit par libellé. Transmettez exactement l'un des --test-case-keys ou --labels.

Arguments​

Aucun

Options​

DrapeauDescription
--test-set-key <key>Requis. Clé d’objet de l’ensemble de tests (par exemple, DEMO:42).
--test-case-keys <keys...>Clés de cas de test à ajouter, séparées par des espaces (par exemple, DEMO:1 DEMO:2). Les valeurs séparées par des virgules sont également acceptées. Capture mutuellement exclusive avec --labels.
--labels <labels...>Noms de libellés séparés par des espaces. Ajoute chaque cas de test dans le projet qui porte au moins un des libellés, y compris les libellés PW_Tag_*, PW_Project_*, PW_Suite_* et PW_File_* appliqués par pack lors de l’ingestion. Capture mutuellement exclusive avec --test-case-keys.
--limit <count>Nombre maximal de cas de test correspondant au libellé à ajouter. Uniquement valide avec --labels. La valeur par défaut est l'ensemble des correspondances.

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

Lors de l’ajout par --labels, la réponse inclut également 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​

DrapeauDescription
--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, --yesIgnorez 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​

DrapeauDescription
--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​
DrapeauDescription
--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​
DrapeauDescription
--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​
DrapeauDescription
--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": ""
      }
    ]
  }
}

L’ajout d’étapes n’est pas atomique: si une étape d’un lot --step multi-étapes échoue, les étapes qui la précèdent restent créées. Le message d'erreur signale combien ont réussi afin que vous puissiez inspecter avec steps list et réessayer uniquement le reste.

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​
DrapeauDescription
--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​
DrapeauDescription
--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​
DrapeauDescription
--project-key <key>Requis. Clé de projet Test Manager.
--step-id <uuid>Requis. UUID de l’étape de test.
-y, --yesRequis. 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.

Ce verbe est enregistré sous testcaselog (singulaire), avec testcaselog start et testcaselog finish ci-dessous - non sous testcases ou testcaselogs (pluie). uip tm testcaselogs list-assertions n’existe pas.

Arguments​

Aucun

Options​

DrapeauDescription
--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​

Démarrez l'exécution d'un cas de test dans une exécution de test existante. Utilisé par les automatisations et les intégrations pour enregistrer des exécutions de cas de test manuelles ou mixtes - la plupart des utilisateurs ne l'appellent pas directement.

Arguments​

Aucun

Options​

DrapeauDescription
--project-key <key>Requis. Propriétaire du projet.
--execution-id <uuid>Requis. L'exécution de test dans laquelle le cas de test s'exécute.
--test-case-id <uuid>Requis. UUID interne du cas de test en cours de journalisation.
--run-id <number>ID d'exécution sur lequel enregistrer. Omettez de le rechercher automatiquement à partir du RunId actuel de l'exécution.

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 est l'UUID du journal de cas de test — transmettez-le à uip tm teststeplog list ou testcaselog list-assertions une fois l'exécution terminée. La réponse complète comprend de nombreux autres champs (AutomationId, JobKey, PreCondition, PostCondition et autres) pour la plupart vides au moment du début; seuls les champs pertinents pour le suivi de la progression sont affichés ici.

fin du journal de cas de test uip tm​

Terminez une exécution de cas de test commencée par testcaselog start, en enregistrant le résultat global et (éventuellement) chaque résultat d'étape en un appel.

Important :

Il n'y a pas d'indicateur --test-case-log-id ou --info sur cette commande. finish identifie à nouveau l'exécution via --execution-id + --test-case-id (la même paire transmise à start), et non par l'UUID de journal start renvoyé.

Arguments​

Aucun

Options​

DrapeauDescription
--project-key <key>Requis. Propriétaire du projet.
--execution-id <uuid>Requis. L'exécution du test est passée à testcaselog start.
--test-case-id <uuid>Requis. Le cas de test est passé à testcaselog start.
--result <result>Requis. Résultat global (de l’enum SDK Result, par exemple Passed, Failed).
--has-error <boolean>Requis. Marquez l’exécution comme comportant une erreur (true/false).
--executed-by <email>Requis. L'e-mail de l'utilisateur qui a exécuté le test.
--detail-link <url>URL avec des détails d’exécution supplémentaires.
--run-id <number>ID d'exécution sur lequel enregistrer. Omettez de le rechercher automatiquement à partir du RunId actuel de l'exécution.
--is-post-condition-met <boolean>Indiquez si la post-condition a été remplie.
--step-logs <json>Tableau JSON des objets de journal des étapes à enregistrer pour cette exécution de cas de test. Capture mutuellement exclusive avec --step-logs-file.
--step-logs-file <path>Chemin d'accès à un fichier JSON ayant la même forme que --step-logs. Capture mutuellement exclusive avec --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"
  }
}
  • pack — empaquète un projet Playground et lie automatiquement ses cas de test au moment de l’ingestion; n'utilisez pas link-automation sur 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​

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour