Description
**Título:** Gerar massa de dados de usuário para testes automatizados
**Objetivo:**
Esta requisição realiza um GET em [https://randomuser.me/api/](https://randomuser.me/api/) para gerar, de forma dinâmica, dados de usuário que serão consumidos por outros testes da coleção. A resposta serve como massa de dados temporária para cenários de cadastro, autenticação e fluxo de compra.
**Scripts automáticos:**
**1)** Limpeza e definição de variáveis globais (Pré-requisição)
- Remove variáveis globais previamente definidas: schema, userAPIName, userAPIEmail, userAPIPassword.
- Define uma variável global "schema" (JSON Schema) para validação do contrato da resposta.
**2)** Extração de dados e status (Testes pós-resposta)
- Valida o código de status 200.
- Quando a resposta é 200, extrai e armazena nas variáveis globais:
- userAPIName: primeiro nome do usuário (results\[0\].name.first)
- userAPIEmail: email do usuário (results\[0\].email)
- userAPIPassword: senha do usuário (results\[0\].login.password)
- Executa a validação de contrato (schema) usando AJV. Em caso de falha, registra os erros no console e falha o teste.
**Estrutura esperada da resposta (exemplo):**
Exemplo simplificado do payload retornado pelo Random User API, com destaque para os campos extraídos:
{
"results": \[
{
"gender": "female",
"name": { "title": "Ms", "first": "Sthefany", "last": "Ricardo" },
"location": { /\* ... _/ },__"email": "_[<i>sthefany.ricardo@example.com</i>](https://mailto:sthefany.ricardo@example.com)_",__"login": {__"uuid": "...",__"username": "...",__"password": ""__},__/_ demais campos omitidos \*/
}
\],
"info": { "seed": "...", "results": 1, "page": 1, "version": "1.4" }
}
**Campos extraídos para uso posterior:**
- results\[0\].name.first -> userAPIName
- results\[0\].email -> userAPIEmail
- results\[0\].login.password -> userAPIPassword
**Regras de uso e observações:**
- Esta requisição não possui corpo (GET) e pode ser executada isoladamente para renovar a massa de dados.
- As variáveis globais definidas (userAPIName, userAPIEmail, userAPIPassword) ficam disponíveis em todo o workspace e podem ser referenciadas com {{userAPIName}}, {{userAPIEmail}} e {{userAPIPassword}}.
- Utilize essas variáveis em outros requests da coleção (ex.: cadastro de usuário, login, criação de carrinho/produto) para evitar dados estáticos e reduzir flakiness.
- Caso precise forçar novos dados, basta reenviar a requisição; novas credenciais aleatórias serão geradas.
**Validação automática do contrato (schema):**
- O schema JSON é carregado no pré-requisito e validado via AJV nos testes.
- Em caso de divergência com o contrato, os erros são exibidos no console do Postman e o teste "Validar o contrato (schema) retornado" falha, sinalizando problema de compatibilidade da API.
**Notas:**
- Esta requisição faz parte do fluxo de preparação de dados da coleção e deve ser executada antes dos cenários que dependem de credenciais dinâmicas.
Method
GET
URL
Mean time per request
98ms
Mean size per request
1.1KB
Total passed tests
3
Total failed tests
0
Status code
200
Tests
| Name | Pass count | Fail count |
| Status code is 200 | 1 | 0 |
| Capturar os dados de usuario retornados | 1 | 0 |
| Validar o contrato (schema) retornado | 1 | 0 |