REST API do executor de teste do Cloud Runner

  • Versão de lançamento: Washingtondc
  • Atualizado 6 de fev. de 2024
  • 9 min. de leitura
  • Gerencia os testes a serem executados em um executor na nuvem para o 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. O usuário deve ter pelo menos uma das seguintes funções para acessar esta API: administrador, administrador de teste de ATF, designer de teste de ATF ou designer de WS de ATF.

    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 REST API de geração de teste do Cloud Runner e REST API 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, em seguida, 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 - GET /now/sn_atf_tg/test_runner_progress

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

    Formato de 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
    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

    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

    Códigos de status

    Os códigos de status a seguir 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 da REST API.

    Tabela 6. Códigos de status
    Código de status Descrição
    200 Andamento do trabalho de 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 de 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 executor de teste ou uma mensagem explicando o motivo da falha da solicitação.

    Tipo de dados: objeto

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

    Ou:

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

    Tipo de dados: cadeia de caracteres

    resultado.andamento Uma porcentagem que indica o quão perto da conclusão um teste está enquanto estiver 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 a execução.
    • Processamento: a instância está verificando em busca de registros para garantir que os rastreadores de execução sejam marcados para o 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 é aprovado.

    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 - POST /now/sn_atf_tg/cancel_test_runner

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

    Formato de 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
    Tabela 8. Parâmetros de consulta
    Nome Descrição
    Nenhum
    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 de 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

    Códigos de status

    Os códigos de status a seguir 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 da 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 de 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 cancelamento de executor de teste 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" 
      } 
    } 

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

    curl "https://instance.service-now.com/api/now/sn_atf_tg/cancel_test_runner" \
    --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 "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\":\"invalid_sys_id\"}" \
    --user "username:password"

    Resposta:

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

    Executor de teste - 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 de 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
    Tabela 14. Parâmetros de consulta
    Nome Descrição
    Nenhum
    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

    Códigos de status

    Os códigos de status a seguir 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 da REST API.

    Tabela 18. Códigos de status
    Código de status Descrição
    200 Um trabalho de BOQ de executor de teste foi inserido com sucesso.
    400 Erro ao iniciar o trabalho de 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 do 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

    result.snboqId Sys_id do registro de 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 de executor de teste que foi inserido com sucesso.

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

    O exemplo a seguir retorna uma mensagem de erro 400 quando nenhum teste ou pacote de testes sys_id é aprovado.

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

    Resposta:

    {
      "result": {
        "message": "No Test ID passed in, add testId to request body"
      }
    }

    O exemplo a seguir retorna uma mensagem de erro 400 quando um teste ou pacote de testes sys_id inválido é aprovado.

    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\":\"invalid_test_id\"}" \
    --user "username:password"

    Resposta:

    {
      "result": {
        "message": "Unable to find test or test suite with Sys ID invalid_test_id"
      }
    }