REST API de geração de testes do Cloud Runner

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 10 min. de leitura
  • Gerencia a geração de trabalhos de teste a ser executada em um executor de nuvem para Automated Test Framework (ATF).

    . Geração de testes do executor na nuvem A API requer ATF Test Generator and Cloud Runner plug-in (sn_atf_tg). Os métodos disponíveis com esta API são executados no agora Namespace e pode ser chamado usando o Nome da API, Teste de regressão com um clique para ATF , No Explorador DA REST API. A função de administrador é necessária para acessar esta API.

    Você pode usar esta API para as seguintes tarefas:
    • Inicie o trabalho de geração de teste.
    • Verifique o andamento do trabalho de geração de teste.
    • Cancele o trabalho de geração de teste.

    . Geração de testes do executor na nuvem A API pode ser usada em conjunto com REST API do executor de testes do Cloud Runner e. REST API do usuário de teste do executor na nuvem. Por exemplo, você pode chamar a API de geração de testes para executar um teste e obter o andamento do teste na fila de orquestração do navegador (API de geração de TESTES DO Cloud Runner) e verificar o número de testes aprovados ou reprovados.

    Para exibir a documentação de referência da API do Server desta API, consulte Cloud Runner TestGenerationApi - com escopo, global.

    Geração de teste do Cloud Runner - OBTENHA /now/sn_atf_tg/test_generation_progress

    Fornece o status de cada teste gerado para um registro BOQ (Fila de Orquestração do Navegador) fornecido.

    Formato de URL

    URL padrão: GET /api/now/sn_atf_tg/test_generation_progress

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    Nenhum(a)
    Tabela 2. Parâmetros de consulta
    Nome Descrição
    SnboqId Obrigatório. O sys_id do registro BOQ do trabalho de geração de teste para obter o andamento.

    Tipo de dados: Cadeia de caracteres

    Tabela: BOQ [sn_atf_tg_sn_boq]

    Tabela 3. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .

    Tabela 6. Códigos de status
    Código do status Descrição
    200 Andamento do trabalho BOQ recuperado com sucesso.
    400 Erro ao obter o status do registro BOQ. Retorna uma das seguintes mensagens:
    • Nenhum ID de BOQ passado - Nenhum ID de BOQ foi fornecido. Adicione o ID DO BOQ ao corpo da solicitação.
    • Registro BOQ - SYS ID inválido. Verifique se o sys_id do registro BOQ é válido e se o registro existe.
    403 Erro ao conceder acesso do usuário ao endpoint. Certifique-se de que o usuário tenha a função de administrador.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    resultado Objeto que contém os resultados de andamento do trabalho de teste gerado ou uma mensagem explicando por que a solicitação falhou.

    Tipo de dados: Objeto

    "result": { 
        "testsSucceeded": Number, 
        "testsFailed": Number, 
        "testsPending": Number, 
        "testsInProgress": Number, 
        "testsSkipped": Number 
      } 
    }

    Ou:

    {
      "result": { 
        "message": "String" 
      } 
    }
    resultado.mensagem Mensagem de erro detalhando por que o andamento da geração de teste não pode ser recuperado. O parâmetro de mensagem não é retornado em uma resposta bem-sucedida.

    Tipo de dados: Cadeia de caracteres

    TestsSucceed Número de testes gerados aprovados.

    Tipo de dados: Número

    TestsFailed Número de testes gerados com falha.

    Tipo de dados: Número

    TestsPending Número de casos de uso que estão aguardando testes gerados.

    Tipo de dados: Número

    TestsEm andamento Número de casos de uso para os quais os testes são criados.

    Tipo de dados: Número

    Testsignorado Número de testes ignorados devido ao cancelamento do trabalho.

    Tipo de dados: Número

    Solicitação de curl

    A chamada GET a seguir retorna informações de andamento sobre testes gerados associados ao snboqId 1234.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_generation_progress?snboqId=1234" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username":"password"

    Saída:

    { 
      "result": { 
        "testsSucceeded": 0, 
        "testsFailed": 0, 
        "testsPending": 0, 
        "testsInProgress": 0, 
        "testsSkipped": 161 
      } 
    }

    O exemplo a seguir retorna uma mensagem de erro 400 quando nenhum ID de BOQ é aprovado.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation_progress" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    Resposta:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    O exemplo a seguir retorna uma mensagem de erro 400 quando um ID de BOQ inválido é aprovado.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation_progress?snboqId=invalid_sys_id" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    Resposta:

    {
      "result": {
        "message": "Invalid SNBOQ sys_id passed in"
      }
    }

    Geração de teste do Cloud Runner - POST /now/sn_atf_tg/cancel_test_generation

    Define o trabalho de geração de teste e seu registro de conjunto de atualizações associado para o status Concluído. Cancela os rastreadores raiz de todos os testes gerados que estão em execução. Se algum trabalho de teste estiver em andamento no cancelamento, este método definirá qualquer um dos registros de teste em andamento gerados como ignorado.

    Os testes podem falhar ou ser cancelados automaticamente devido a problemas de regras de negócio ou regras de controle de acesso (ACL). Exiba a tabela de testes gerada para obter mais detalhes sobre testes com falha ou cancelados.

    Formato de URL

    URL padrão: PUBLICAÇÃO /api/now/sn_atf_tg/cancel_test_generation

    Parâmetros de solicitação compatíveis

    Tabela 7. Parâmetros de caminho
    Nome Descrição
    Nenhum(a)
    Tabela 8. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 9. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    SnboqId Obrigatório. Sys_id do registro da Fila de Orquestração do Navegador (BOQ) a ser cancelado.

    Tipo de dados: Cadeia de caracteres

    Tabela: BOQ [sn_atf_tg_sn_boq]

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .

    Tabela 10. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tipo de conteúdo Formato de dados do corpo da solicitação. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tabela 11. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .

    Tabela 12. Códigos de status
    Código do status Descrição
    200 Trabalho BOQ cancelado com sucesso.
    400 Erro ao cancelar o trabalho. Retorna uma das seguintes mensagens:
    • Nenhum ID de BOQ passado - Nenhum ID de BOQ foi fornecido. Adicione o ID DO BOQ ao corpo da solicitação.
    • Registro BOQ - SYS ID inválido. Verifique se o sys_id do registro BOQ é válido e se o registro existe.
    403 Erro ao conceder acesso do usuário ao endpoint. Certifique-se de que o usuário tenha a função de administrador.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    resultado Objeto que contém os resultados da solicitação de cancelamento.

    Tipo de dados: Objeto

    "result": { 
        "message": "String"
    }
    resultado.mensagem Mensagem detalhando se o cancelamento do teste foi bem-sucedido.

    Tipo de dados: Cadeia de caracteres

    Solicitação de curl

    A solicitação a seguir cancela o trabalho de geração de teste de um registro BOQ especificado.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"snboqId\":\"<sys_id of BOQ record>\"}" \ 
    --user "username":"password"

    O corpo da resposta retorna uma mensagem de sucesso do cancelamento.

    { 
      "result": { 
        "message": "success" 
      } 
    }

    O exemplo a seguir retorna uma mensagem de erro 400 quando nenhum ID de BOQ é aprovado.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \
    --request POST \
    --header "Accept:application/json" \
    --user "username":"password"

    Resposta:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    O exemplo a seguir retorna uma mensagem de erro 400 quando um ID de BOQ inválido é aprovado.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/cancel_test_generation" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"snboqId\":\"invalid_sys_id\"}" \
    --user "username":"password"

    Resposta:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    Geração de teste do Cloud Runner - POST /now/sn_atf_tg/test_generation

    Insere um registro na tabela Fila de Orquestração do Navegador (BOQ) [sn_atf_tg_sn_boq] para iniciar um trabalho de teste.

    Formato de URL

    URL padrão: PUBLICAÇÃO /api/now/sn_atf_tg/test_generation

    Parâmetros de solicitação compatíveis

    Tabela 13. Parâmetros de caminho
    Nome Descrição
    Nenhum(a)
    Tabela 14. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 15. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    Catálogo EncodedQuery Consulta codificada que especifica em quais itens do catálogo gerar testes. O padrão de uma cadeia de caracteres vazia é todos os itens do catálogo. Para obter mais informações sobre como formar consultas codificadas, consulte Encoded query strings.

    Tipo de dados: Cadeia de caracteres

    e-mail Endereço de e-mail para alertar quando a geração de teste for concluída.

    Tipo de dados: Cadeia de caracteres

    MaxTestCount Número de testes gerais a serem gerados.

    Valores aceitos: Qualquer número entre 1 e 9999.

    Tipo de dados: Número

    Padrão: 9999

    MaxTestCountPerItem Número de testes a serem gerados por item do catálogo.

    Valores aceitos: Qualquer número entre 1 e 10.

    Tipo de dados: Número

    Padrão: 10

    MaxTestCountPerTable Número de testes a serem gerados por tabela.

    Valores aceitos: Qualquer número entre 1 e 10.

    Tipo de dados: Número

    Padrão: 10

    ScopeForGeneratingTests Necessário quando separateUpdateSetPerScopedefinido como falso. Sys_id do escopo no qual colocar todos os testes gerados.

    Tipo de dados: Cadeia de caracteres

    SeparateUpdateSetPerScope Sinalizador que indica se os testes gerados devem ser separados em respectivos pacotes, conjuntos de atualizações e escopos ou se os testes devem ser colocados em um pacote, conjunto de atualizações e escopo.
    Valores válidos:
    • Verdadeiro: Os testes são colocados em seu respectivo pacote e conjunto de atualizações de acordo com o escopo de cada tabela ou item do catálogo.
    • Falso: Todos os testes gerados são colocados no mesmo pacote, conjunto de atualizações e escopo. Se falso, scopeForGeneratingTestsé obrigatório na solicitação.

    Tipo de dados: Booliano

    Padrão: verdadeiro

    TestSuite Opcional. Define o nome do pacote de testes a ser criado por meio da geração de testes.

    Tipo de dados: Cadeia de caracteres

    Pacote gerado por ATF - <time_stamp>

    TableEncodedQuery Consulta codificada que especifica as tabelas nas quais gerar testes. O padrão de uma cadeia de caracteres vazia é todas as tabelas. Para obter mais informações sobre como formar consultas codificadas, consulte Encoded query strings.

    Tipo de dados: Cadeia de caracteres

    UserEncodedQuery Consulta codificada que especifica em quais usuários gerar testes. Uma entrada de cadeia de caracteres vazia é padronizada para todas as tabelas. Para obter mais informações sobre como formar consultas codificadas, consulte Encoded query strings.

    Tipo de dados: Cadeia de caracteres

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .

    Tabela 16. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tipo de conteúdo Formato de dados do corpo da solicitação. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tabela 17. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .

    Tabela 18. Códigos de status
    Código do status Descrição
    200 Trabalho BOQ de geração de teste inserido com sucesso. Todos os erros são mostrados nos logs de registro do BOQ durante o processamento. Padrão Todas as entradas geram o número máximo de testes para todas as tabelas e itens do catálogo de serviços.
    403 Erro ao conceder acesso do usuário ao endpoint. Certifique-se de que o usuário tenha a função de administrador.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    resultado Objeto que contém os resultados da solicitação.
    
      "result": { 
        "snboqId": String
      }

    Tipo de dados: Objeto

    SnboqId Sys_id do registro inserido na tabela sn_atf_tg_sn_boq quando a geração de teste é iniciada.

    Tipo de dados: Cadeia de caracteres

    Solicitação de curl

    O exemplo de solicitação a seguir inicia um novo trabalho de teste na instância sem parâmetros de solicitação e insere o trabalho na tabela BOQ.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --user "username":"password"

    Corpo da resposta:

    { 
      "result": { 
        "snboqId": <sys_id of newly inserted BOQ record> 
      } 
    }

    O exemplo de solicitação a seguir inicia um novo trabalho de teste com uma contagem máxima de testes de 2 e filtra os testes para a tabela Incidente e, em seguida, insere o trabalho na tabela BOQ.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_generation" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"maxTestCount\":\"2\",\"tableEncodedQuery\":\"name=incident\",\"testSuite\":\"Suite123\"}" \ 
    --user "username":"password"

    Corpo da resposta:

    { 
      "result": { 
        "snboqId": <sys_id of newly inserted BOQ record> 
      } 
    }