API REST do usuário de teste do executor na nuvem

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

    A API Cloud Runner Test User 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 o trabalho de teste do usuário.
    • Defina o usuário da nuvem.
    • Verifique se o usuário especificado é válido.
    • Verifique o andamento do trabalho de teste do usuário.
    • 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 TestUserApi – Com escopo, global.

    Usuário de teste do Cloud Runner - GET /now/sn_atf_tg/test_user_progress

    Fornece o status do trabalho do usuário de teste 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_user_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 usuário 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 do usuário de teste 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.
    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    Ou:

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

    Tipo de dados: objeto

    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

    O exemplo de solicitação a seguir mostra como verificar o andamento de um trabalho de usuário de teste.

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

    Corpo da resposta:

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

    Usuário de teste do Cloud Runner - GET /now/sn_atf_tg/is_valid_cloud_user

    Verifica se um usuário fornecido é um usuário de nuvem válido.

    Este método verifica se o usuário atende aos seguintes critérios:
    • Existe,
    • Está ativo,
    • Não está bloqueado,
    • Precisa de uma redefinição de senha,
    • É um administrador,
    • É somente leitura,
    • É somente serviços web

    Formato da URL

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

    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
    nome do usuário Obrigatório. Nome de usuário do sys_user para verificar se o usuário é aprovado nos seguintes critérios de linha de base.
    • Existe,
    • Está ativo,
    • Não está bloqueado,
    • Precisa de uma redefinição de senha,
    • É um administrador,
    • É somente leitura,
    • É somente serviços web

    Se alguma dessas condições falhar, a API retornará um booliano falso com uma mensagem sobre quais critérios falharam.

    Tipo de dados: cadeia de caracteres

    Tabela 9. 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 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

    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 Retorna verdadeiro ou falso se o usuário for válido e atender aos critérios do usuário de nuvem.
    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": { 
        "validUser": Boolean 
      }

    Tipo de dados: objeto

    resultado.Usuário válido Sinalizador que indica se o usuário atende aos critérios do usuário da nuvem. Quando verdadeiro, o usuário atende aos critérios.

    Tipo de dados: booliano

    Solicitação de cURL

    A solicitação a seguir verifica se o sys_user fornecido atende aos critérios para usar a funcionalidade de nuvem.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/is_valid_cloud_user?username=<username of sys_user to check>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    Corpo da resposta:

    { 
      "result": { 
        "validUser": <Boolean value indicating whether user is valid cloud user> 
      } 
    }

    Usuário de teste do Cloud Runner - POST /now/sn_atf_tg/test_user

    Insere um trabalho de usuário de teste na tabela BOQ [sn_atf_tg_sn_boq] para um determinado nome de usuário, que é executado no executor na nuvem.

    Formato da URL

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

    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
    nome do usuário Obrigatório. Nome de usuário do sys_user para testar a infraestrutura de ponta a ponta do executor na nuvem.

    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/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 Trabalho BOQ de usuário de teste inserido com sucesso.
    400 Erro ao iniciar o trabalho do usuário de teste.

    Se um nome de usuário vazio for fornecido ou um usuário não puder ser encontrado na tabela sys_user, o servidor emitirá um erro.

    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.mensagem Mensagem de erro detalhando por que o nome de usuário não pode ser atribuído a capacidades de teste. O parâmetro de mensagem não é retornado em uma resposta bem-sucedida.

    Tipo de dados: cadeia de caracteres

    resultado.snboqId Sys_id do registro de BOQ inserido quando o trabalho do usuário de teste é iniciado com sucesso. Localizado na tabela BOQ [sn_atf_tg_sn_boq].

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    O exemplo de solicitação a seguir mostra como inserir um trabalho de usuário de teste na tabela BOQ [sn_atf_tg_sn_boq] para um determinado nome de usuário.

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"username\":\"<username of sys_user to test cloud infrastructure>\"}" \ 
    --user "username:password"

    A resposta retorna um sys_id do registro BOQ que é inserido quando o trabalho do usuário de teste é iniciado.

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

    O exemplo a seguir retorna uma mensagem de erro 400 quando nenhum nome de usuário ou um nome de usuário inválido é passado.

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

    Resposta:

    {
      "result": {
        "message": "Unable to set cloud user as cloud user not valid"
      }
    }

    Usuário de teste do Cloud Runner - POST /now/sn_atf_tg/cancel_test_user

    Define como concluído o status do trabalho do usuário de teste na tabela Fila de Orquestração do Navegador (BOQ) [sn_atf_tg_sn_boq].

    Formato da URL

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

    Parâmetros de solicitação compatíveis

    Tabela 19. Parâmetros de caminho
    Nome Descrição
    Nenhum(a)
    Tabela 20. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 21. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    snboqId Obrigatório. Sys_id do registro BOQ a ser cancelado associado ao trabalho do usuário de teste. Localizado na tabela SNBOQ [sn_atf_tg_sn_boq].

    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 22. 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 23. 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 24. Códigos de status
    Código de status Descrição
    200 Trabalho de 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 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 usuário de teste foi bem-sucedido.

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    A solicitação a seguir demonstra como cancelar um trabalho de usuário de teste na tabela Fila de orquestração do navegador [sn_atf_tg_sn_boq].

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

    Corpo da resposta bem-sucedida:

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

    Usuário de teste do Cloud Runner - POST /now/sn_atf_tg/select_cloud_user

    Inicia um trabalho de usuário de teste de ponta a ponta no executor na nuvem. Se o usuário puder fazer login com a função de administrador, a propriedade do usuário da nuvem será padronizada para este usuário para simulações e gerações de testes futuras.

    Formato da URL

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

    Parâmetros de solicitação compatíveis

    Tabela 25. Parâmetros de caminho
    Nome Descrição
    Nenhum(a)
    Tabela 26. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 27. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    nome do usuário Obrigatório. Nome de usuário do sys_user para testar e definir o usuário da nuvem para futuros trabalhos de executor de teste e geração de teste.

    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 28. 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 29. 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 30. Códigos de status
    Código de status Descrição
    200 Testou com sucesso a infraestrutura do executor de nuvem de ponta a ponta e definiu o usuário da nuvem para futuros trabalhos de simulação e geração de teste.
    400 Erro ao testar a infraestrutura completa do executor na nuvem e ao definir o usuário da nuvem. Certifique-se de que o nome de usuário não esteja vazio ou que o usuário exista na tabela sys_user para um determinado nome de usuário.
    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 usuário foi selecionado com sucesso para execuções de teste futuras e gerações de teste na infraestrutura do executor na nuvem.

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    O exemplo a seguir mostra como solicitar que um usuário específico seja selecionado para simulações futuras e gerações de teste na infraestrutura do executor na nuvem.

    curl "https://instance.service-now.com/api/now/sn_atf_tg/select_cloud_user" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"username\":\"<username of sys_user to set as cloud user>\"}" \ 
    --user "username:password"

    O corpo da resposta retorna uma mensagem de sucesso indicando que o usuário da nuvem foi selecionado com sucesso para simulações e gerações.

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