Ejemplo Completo
Este ejemplo demuestra todas las características principales de Rext HTTP trabajando juntas en un escenario realista de testing de APIs.
El Archivo
Sección titulada «El Archivo»@configbaseUrl: https://api.example.comheaders: Content-Type: application/jsonassert: status >= 200
###@id a1b2c3@collection Auth@name LoginPOST /auth/login
{ "email": "{{email}}", "password": "{{password}}"}
@capture env.token = body.access_token@assert status == 200@assert body.token exists@assert duration < 2000
###@collection Auth@name Get Profile@pre a1b2c3GET /profileAuthorization: Bearer {{token}}
@assert status == 200@assert body.email exists@assert body.roles isArray@assert header.content-type contains jsonQué Sucede
Sección titulada «Qué Sucede»1. Se Aplica la Configuración
Sección titulada «1. Se Aplica la Configuración»baseUrlse establece comohttps://api.example.com- Todos los requests reciben
Content-Type: application/json - La aserción por defecto
status >= 200se agrega a cada request
2. Request de Login
Sección titulada «2. Request de Login»- La URL se resuelve a
https://api.example.com/auth/login {{email}}y{{password}}se resuelven del entorno activo- Después del éxito,
tokense captura y guarda en el scope de entorno - Las aserciones validan: status es 200, token existe, tiempo de respuesta < 2s
3. Request de Get Profile
Sección titulada «3. Request de Get Profile»@pre a1b2c3ejecuta el request de Login primero (si no se ha ejecutado ya){{token}}se resuelve del valor capturado- Las aserciones validan la respuesta del perfil
Archivo de Entorno
Sección titulada «Archivo de Entorno»El rext.env.json correspondiente:
{ "Development": { "email": "dev@example.com", "password": "dev-password" }, "Production": { "email": "admin@example.com", "password": "prod-password" }}Resumen de Características
Sección titulada «Resumen de Características»| Característica | Directivas Usadas |
|---|---|
| Configuración global | @config con baseUrl, headers, assert |
| Organización | @collection Auth, @name, @id |
| Flujo de autenticación | @pre a1b2c3 |
| Captura de respuesta | @capture env.token = body.access_token |
| Validación | Múltiples directivas @assert |
| Variables de entorno | {{email}}, {{password}}, {{token}} |
Próximos Pasos
Sección titulada «Próximos Pasos»- Regresa a la Introducción
- Explora las características individuales a fondo a través del sidebar