Saltar al contenido
Inicio
Docs/API Tester

API Tester

FreePro para Mock Server, Collection Runner y Load Testing

Cliente de API profesional integrado en el IDE. Habla REST, WebSocket, GraphQL, Server-Sent Events, gRPC (reflexión del servidor), Socket.IO y MQTT; gestiona colecciones jerárquicas espejadas como ficheros legibles en el proyecto abierto, historial con comparación de respuestas, ambientes con variables {{var}}, aserciones sin código más un motor JavaScript real y aislado, cookie jar persistente, mock server local y generación de código en 27 lenguajes.

Cómo se navega

Colecciones e Historial son pantallas propias, no pestañas de una "Biblioteca" común: una es lo que has guardado a propósito y la otra lo que has enviado. Ninguna lleva barra de título: se vuelve con el gesto del sistema.

Start

Donde abre el módulo: un botón principal de nueva petición con los siete protocolos debajo, y dos puertas —Colecciones e Historial— con su cuenta. Lo que siga conectado (un WebSocket abierto, una sesión MQTT viva) aparece como ficha para que no quede inalcanzable.

Request

Editor activo de la request actual: barra de URL, protocolo y entorno en la línea de contexto, y un conmutador Petición / Respuesta con pestañas Params, Headers, Body y Auth.

Collections

Colecciones jerárquicas (Collection → Folders → Requests) con búsqueda, renombrado y reorganización. "Guardar en el proyecto" espeja una colección como ficheros JSON legibles bajo .pocketcode/api/ para Git.

History

Histórico con filtros por método y starred, agrupación por fecha (Today / Yesterday / This week / Older), "Comparar con..." para un diff de respuesta real, y "Usar como mock" para convertir cualquier respuesta pasada en una ruta mock.

Runner

Ejecuta en lote todas las peticiones de una colección, con un informe visible de aciertos/fallos por iteración. Itera sobre un fichero de datos CSV o JSON, cada fila entra en la resolución de variables por encima del scope Collection. Pro.

Qué aspecto tiene

API Tester welcome screen
Inicio — nueva petición, Colecciones, Historial
Tools sheet
Herramientas — cada fila dice qué hay dentro y su estado
Environments sheet
Entornos — las fichas eligen, las tarjetas editan
Mock server sheet
Mock server — solo loopback, puerto y latencia
Collections screen
Colecciones — pantalla propia, sin barra de título
History screen
Historial — agrupado por día, filtro por método, comparar dos respuestas

Protocolos soportados

REST

8 métodos

GET · POST · PUT · PATCH · DELETE · HEAD · OPTIONS · TRACE. Cada método con color. Cliente HTTP robusto con timeouts configurables, cookie jar gestionado, follow redirects y verify SSL opcional.

WebSocket

WS

Conexión wss://, headers personalizados, subprotocolos. Estados (CONNECTING / CONNECTED / DISCONNECTED / ERROR). Historial tipo chat (sent / received). Auto-reconnect y plantillas de mensaje guardadas.

GraphQL

GQL

Editor de query, variables JSON, operation name. Fetch Schema con introspection. Schema explorer (types, fields, arguments). Soporte para queries, mutations y subscriptions.

SSE

Server-Sent Events

URL + headers personalizados. Timeline de eventos en tiempo real (id, event type, data, timestamp, retry). Filtro por tipo. Auto-reconnect con respeto al retry del servidor. Tracking de Last-Event-ID.

gRPC

reflexión

Descubre servicios y métodos por reflexión del servidor, sin fichero .proto. Solo llamadas unarias (los métodos de streaming se muestran deshabilitados, nunca ocultos). Escribe JSON, recibe JSON: las peticiones se construyen como DynamicMessage a partir de JSON, sin clases generadas ni formularios campo a campo.

Socket.IO

eventos

Conecta con namespace y auto-reconnect opcional. Añade oyentes para eventos con nombre y emite eventos con payload JSON — usa el cliente oficial socket.io-client-java. El registro tipo chat marca cada mensaje con el nombre de su evento.

MQTT

3.1.1 / 5.0

Cliente HiveMQ, conecta con o sin TLS (certificados del sistema) y con o sin usuario/contraseña. Suscríbete por topic con QoS 0/1/2, publica con QoS y retain. Mensajes agrupados por topic en el registro.

Editor de request por secciones

En móvil el editor son pestañas, no un acordeón: una barra de URL, una línea de contexto con el protocolo y el entorno, un conmutador Petición / Respuesta y las secciones en una fila de pestañas. Solo se tiñe el indicador de 2 dp bajo la pestaña activa —las secciones ya no llevan cada una su color—, así el color queda libre para lo único que importa aquí: el estado de una respuesta.

URL bar

Method chip (8 métodos), URL input monospace, send button con spinner, protocol selector (REST / WS / GQL / SSE).

Params

Query parameters con checkbox enable/disable por fila, contador de params activos.

Headers

Autocompletado de headers comunes (Content-Type, Accept, Authorization, Cache-Control, User-Agent…).

Body

10 tipos: None, JSON (con Beautify/Minify), Form URL-Encoded, Multipart (TEXT/FILE), Raw, XML, HTML, JavaScript, Binary, GraphQL.

Auth

10 tipos con disclosure progresivo (ver tabla abajo).

Assertions

Constructor de tests sin código: campo (status code, tiempo, header, JSONPath, tamaño del body) + operador (equals, contains, mayor/menor que, exists) + valor esperado. Se evalúan siempre, sin necesidad de script.

Scripts

Pre-request y test scripts reales en JavaScript, ejecutados en un proceso sandbox aislado (androidx.javascriptengine): un script que revienta no se lleva la app por delante. Cae a un aviso claro en consola en dispositivos sin WebView moderno; las aserciones declarativas de arriba siguen funcionando. Console output con niveles LOG/INFO/WARN/ERROR.

Settings

Timeout, follow redirects, verify SSL, enable cookies, encode URL, proxy, client certificate.

Tipos de autenticación

Comunes

None

—

Bearer

Token + prefix

Basic

Usuario + contraseña

API Key

Nombre + valor + ubicación (Header / Query)

Avanzados

OAuth2

Authorization Code · Client Credentials · Password · Implicit

Digest

realm · nonce · algorithm · qop · opaque

AWS Signature v4

accessKey · secretKey · region · service · sessionToken

Hawk

authId · authKey · algorithm · ext

NTLM

username · password · domain · workstation

Custom

Nombre + valor libre

Response panel

Estados Empty / Loading / Success / Error. Header con status chip coloreado por rango (2xx verde, 3xx azul, 4xx naranja, 5xx rojo), tiempo, tamaño, protocolo e IP remota.

Body
Headers
Cookies
Tests
Timeline
Console
  • •Body con vistas Pretty (formateado JSON/XML/HTML), Raw, Preview (HTML renderizado) y Tree (JSON colapsable)
  • •Timeline con DNS · TCP · TLS · TTFB · Content transfer
  • •Tests muestra los resultados tanto de las aserciones declarativas como del script de test en JavaScript
  • •Search dentro del body con resaltado de matches y jump to top/bottom
  • •Copy, Share, Save response, Redirect chain con cada URL y status
  • •Comparar con otra respuesta del historial: diff línea a línea del body más diff de cabeceras

Environments y variables

Variables interpoladas con sintaxis {{var}} en URL, headers, body, auth y cookies. Cada variable tiene scope (Global / Environment / Collection / Local) y puede marcarse como secret para ocultar el valor.

Multi-environment

Crear / eliminar / activar ambientes. Solo uno activo a la vez.

Globals

Variables globales visibles desde cualquier ambiente.

Secrets

Variables marcadas como secret ocultan su valor en la UI, en los logs y al exportar (cURL, snippets de código).

Variables dinámicas

{{$guid}} · {{$timestamp}} · {{$isoTimestamp}} · {{$randomInt}} · {{$randomEmail}} · {{$randomFirstName}} · {{$randomLastName}}

Precedencia de resolución

Dinámicas > fila del fichero de datos del Ejecutor > Colección > Entorno > Global

Free: 1 environment. Pro: ilimitados.

Colecciones como ficheros del proyecto

"Guardar en el proyecto" espeja una colección como un fichero JSON legible por petición bajo .pocketcode/api/<slug-de-la-colección>/ dentro del proyecto abierto — el mismo repositorio que ya tiene abierto el editor de código. Room sigue siendo la fuente de verdad: exportar regenera el directorio entero desde Room, e importar muestra una vista previa (colección nueva, o exactamente cuántas peticiones se reemplazarían) que confirmas a mano antes de tocar la base de datos. Nada se comitea automáticamente — confirma los ficheros con el gestor de Git de la propia app para conservar el cambio, igual que cualquier otro fichero del proyecto.

.pocketcode/api/<slug>/*.json

Un fichero legible por petición, nombrado con el slug del nombre de la petición. Se revisa en un pull request, con diff como cualquier otro fichero del repositorio.

Vista previa de importación, siempre

Muestra si es una colección nueva o un reemplazo, y el número exacto de peticiones, antes de escribir en la base de datos.

Mock Server

Pro

Servidor HTTP local en el dispositivo (puerto 8090 por defecto) con CRUD de rutas mock. Cada ruta define método, path con patrones (/users/:id), status code, headers, body, delay simulado y prioridad de matching.

  • •Toggle ON/OFF del servidor desde el sheet
  • •Log de requests entrantes (método, path, ruta matcheada, status, timestamp)
  • •Latencia configurable por ruta
  • •Headers y body de respuesta arbitrarios
  • •Generar rutas directamente desde un documento OpenAPI importado
  • •Grabar cualquier respuesta del historial como fixture del mock con un toque

Code Generator — 27 destinos

Convierte la request actual en código listo para pegar. Cada salida incluye imports, configuración de headers/body/auth y manejo básico de errores.

cURL
HTTPie
Wget
JS — Fetch
JS — Axios
JS — XHR
JS — jQuery
TS — Fetch
Python — requests
Python — http.client
Java — OkHttp
Java — HttpURLConnection
Java — HttpClient 11+
Kotlin — OkHttp
Kotlin — Ktor
Swift — URLSession
Go — net/http
PHP — cURL
PHP — Guzzle
Ruby — Net::HTTP
C# — HttpClient
C# — RestSharp
Rust — reqwest
Dart — http
R — httr
PowerShell

Import / Export

Import

  • • cURL
  • • Postman v2.1
  • • Insomnia
  • • OpenAPI 3.0 / Swagger
  • • HAR

Export

  • • cURL
  • • Postman v2.1
  • • Insomnia
  • • OpenAPI 3.0
  • • HAR
  • • Markdown

El cURL converter es bidireccional: parsea flags -X, -H, -d, --data-urlencode, -F, --data-binary, -u, --digest, --ntlm, --proxy, --connect-timeout, -k, -L, --max-redirs.

Hojas de herramientas

Todas abren extendidas, nunca a medias: son el formulario entero de una herramienta, no una ojeada a algo. Ninguna lleva botón de cerrar — el asa, el fondo y el gesto de volver ya lo hacen, y la esquina vale más para la acción de verdad de la hoja.

Environments

Ambientes y variables con interpolación

Cookies

Cookie jar persistente con badges Secure/HttpOnly

Import

Importar cURL, Postman, Insomnia, OpenAPI (JSON y YAML), HAR

Code Generator

Generar código en 27 lenguajes

Mock Server

Servidor HTTP local con rutas mock (Pro)

Settings

Timeout, redirects, SSL, cookies, proxy, cert

Tools

El botón junto al selector de entorno. Abre las cinco de debajo —Entornos, Mock Server, Cookies, Importar, Ajustes— cada una con una línea de qué hay dentro y, a la derecha, su estado: el entorno activo, el puerto del mock, cuántas cookies llevas.

Plan Free vs Pro

FuncionalidadFreePro
Protocolos REST / WS / GraphQL / SSE / gRPC / Socket.IO / MQTT✓✓
Editor completo (params, headers, body, auth, assertions, scripts)✓✓
Response panel completo (tabs, timeline, tests, diff)✓✓
Cookie jar✓✓
Import (cURL, Postman, Insomnia, OpenAPI, HAR)✓✓
Colecciones como ficheros del proyecto (.pocketcode/api/)✓✓
Code generator (27 destinos)✓✓
Collections1Ilimitadas
Environments y variables1Ilimitados
Request historyLimitadoIlimitado
Mock Server—✓
Ejecutor de colecciones (ficheros de datos, ejecución por lotes)—✓
Performance / Load testing—✓

Estadísticas del módulo

7

Protocolos

8

Métodos HTTP

10

Tipos de body

10

Tipos de auth

7

Hojas de herramientas

27

Destinos code-gen

6

Tabs de response

7

Variables dinámicas

Siguiente

Base de datos