UiPath Documentation
uipath-cli
latest
false
Guia do usuário da UiPath CLI
Importante :
Este conteúdo foi traduzido com auxílio de tradução automática. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

casos de teste uip tm

Sintaxe e opções para "uip tm testcases", que gerencia casos de teste incluindo criar, listar, atualizar, excluir, vincular automações e gerenciamento de log de casos de teste.

uip tm testcases gerencia casos de teste dentro de um projeto do Test Manager: criar, listar, atualizar, excluir, vincular ou desvincular uma automação do Orchestrator, inspecionar resultados históricos e adicionar ou remover casos de teste de um conjunto de testes. Ele também fornece testcases run — uma maneira de executar um ou mais casos de teste diretamente de um pacote do Orchestrator. Esta página também documenta uip tm testcaselog list-assertions, testcaselog start e testcaselog finish (registrado em testcaselog, no particular), que leem artefatos de asserção e registram entradas de log manuais para um log de caso de teste.

Um caso de teste é a unidade de autoria. Ele se torna executável assim que é vinculado a um ponto de entrada de pacote testcases link-automation. Um caso de teste pode então ser executado como parte de um conjunto de testes (consulte conjuntos de testes), ou diretamente por meio de testcases run.

AVISO:

Nunca execute testcases link-automation em um caso de teste criado por uip tm pack para um projeto do Playground. Os casos de teste do Playground são vinculados automaticamente durante a ingestão do pacote; a execução de link-automation neles segue manualmente o pipeline de vinculação de RPA e corromper essa associação. Se você preencheu com --no-create-test-cases, use o fluxo Selecionar Automação na interface gráfica do Test Manager em vez disso.

Resumo​

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

list-assertions, start e finish estão registrados em uip tm testcaselog (singular). uip tm testcaselogs list-assertions e uip tm testcaselogs start/finish não existem como comandos.

Todos os verbos honram as opções globais e os códigos de saída padrão.

Observação:

--log-level <level> (padrão Information) está disponível em create, list, list-result-history, update, delete, link-automation, link-package, unlink-automation, list-automations, list-testsets, add e remove. Ele não existe em run, em nenhum subcomando steps (incluindo o alias list-steps) ou em testcaselog start/finish/list-assertions.

Criação de casos de teste do uip tm​

Crie um novo caso de teste dentro de um projeto.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--name <name>Obrigatório. Nome do caso de teste.
--description <text>Descrição de forma livre. O padrão é vazio.
--version <version>String da versão do caso de teste. O padrão é 1.0.0.

Exemplo​

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"

Formato dos dados​

{
  "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 (o identificador PROJECT:N público) é o que você passa para outros verbos. O Id interno (UUID) é necessário para list-result-history e list-testsets.

lista de casos de teste uip tm​

Listar todos os casos de teste em um projeto. As páginas da CLI através de resultados automaticamente.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Projeto a listar.
--filter <text>Filtra por nome ou chave (pesquisa no lado do servidor).

Exemplo​

uip tm testcases list --project-key DEMO --filter login
uip tm testcases list --project-key DEMO --filter login

Formato dos dados​

{
  "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​

Liste os logs históricos de casos de teste para um único caso de teste. Usa o --test-case-id interno (UUID) — procure o UUID por meio de testcases list ou de uma saída TestCaseCreate anterior.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--test-case-id <uuid>Obrigatório. UUID do caso de teste interno.
--filter <text>Pesquise logs de casos de teste por nome.
--only-failedO atalho para "mostrar apenas logs com falha" (padrão false).
--results <results...>Resultados separados por espaço a serem incluídos. Os valores aceitos vêm do enum do SDK Result.
--statuses <statuses...>Status de execuções separados por espaço. Os valores aceitos vêm do enum do SDK TestCaseLogExecutionStatus.
--duration-period <period>Filtra por bucket de duração. Os valores aceitos vêm do enum do SDK DurationPeriod.
--top <number>Tamanho da página O padrão é 50.
--skip <number>Resultados a ignorar. O padrão é 0.
Observação:

Os valores aceitos exatos para --results, --statuses e --duration-period são gerados no runtime a partir dos enums do SDK do Test Manager enviados com a versão da ferramenta instalada. Execute uip tm testcases list-result-history --help para ver o conjunto atual.

Exemplo​

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

Formato dos dados​

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

atualização de casos de teste do uip tm​

Renomeie um caso de teste ou altere sua descrição, pré-condição ou pós-condição. Pelo menos um desses campos é obrigatório.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--test-case-key <key>Obrigatório. Chave de caso de teste (por exemplo, DEMO:1).
--name <name>Novo nome.
--description <text>Nova descrição.
--pre-condition <text>Nova pré-condição — o que deve ser verdadeiro antes de executar o teste.
--post-condition <text>Nova pós-condição — o que deve ser verdadeiro após a execução do teste.

Exemplo​

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

Formato dos dados​

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

exclusão de casos de teste do uip tm​

Excluir um caso de teste por sua chave.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--test-case-key <key>Obrigatório. Chave de caso de teste (por exemplo, DEMO:1).
-y, --yesIgnore o prompt de confirmação. Necessário em ambientes não interativos.

Exemplo​

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

Formato dos dados​

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

Associe um ponto de entrada do pacote do Orchestrator a um caso de teste. É isso que torna o caso de teste executável dentro de um conjunto de testes. Internamente, o comando resolve o nome de exibição da pasta de --folder-key, pesquisa o ponto de entrada do pacote correspondente por nome e, em seguida, armazena a vinculação no caso de teste. Para casos de teste do Playground criados por pack, consulte o aviso acima.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--test-case-key <key>Obrigatório. Caso de teste a ser vinculado.
--folder-key <uuid>Obrigatório. UUID da pasta do Orchestrator (de uip or folders list).
--package-name <name>Obrigatório. Identificador do pacote do Orchestrator (por exemplo, InvoiceTests).
--test-name <name>Obrigatório. O nome do caso de teste dentro do pacote (o nome do ponto de entrada).

Exemplo​

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

Formato dos dados​

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

Criar e vincular um caso de teste para cada teste em um pacote do Orchestrator, em uma chamada — a contraparte em massa para link-automation, que vincula um caso de teste existente a uma automação. Por padrão, ele vincula cada teste que a pasta expõe; restrinja para um pacote com --package-name ou para testes específicos com --test-name. Cada teste cria um novo caso de teste (Action: "Created") ou reutiliza um já vinculado a essa automação (Action: "Reused").

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--folder-key <uuid>Obrigatório. UUID da pasta do Orchestrator (de uip or folders list).
--package-name <name>Vincule apenas testes deste pacote (correspondência exata sem diferenciação entre maiúsculas e minúsculas). Omita para vincular todos os testes que a pasta expõe.
--test-name <name...>Vincule apenas estes testes (sem diferenciação entre maiúsculas e minúsculas, repetíveis). Omita para vincular todos eles.
--dry-runVisualize quais casos de teste seriam criados, reutilizados e vinculados, sem escrever nada.

Exemplos​

# 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

Formato dos dados​

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

Com --dry-run, o Code é TestCaseLinkPackageDryRun em vez disso, os valores Action se tornam WouldCreate/WouldReuse, e TestCaseKey/TestCaseId são strings vazias, pois nada foi realmente escrito.

Remova a associação de automação de um caso de teste. Após a desvinculação, o caso de teste não será mais executável até ser vinculado novamente.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--test-case-key <key>Obrigatório. Caso de teste a ser desvinculado.

Exemplo​

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

Formato dos dados​

{
  "Code": "TestCaseUnlinkAutomation",
  "Data": {
    "TestCaseKey": "DEMO:1",
    "Result": "Unlinked"
  }
}
{
  "Code": "TestCaseUnlinkAutomation",
  "Data": {
    "TestCaseKey": "DEMO:1",
    "Result": "Unlinked"
  }
}

uip tm testcases lista-automações​

Liste os pontos de entrada de teste disponíveis em uma pasta do Orchestrator. Use isso para descobrir os valores --package-name / --test-name para passar para link-automation.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Projeto proprietário (usado para delimitar a pesquisa).
--folder-key <uuid>UUID da pasta do Orchestrator. Omita para pesquisar no feed do tenant em vez de uma pasta.
--package-name <name>Filtre a lista para um pacote (correspondência exata que não diferencia maiúsculas de minúsculas, não uma pesquisa de substring).

Exemplo​

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

Formato dos dados​

{
  "Code": "TestAutomationsList",
  "Data": [
    {
      "PackageName": "InvoiceTests",
      "TestName": "SmokeTest",
      "PackageVersion": "1.0.2"
    }
  ]
}
{
  "Code": "TestAutomationsList",
  "Data": [
    {
      "PackageName": "InvoiceTests",
      "TestName": "SmokeTest",
      "PackageVersion": "1.0.2"
    }
  ]
}

uip tm testcases list-testsets​

Liste cada conjunto de testes que contém um determinado caso de teste.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--test-case-key <key>Obrigatório. Chave de caso de teste (por exemplo, DEMO:1).

Exemplo​

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

Formato dos dados​

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

execução de casos de teste do uip tm​

Execute um ou mais casos de teste diretamente de um pacote do Orchestrator, sem criar um conjunto de testes primeiro. testcases run uma execução e retorna o registro da execução. Para obter mais informações sobre esse recurso, consulte Execução de casos de teste sem um conjunto de testes na documentação do Test Manager.

Observação:

é testcases run por padrão — ele bloqueia até que o registro de execução seja confirmado. Para retornar imediatamente após a fila, passe --async. Para bloquear até que a execução termine, canalize o Id retornado para uip tm wait.

Quando usar testcases run vs testsets run​

  • testcases run para executar casos de teste sob demanda diretamente de um pacote.
  • testsets run para executar um grupo nomeado e selecionado de casos de teste que são gerenciados ao longo do tempo no Test Manager.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Chave do projeto do Test Manager (por exemplo, DEMO). Opcional se puder ser derivados do contexto.
--test-case-id <uuid...>Obrigatório. Um ou mais UUIDs de casos de teste para executar, separados por espaço. Obtenha UUIDs de testcases list.
--execution-type <type>Obrigatório. Tipo de execução: automated, manual, mixed ou none.
--name <name>Nome de exibição para a execução.
--asyncRetorne imediatamente após a fila, sem esperar que o servidor confirme que a execução foi iniciada. Omita para aguardar a criação total do registro de execução antes de retornar.
--folder-key <uuid>A pasta do Orchestrator a ser executada. Obrigatório quando os casos de teste são vinculados a automações em uma pasta específica.
--runtime-type <type>Substituição do tipo de runtime do robô. Valores aceitos: 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>Chave de usuário do robô para o destino de execução.
--machine-key <uuid>Chave de máquina para o destino de execução.
--host-machine-name <name>Nome da máquina host para o destino de execução.
--service-user-name <name>Nome do usuário do serviço para o destino de execução.
--test-set-packages <json>Matriz JSON de substituições de pacotes: [{"packageName":"Pkg","version":"1.0.0"}].

Exemplos​

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

Formato dos dados​

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

Campos-chave:

  • Id — passe para uip tm wait, report get, result download, attachment download.
  • Status: "Running" a execução pode ainda não ter sido enviada.
  • Source: "Manual" todas as execuções testcases run são marcadas como disparadas manualmente.

Fluxo de trabalho de ponta a ponta: empacotar para resultados​

# 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

Adicionar casos de teste uip tm​

Adicione casos de teste a um conjunto de testes existente, por chaves explícitas ou por rótulo. Passe exatamente um dos --test-case-keys ou --labels.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--test-set-key <key>Obrigatório. Chave do objeto do conjunto de testes (por exemplo, DEMO:42).
--test-case-keys <keys...>Chaves de caso de teste a serem adicionadas, separadas por espaço (por exemplo, DEMO:1 DEMO:2). Valores separados por vírgulas também são aceitos. Mutualmente exclusivo com --labels.
--labels <labels...>Nomes de rótulos separados por espaço. Adiciona todos os casos de teste no projeto que carregam pelo menos um dos rótulos — incluindo os rótulos PW_Tag_*, PW_Project_*, PW_Suite_* e PW_File_* aplicados por pack na ingestão. Mutualmente exclusivo com --test-case-keys.
--limit <count>Número máximo de casos de teste com correspondência de rótulo a serem adicionados. Válido apenas com --labels. Padroniza como todas as correspondências.

Exemplos​

# 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

Formato dos dados​

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

Ao adicionar por --labels, a resposta também inclui 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"
  }
}

remoção de casos de teste uip tm​

Remova um ou mais casos de teste de um conjunto de testes.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--test-set-key <key>Obrigatório. Chave do objeto do conjunto de testes (por exemplo, DEMO:42).
--test-case-keys <keys>Obrigatório. Chaves de caso de teste separadas por vírgulas a serem removidas (por exemplo, DEMO:1,DEMO:2).
-y, --yesIgnore o prompt de confirmação. Necessário em ambientes não interativos.

Exemplo​

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

Formato dos dados​

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

uip tm testcases list-steps​

Listar as etapas de teste manuais de um caso de teste. Este é um alias para testcases steps list.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager (por exemplo, DEMO).
--test-case-id <uuid>Obrigatório. UUID do caso de teste interno.

Exemplo​

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

Formato dos dados​

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

etapas de testcases do uip tm​

é um testcases steps que gerencia as etapas manuais individuais de um caso de teste: listar, obter, adicionar, atualizar, mover e excluir.

lista de etapas de casos de teste do uip tm​

Liste as etapas de um caso de teste em ordem.

Argumentos​

Nenhum.

Opções​
BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager.
--test-case-id <uuid>Obrigatório. UUID do caso de teste interno.
Exemplo​
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
Formato dos dados​
{
  "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"
    }
  ]
}

etapas de testcases do uip tm obter​

Obtém uma única etapa pelo UUID.

Argumentos​

Nenhum.

Opções​
BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager.
--step-id <uuid>Obrigatório. UUID da etapa de teste (de steps list).
Exemplo​
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
Formato dos dados​
{
  "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"
  }
}

etapas de testcases do uip tm adicionar​

Adicione uma ou mais etapas a um caso de teste. Use sinalizadores em linha para uma única etapa ou --step <json> (repetível) para várias de uma vez.

Argumentos​

Nenhum.

Opções​
BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager.
--test-case-id <uuid>Obrigatório. Caso de teste ao qual adicionar etapas.
--description <text>Descrição da etapa (modo de etapa única).
--expected-result <text>Resultado esperado (modo de etapa única).
--action-type <type>Tipo de ação de etapa (modo de etapa única).
--clipboard-data <text>Dados de teste a serem copiados para a etapa (modo de etapa única).
--order-no <n>posição de inserção baseada em 0; omita para anexar no final (modo de etapa única).
--step <json>Uma etapa como um objeto JSON ({"description":"...","expectedResult":"..."}). Repita o processo para adicionar várias etapas.
Exemplos​
# 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"}'
Formato dos dados​
{
  "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": ""
      }
    ]
  }
}

A adição de etapas não é atual: se uma etapa em um lote --step de várias etapas falhar, as etapas antes dela permanecerão criadas. A mensagem de erro relata quantos foram bem-sucedidos, para que você possa inspecionar com steps list e tentar novamente apenas o restante.

Atualização de etapas de testcases do uip tm​

Atualize a descrição de uma etapa, o resultado esperado, o tipo de ação ou os dados da área de transferência. Pelo menos um desses campos deve ser fornecido.

Argumentos​

Nenhum.

Opções​
BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager.
--step-id <uuid>Obrigatório. UUID da etapa de teste.
--description <text>Nova descrição.
--expected-result <text>Novo resultado esperado.
--action-type <type>Novo tipo de ação.
--clipboard-data <text>Novos dados da área de transferência.
Exemplo​
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"
Formato dos dados​
{
  "Code": "TestStepUpdate",
  "Data": {
    "StepId": "d4e5f6a7-0000-0000-0000-000000000001",
    "Result": "Updated"
  }
}
{
  "Code": "TestStepUpdate",
  "Data": {
    "StepId": "d4e5f6a7-0000-0000-0000-000000000001",
    "Result": "Updated"
  }
}

etapas de Testcases do uip tm mover​

Mova uma etapa para uma nova posição na ordem do caso de teste.

Argumentos​

Nenhum.

Opções​
BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager.
--step-id <uuid>Obrigatório. UUID da etapa de teste.
--target-position <n>Obrigatório. Nova posição baseada em 0 (0 = primeira). Corresponde ao campo OrderNo de steps list.
Exemplo​
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
Formato dos dados​
{
  "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"
  }
}

exclusão de etapas de testcases do uip tm​

Excluir uma etapa de um caso de teste. Isso é permanente.

Argumentos​

Nenhum.

Opções​
BandeiraDescription
--project-key <key>Obrigatório. Chave do projeto do Test Manager.
--step-id <uuid>Obrigatório. UUID da etapa de teste.
-y, --yesObrigatório. Confirme esta operação irreversível.
Exemplo​
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
Formato dos dados​
{
  "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​

Liste as asserções gravadas para um único log de caso de teste. Cada execução de um caso de teste produz exatamente um log de caso de teste; suas asserções são as verificações individuais que a automação registrou. Esse verbo revela por que um log de caso de teste é Failed.

Este verbo está registrado sob testcaselog (singular), ao lado de testcaselog start e testcaselog finish abaixo — não sob testcases ou testcaselogs (plular). uip tm testcaselogs list-assertions não existe.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--test-case-log-id <uuid>Obrigatório. UUID do log do caso de teste. Obtenha-o de uip tm executions testcaselogs list ou de uip tm testcases list-result-history.
--project-key <key>Obrigatório. Proprietário do projeto.

Exemplo​

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

Formato dos dados​

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

Início do log de caso de teste do uip tm​

Inicie uma execução de caso de teste dentro de uma execução de teste existente. Usado por automações e integrações para registrar execuções de casos de teste manuais ou mistos — a maioria dos usuários não chama isso diretamente.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--execution-id <uuid>Obrigatório. A execução de teste em que o caso de teste está sendo executado.
--test-case-id <uuid>Obrigatório. UUID interno do caso de teste que está sendo registrado.
--run-id <number>ID da execução para gravar. Omita para procurá-lo automaticamente a partir do RunId atual da execução.

Exemplo​

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

Formato dos dados​

{
  "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 é o UUID de log do caso de teste — passe-o para uip tm teststeplog list ou testcaselog list-assertions após a execução ser concluída. A resposta completa inclui muitos mais campos (AutomationId, JobKey, PreCondition, PostCondition e outros) vazios em sua maioria no horário de início; apenas os campos relevantes para rastrear o progresso são mostrados aqui.

Finalização do log de caso de teste do uip tm​

Finalize a execução de um caso de teste iniciada com testcaselog start, registrando o resultado geral e (opcionalmente) cada resultado da etapa em uma chamada.

Importante:

Não há nenhum sinalizador --test-case-log-id ou --info neste comando. finish reidentifica a execução por meio de --execution-id + --test-case-id (o mesmo par passado para start), não pelo UUID de log start retornado.

Argumentos​

Nenhum.

Opções​

BandeiraDescription
--project-key <key>Obrigatório. Proprietário do projeto.
--execution-id <uuid>Obrigatório. A execução de teste foi aprovada para testcaselog start.
--test-case-id <uuid>Obrigatório. O caso de teste foi passado para testcaselog start.
--result <result>Obrigatório. Resultado geral (do enum Result do SDK, por exemplo Passed, Failed).
--has-error <boolean>Obrigatório. Marque a execução como tendo um erro (true/false).
--executed-by <email>Obrigatório. E-mail do usuário que executou o teste.
--detail-link <url>URL com detalhes de execução adicionais.
--run-id <number>ID da execução para gravar. Omita para procurá-lo automaticamente a partir do RunId atual da execução.
--is-post-condition-met <boolean>Marque se a pós-condição foi atendida.
--step-logs <json>Matriz JSON de objetos de log de etapa a serem gravados para essa execução de caso de teste. mutuamente exclusivo com --step-logs-file.
--step-logs-file <path>Caminho para um arquivo JSON com o mesmo formato de --step-logs. Mutualmente exclusivo com --step-logs.

Exemplos​

# 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

Formato dos dados​

{
  "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"
  }
}
  • empacotar — empacota um projeto do Playwight e vincula automaticamente seus casos de teste no momento da ingestão; não use link-automation nos casos de teste que ele cria.
  • projeto — escopo que possui cada caso de teste.
  • testessets — agrupe casos de teste em um pacote executável.
  • execuções — visualizações no nível da execução de logs de casos de teste.
  • relatório — resumo de uma execução, com casos de falha e texto de asserção.

Veja também​

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades