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

  • Versão de lançamento: Washingtondc
  • Atualizado 6 de fev. de 2024
  • 14 min. de leitura
  • Gerencia os trabalhos do usuário de teste a serem executados em um executor na nuvem para o Automated Test Framework (ATF).

    A API do usuário de teste do Cloud 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 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 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 TestUserApi do executor na nuvem – com escopo, global.

    Usuário de teste - 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 do Navegador (BOQ) fornecido.

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

    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 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 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.
    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    Ou:

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

    Tipo de dados: objeto

    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

    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" 
      } 
    }

    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/test_user_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 "https://instance.service-now.com/api/now/sn_atf_tg/test_user_progress?snboqId=invalid_sys_id" \
    --request GET \
    --header "Accept:application/json" \
    --user "username:password"

    Resposta:

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

    Usuário de teste - 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,
    • São somente serviços da web

    Formato de 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
    Tabela 8. Parâmetros de consulta
    Nome Descrição
    username 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,
    • São somente serviços da web

    Se alguma dessas condições falhar, a API retornará um booliano falso com uma mensagem sobre qual critério falhou.

    Tipo de dados: cadeia de caracteres

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

    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 Retorna verdadeiro ou falso se o usuário for válido e atender aos critérios do usuário da 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

    result.validUser 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 - 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 de 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
    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
    username 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

    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 usuário de teste foi 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 da mensagem não é retornado em uma resposta bem-sucedida.

    Tipo de dados: cadeia de caracteres

    result.snboqId Sys_id do registro de BOQ que é 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 de 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 - POST /now/sn_atf_tg/cancel_test_user

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

    Formato de 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
    Tabela 20. Parâmetros de consulta
    Nome Descrição
    Nenhum
    Tabela 21. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    snboqId Obrigatório. Sys_id do registro de 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

    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 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 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 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-sucedido:

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

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

    curl "http://localhost:8080/api/now/sn_atf_tg/cancel_test_user" \
    --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://localhost:8080/api/now/sn_atf_tg/cancel_test_user" \
    --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"
      }
    }

    Usuário de teste - 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 futuras execuções de teste e gerações de teste.

    Formato de 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
    Tabela 26. Parâmetros de consulta
    Nome Descrição
    Nenhum
    Tabela 27. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    username Obrigatório. Nome de usuário do sys_user para testar e definir o usuário da nuvem para futuros executores de teste e trabalhos de 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

    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 30. Códigos de status
    Código de status Descrição
    200 Testou com sucesso a infraestrutura de executor na nuvem de ponta a ponta e definiu o usuário da nuvem para futuros testes de execução e geração de teste.
    400 Erro ao testar a infraestrutura completa do executor na nuvem e 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 de 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 futuras execuções de teste e gerações de teste na infraestrutura de 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" 
      } 
    }

    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/select_cloud_user" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{\"username\":\"invalid_username\"}" \
    --user "username:password"

    Resposta:

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