- Visão geral
- Introdução
- Conceitos
- Usando o UiPath CLI
- Guias de instruções
- Receitas de CI/CD
- Referência de comando
- Visão geral
- Códigos de saída
- Opções globais
- Agente de código uip
- Documento da UIP
- adicionar-tipo-dados-de-teste
- adicionar-dados-de-teste-fila
- adicionar-teste-variação de dados
- Analisar
- Criar
- criar projeto
- Comparação
- encontrar atividades
- obter-analisador-regras
- obter-padrão-atividade-xaml
- obter-erros
- obter-casos-de-teste-manuais
- obter-etapas-de-teste-manual
- Obter versões
- obter-fluxo-de-trabalho-exemplo
- indicar aplicativo
- indicar elemento
- inspecionar pacote
- instalar-data-fabric-entities
- instalar-ou-atualizar pacotes
- listar-data-fabric-entities
- listar-exemplos-de-fluxo-de-trabalho
- Empacotar
- restore
- arquivo de execução
- modelos-pesquisar
- Iniciar Studio
- interromper a execução
- UIA
- Traces da UIP
- Migração
- Referência e suporte
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, que lê os artefatos de asserção anexados a um único log de caso de teste e os verbos testcaselog start / testcaselog finish usados por automações para registrar entradas de log manuais.
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.
Resumo
uip tm testcases create --project-key <key> --name <name> [--description <text>] [--precondition <text>] [--postcondition <text>]
uip tm testcases list --project-key <key> [--filter <text>] [--limit <n>] [--offset <n>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [--limit <n>] [--offset <n>]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>] [--precondition <text>] [--postcondition <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> --automation-id <uuid>
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --folder-key <uuid> [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-id <uuid>
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>
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 --execution-id <uuid> --test-case-id <uuid> [--execution-type <type>]
uip tm testcaselog finish --test-case-log-id <uuid> [--info <text>]
uip tm testcases create --project-key <key> --name <name> [--description <text>] [--precondition <text>] [--postcondition <text>]
uip tm testcases list --project-key <key> [--filter <text>] [--limit <n>] [--offset <n>]
uip tm testcases list-result-history --project-key <key> --test-case-id <uuid> [--limit <n>] [--offset <n>]
uip tm testcases update --project-key <key> --test-case-key <key> [--name <name>] [--description <text>] [--precondition <text>] [--postcondition <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> --automation-id <uuid>
uip tm testcases unlink-automation --project-key <key> --test-case-key <key>
uip tm testcases list-automations --folder-key <uuid> [--package-name <name>]
uip tm testcases list-testsets --project-key <key> --test-case-id <uuid>
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>
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 --execution-id <uuid> --test-case-id <uuid> [--execution-type <type>]
uip tm testcaselog finish --test-case-log-id <uuid> [--info <text>]
Todos os verbos honram as opções globais e os códigos de saída padrão. Cada verbo aceita -t, --tenant <name> e --log-level <level> (padrão Information).
Criação de casos de teste do uip tm
Crie um novo caso de teste dentro de um projeto.
Argumentos
Nenhum.
Opções
--project-key <key>(necessário) — possuindo projeto.--name <name>necessário) — nome do caso de teste.--description <text>descrição de forma livre. O padrão é vazio.--precondition <text>— texto de pré-condição. O padrão é vazio.--postcondition <text>— texto de pós-condição. O padrão é vazio.
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"
}
}
{
"Code": "TestCaseCreate",
"Data": {
"TestCaseKey": "DEMO:1",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Login smoke",
"Description": "Logs in and out"
}
}
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.
Argumentos
Nenhum.
Opções
--project-key <key>(necessário) — projeto à lista.--filter <text>filtre por nome ou chave (pesquisa no lado do servidor).--limit <n>— tamanho da página. O padrão é50.--offset <n>— resultados a ignorar. O padrão é0.
Exemplo
uip tm testcases list --project-key DEMO --filter login --limit 20
uip tm testcases list --project-key DEMO --filter login --limit 20
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
--project-key <key>(necessário) — possuindo projeto.--test-case-id <uuid>(necessário) — UUID do caso de teste interno.--limit <n>— tamanho da página. O padrão é50.--offset <n>— resultados a ignorar. O padrão é0.
Exemplo
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--limit 10
uip tm testcases list-result-history \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001 \
--limit 10
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 deve ser fornecido.
Argumentos
Nenhum.
Opções
--project-key <key>(necessário) — possuindo projeto.--test-case-key <key>(necessário) — chave de caso de teste (por exemplo,DEMO:1).--name <name>novo nome.--description <text>nova descrição.--precondition <text>novo texto de pré-condição.--postcondition <text>novo texto de pós-condição.
Exemplo
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)" \
--precondition "User account exists"
uip tm testcases update \
--project-key DEMO \
--test-case-key DEMO:1 \
--name "Login smoke (2026)" \
--precondition "User account exists"
Formato dos dados
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Result": "Updated"
}
}
{
"Code": "TestCaseUpdate",
"Data": {
"TestCaseKey": "DEMO:1",
"Name": "Login smoke (2026)",
"Result": "Updated"
}
}
exclusão de casos de teste do uip tm
Excluir um caso de teste por sua chave.
Argumentos
Nenhum.
Opções
--project-key <key>(necessário) — possuindo projeto.--test-case-key <key>(necessá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"
}
}
uip tm testcases link-automation
Associe uma automação do Orchestrator a um caso de teste por seu UUID de automação. É isso que torna o caso de teste executável dentro de um conjunto de testes. testcases list-automations para descobrir o --automation-id para uma determinada pasta.
Argumentos
Nenhum.
Opções
--project-key <key>(necessário) — possuindo projeto.--test-case-key <key>necessário) — caso de teste a ser vinculado.--automation-id <uuid>(necessário) — UUID da automação do Orchestrator (ponto de entrada do pacote). Obtenha isso deuip tm testcases list-automations.
Exemplo
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--automation-id f0f0f0f0-0000-0000-0000-000000000001
uip tm testcases link-automation \
--project-key DEMO \
--test-case-key DEMO:1 \
--automation-id f0f0f0f0-0000-0000-0000-000000000001
Formato dos dados
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"Result": "Linked"
}
}
{
"Code": "TestCaseLinkAutomation",
"Data": {
"TestCaseKey": "DEMO:1",
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"Result": "Linked"
}
}
uip tm testcases unlink-automation
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
--project-key <key>(necessário) — possuindo projeto.--test-case-key <key>(necessário) — caso de teste para desvincular.
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. Execute isso para descobrir o valor --automation-id a passar para link-automation.
Argumentos
Nenhum.
Opções
--folder-key <uuid>(necessário) — UUID da pasta do Orchestrator.--package-name <name>filtre a lista para um pacote (correspondência exata sem diferenciação entre maiúsculas e minúsculas).
Exemplo
uip tm testcases list-automations \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
uip tm testcases list-automations \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
Formato dos dados
{
"Code": "TestAutomationsList",
"Data": [
{
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"PackageName": "InvoiceTests",
"TestName": "SmokeTest",
"PackageVersion": "1.0.2"
}
]
}
{
"Code": "TestAutomationsList",
"Data": [
{
"AutomationId": "f0f0f0f0-0000-0000-0000-000000000001",
"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
--project-key <key>(necessário) — possuindo projeto.--test-case-id <uuid>(necessário) — UUID do caso de teste interno (não a chavePROJECT:N). Obtenha-o detestcases listou de uma respostaTestCaseCreate.
Exemplo
uip tm testcases list-testsets \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
uip tm testcases list-testsets \
--project-key DEMO \
--test-case-id a1b2c3d4-0000-0000-0000-000000000001
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.
é 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 runpara executar casos de teste sob demanda diretamente de um pacote.testsets runpara 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
--project-key <key>— Test Manager chave do projeto (por exemplo,DEMO). Opcional se puder ser derivados do contexto.--test-case-id <uuid...>(necessário) — um ou mais UUIDs de casos de teste para executar, separados por espaço. Obter UUIDs detestcases list.--execution-type <type>(necessário) — tipo de execução:automated,manual,mixedounone.--name <name>nome de exibição para a execução.--asyncretornam imediatamente após a fila, sem esperar o servidor confirmar que a execução começou. 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 do host para o destino de execução.--service-user-name <name>— nome de usuário de serviço para o destino de execução.- — Matriz
[{"packageName":"Pkg","version":"1.0.0"}]--test-set-packages <json>
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 900000
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 900000
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 parauip 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çõestestcases runsã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. 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)
# 5. Block until done (timeout in ms — 15 minutes here)
uip tm wait \
--execution-id "$id" \
--project-key DEMO \
--timeout 900000
# 6. Read the result
uip tm report get --execution-id "$id" --project-key DEMO
# 7. Download JUnit XML for CI
uip tm result download \
--execution-id "$id" \
--project-key DEMO \
--result-path ./junit.xml
# 8. 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. 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)
# 5. Block until done (timeout in ms — 15 minutes here)
uip tm wait \
--execution-id "$id" \
--project-key DEMO \
--timeout 900000
# 6. Read the result
uip tm report get --execution-id "$id" --project-key DEMO
# 7. Download JUnit XML for CI
uip tm result download \
--execution-id "$id" \
--project-key DEMO \
--result-path ./junit.xml
# 8. 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 um ou mais casos de teste a um conjunto de testes existente.
Argumentos
Nenhum.
Opções
--test-set-key <key>necessário) — chave do objeto do conjunto de testes (por exemplo,DEMO:42).--test-case-keys <keys>(necessário) — chaves de caso de teste separadas por vírgulas a serem adicionadas (por exemplo,DEMO:1,DEMO:2).
Exemplo
uip tm testcases add \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2
uip tm testcases add \
--test-set-key DEMO:42 \
--test-case-keys DEMO:1,DEMO:2
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"
}
}
remoção de casos de teste uip tm
Remova um ou mais casos de teste de um conjunto de testes.
Argumentos
Nenhum.
Opções
--test-set-key <key>necessário) — chave do objeto do conjunto de testes (por exemplo,DEMO:42).--test-case-keys <keys>(necessá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
--project-key <key>(necessário) — possuindo projeto.--test-case-id <uuid>(necessá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
--project-key <key>(necessário) — possuindo projeto.--test-case-id <uuid>(necessá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
--project-key <key>(necessário) — possuindo projeto.--step-id <uuid>(necessário) — UUID da etapa de teste (desteps 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
--project-key <key>(necessário) — possuindo projeto.--test-case-id <uuid>necessá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": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
{
"Code": "TestStepAdd",
"Data": [
{
"Id": "d4e5f6a7-0000-0000-0000-000000000001",
"OrderNo": 0,
"Description": "Open login page",
"ExpectedResult": "Login form is displayed"
}
]
}
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
--project-key <key>(necessário) — possuindo projeto.--step-id <uuid>(necessá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
--project-key <key>(necessário) — possuindo projeto.--step-id <uuid>(necessário) — UUID da etapa de teste.--target-position <n>necessário) — nova posição baseada em 0 (0= primeira). Corresponde ao campoOrderNodesteps 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
--project-key <key>(necessário) — possuindo projeto.--step-id <uuid>(necessário) — UUID da etapa de teste.-y, --yesignore o prompt de confirmação. Necessário em ambientes não interativos.
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.
Esse verbo está registrado em testcaselog, não em testcases, mas está documentado aqui porque ele lê artefatos de asserção para o log de um caso de teste.
Argumentos
Nenhum.
Opções
--test-case-log-id <uuid>(necessário) — UUID do log do caso de teste. Obtenha-o deuip tm executions testcaselogs listouuip tm testcases list-result-history.--project-key <key>(necessário) — possuindo 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
Sinalize o início de uma entrada de log de caso de teste manual para um caso de teste específico dentro de uma execução.
Argumentos
Nenhum.
Opções
--execution-id <uuid>necessário) — a execução na qual o caso de teste está sendo executado.--test-case-id <uuid>exigido) — UUID interno do caso de teste que está sendo registrado.--execution-type <type>— tipo de execução para a entrada de log (por exemplo,automated,manual). Opcional.
Exemplo
uip tm testcaselog start \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--test-case-id b2c3d4e5-0000-0000-0000-000000000001
uip tm testcaselog start \
--execution-id a1b2c3d4-0000-0000-0000-000000000001 \
--test-case-id b2c3d4e5-0000-0000-0000-000000000001
Formato dos dados
{
"Code": "TestCaseLogStart",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Status": "InProgress"
}
}
{
"Code": "TestCaseLogStart",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Status": "InProgress"
}
}
Finalização do log de caso de teste do uip tm
Sinaliza o fim de uma entrada de log de caso de teste iniciada manualmente.
Argumentos
Nenhum.
Opções
--test-case-log-id <uuid>(necessário) — o ID de log retornado portestcaselog start.--info <text>erro opcional ou mensagem informativa a ser anexada à entrada de log.
Exemplo
uip tm testcaselog finish \
--test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
--info "Login button not found on page"
uip tm testcaselog finish \
--test-case-log-id c3d4e5f6-0000-0000-0000-000000000001 \
--info "Login button not found on page"
Formato dos dados
{
"Code": "TestCaseLogFinish",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Result": "Finished"
}
}
{
"Code": "TestCaseLogFinish",
"Data": {
"TestCaseLogId": "c3d4e5f6-0000-0000-0000-000000000001",
"Result": "Finished"
}
}
Relacionado
- 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
- Visão geral do Test Manager
uip or folders list— origem de--folder-keyparalist-automations.
- Resumo
- Criação de casos de teste do uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- lista de casos de teste uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- uip tm testcases list-result-history
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- atualização de casos de teste do uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- exclusão de casos de teste do uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- uip tm testcases link-automation
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- uip tm testcases unlink-automation
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- uip tm testcases lista-automações
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- uip tm testcases list-testsets
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- execução de casos de teste do uip tm
- Quando usar
testcases runvstestsets run - Argumentos
- Opções
- Exemplos
- Formato dos dados
- Fluxo de trabalho de ponta a ponta: empacotar para resultados
- Adicionar casos de teste uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- remoção de casos de teste uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- uip tm testcases list-steps
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- etapas de testcases do uip tm
- lista de etapas de casos de teste do uip tm
- etapas de testcases do uip tm obter
- etapas de testcases do uip tm adicionar
- Atualização de etapas de testcases do uip tm
- etapas de Testcases do uip tm mover
- exclusão de etapas de testcases do uip tm
- uip tm testcaselog list-assertions
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- Início do log de caso de teste do uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- Finalização do log de caso de teste do uip tm
- Argumentos
- Opções
- Exemplo
- Formato dos dados
- Relacionado
- Veja também