Estou ocupado testando uma API da web e estou tentando usar o Postman para automatizar isso.
Até onde posso ver, os scripts de teste no Postman estão sempre vinculados a uma única solicitação, então se eu quiser testar cenários diferentes para a mesma solicitação, eu teria que fazer uma cópia dessa solicitação para cada cenário, onde cada cópia tem um script de teste diferente. Isso é algo que eu gostaria de evitar.
Exemplo: Tenho uma solicitação que obtém um determinado recurso e quero testar com ou sem um token de acesso:
- Solicitação sem token de acesso: espera status 401
- Solicitação com um token de acesso válido: status esperado 200
Outro exemplo: eu crio um recurso no servidor e depois tento criar a mesma coisa novamente:
- Primeira vez: espere status 200
- Segunda vez: espere o status 409
Encontrei algumas perguntas relacionadas, mas todas parecem envolver muito script, onde você está basicamente escrevendo seu próprio ambiente de execução de testes. Como desenvolvedor, não me importo em escrever scripts, mas neste caso gostaria de me concentrar em escrever testes reais.
Então minha pergunta é: o Postman pode fazer isso ou talvez não seja a melhor ferramenta para esse trabalho?
Você não precisa fazer várias cópias de nenhuma solicitação. Simplesmente adapte seus scripts de pós-resposta a todos os casos necessários.
Defina uma variável de coleção que indique o status da criação, se a primeira solicitação foi bem-sucedida:
E no início do script leia o valor para alterar o fluxo:
Ligue para a solicitação duas vezes.
Caso similar ao acima, mas use
{{accessToken}}
a sintaxe para representaraccessToken
a variável de coleção no cabeçalho ou corpo da requisição. Então, verifique no script de pós-resposta se a var estava vazia, separando da mesma forma ambos os casos e testando o código de resposta correto.Em seguida, execute a solicitação com o válido
accessToken
inserido e com ele esvaziado.Caso você não saiba como automatizar os dados, aqui está a documentação . TLDR: no coletor de dados use um arquivo de dados JSON como este: