REST API do executor de teste do Cloud Runner

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 8 min. de leitura
  • Gerencia testes a serem executados em um executor na nuvem para Automated Test Framework (ATF).

    A API Cloud Runner Test Runner requer o plug-in ATF Test Generator and Cloud Runner (sn_atf_tg). Os métodos disponíveis com esta API são executados no namespace now e podem ser chamados usando o Nome da API, Teste de regressão de um clique para ATF, no Explorador de REST API. A função de administrador é necessária para acessar esta API.

    Você pode usar esta API para as seguintes tarefas:
    • Inicie um teste ATF ou pacote de testes no navegador do Cloud Runner.
    • Verifique o andamento do trabalho de teste.
    • Cancele o trabalho de teste.

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

    Para exibir a documentação de referência da API do servidor desta API, consulte Cloud Runner TestRunnerApi – Com escopo, global.

    Executor de teste do Cloud Runner - GET /now/sn_atf_tg/test_runner_progress

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

    Formato da URL

    URL padrão: GET /api/now/sn_atf_tg/test_runner_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 de BOQ do trabalho do executor de teste para obter o andamento. Localizado na tabela BOQ [sn_atf_tg_sn_boq].

    Tipo de dados: cadeia de caracteres

    Tabela 3. Parâmetros do corpo da solicitação (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/json ou 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 códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 6. Códigos de status
    Código de status Descrição
    200 Progresso do trabalho BOQ recuperado com sucesso.
    400 Erro ao obter o status do registro de BOQ. Retorna uma das seguintes mensagens:
    • Nenhum ID de BOQ passado – nenhum ID de BOQ foi fornecido. Adicione o ID de BOQ ao corpo da solicitação.
    • Não é possível encontrar o registro de BOQ – SYS ID inválido. Verifique se o sys_id do registro do 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 do executor de teste ou uma mensagem explicando por que a solicitação falhou.

    Tipo de dados: objeto

    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    Ou:

    {
      "result": { 
        "message": "String" 
      } 
    }
    resultado.mensagem Mensagem de erro detalhando por que o andamento do executor 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

    resultado.progresso Uma porcentagem que indica o quão perto da conclusão está um teste enquanto está em um estado em execução.

    Tipo de dados: número

    resultado.estado O status atual do registro de BOQ. Valores possíveis:
    • Pendente - a atividade de teste solicitada foi criada e está aguardando para ser executada.
    • Processamento – A instância está verificando registros para garantir que os rastreadores de execução sejam marcados para executor na nuvem antes que a solicitação seja enviada para a infraestrutura em nuvem.
    • Navegadores solicitados – uma solicitação foi enviada à infraestrutura em nuvem para iniciar navegadores para geração de teste ou execução de teste.
    • Em execução – Os navegadores de infraestrutura em nuvem localizam e executam testes pendentes.
    • Concluído – A tarefa de teste está concluída.
    • Estado de falha – A tarefa de teste falhou.

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    A solicitação a seguir recupera o andamento do trabalho do executor de teste do registro de BOQ.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_progress?snboqId=<sys_id of SNBOQ record>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    A resposta indica que o teste está 100% concluído.

    { 
      "result": { 
        "progress": 100, 
        "state": "completed" 
      } 
    }

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

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_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 é passado.

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

    Resposta:

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

    Executor de teste do Cloud Runner - POST /now/sn_atf_tg/cancel_test_runner

    Define o trabalho do executor de teste com o status concluído e cancela os rastreadores raiz de todos os testes gerados que estão em execução.

    Formato da URL

    URL padrão: GET /now/sn_atf_tg/cancel_test_runner

    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. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    snboqId Sys_id do registro de fila de orquestração do navegador (BOQ) (sn_atf_tg_sn_boq) associado ao trabalho do executor de teste a ser cancelado. Localizado na 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/json ou application/xml.

    Padrão: application/json

    Tipo de conteúdo Formato de dados do corpo da solicitação. Tipos compatíveis: application/json ou 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 códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 12. Códigos de status
    Código de status Descrição
    200 Bem-sucedido. A solicitação foi processada 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 de BOQ ao corpo da solicitação.
    • Não é possível encontrar o registro de BOQ – SYS ID inválido. Verifique se o sys_id do registro do 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.
    
      "result": { 
        "message": String
      }

    Tipo de dados: objeto

    resultado.mensagem Mensagem detalhando se o cancelamento do teste foi bem-sucedido.

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    O exemplo a seguir mostra como formar uma solicitação de executor de teste de cancelamento de acordo com o sys_id do registro de BOQ.

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

    A mensagem de resposta indicando que o executor de teste foi cancelado com sucesso.

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

    Executor de teste do Cloud Runner - POST /now/sn_atf_tg/test_runner

    Insere um trabalho de executor de teste na tabela BOQ [sn_atf_tg_sn_boq] para determinado teste ou pacote de testes, que é executado no executor na nuvem.

    Formato da URL

    URL padrão: POST api/now/sn_atf_tg/test_runner

    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. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    testId Sys_id do teste [sys_atf_test] ou pacote de testes [sys_atf_test_suite] a ser executado no executor na nuvem.

    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/json ou application/xml.

    Padrão: application/json

    Tipo de conteúdo Formato de dados do corpo da solicitação. Tipos compatíveis: application/json ou 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 códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 18. Códigos de status
    Código de status Descrição
    200 Um trabalho BOQ de executor de teste foi inserido com sucesso.
    400 Erro ao iniciar o trabalho do executor de teste. Retorna uma das seguintes mensagens:
    • Não é possível encontrar o teste ou pacote de testes com o SYS ID<testId> – ID de teste inválido. Certifique-se de que o registro do sys_id do teste (sys_atf_test) ou do pacote de testes (sys_atf_test_suite) seja válido e que o registro exista.
    • Nenhum ID de teste aprovado – nenhum ID de teste foi aprovado. Adicione o ID de teste ao corpo da solicitação.
    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" 
      } 
    }

    Ou:

    
      "result": { 
        "message": "String"
      }

    Tipo de dados: objeto

    resultado.snboqId Sys_id do registro BOQ que é inserido quando o executor de teste é iniciado. Localizado na tabela BOQ [sn_atf_tg_sn_boq].
    resultado.mensagem Mensagem de erro detalhando por que o executor de teste não pode ser iniciado.

    Solicitação de cURL

    A solicitação a seguir insere um trabalho de executor de teste na tabela BOQ [sn_atf_tg_sn_boq].

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_runner" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"testId\":\"<sys_id of ATF test or test suite>\"}" \ 
    --user "username:password"

    O corpo da resposta retorna o sys_id do trabalho do executor de teste que foi inserido com sucesso.

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