Skip to main content

api-testing

Generate and run REST API tests using Postman collections and Newman CLI. Use when asked to test APIs, verify endpoints, validate responses, or run Postman tests in CI. Use when this capability is needed.

Ir a la instalación

Datos de origen

Repositorio
tomevault-io/skills-registry
Última actividad en el origen
28 de abril de 2026 a las 22:53
Idioma detectado de SKILL.md
inglés
Estrellas
1
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
2 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
api-testing
description
Generate and run REST API tests using Postman collections and Newman CLI. Use when asked to test APIs, verify endpoints, validate responses, or run Postman tests in CI. Use when this capability is needed.
metadata
{"author":"aiqualitylab"}
# API Testing with Postman + Newman Generate API tests as Postman collections. Run them with Newman CLI. ## Setup ```bash npm install -g newman ``` ## Test Pattern Each request gets tests in the Tests tab: ```javascript // Assert status code pm.test("Status is 200", function () { pm.response.to.have.status(200); }); // Assert response body pm.test("Returns user name", function () { pm.expect(pm.response.json().name).to.eql("Test User"); }); // Assert response time pm.test("Response under 2s", function () { pm.expect(pm.response.responseTime).to.be.below(2000); }); // Validate schema pm.test("Matches schema", function () { pm.response.to.have.jsonSchema({ type: "object", required: ["id", "name", "email"], properties: { id: { type: "number" }, name: { type: "string" }, email: { type: "string" } } }); }); ``` ## Pass Data Between Requests Save a value from one response, use it in the next: ```javascript // In POST /users Tests tab — save created ID const id = pm.response.json().id; pm.environment.set("created_id", id); // In GET /users/{{created_id}} — it auto-resolves ``` ## Negative Tests ```javascript // Missing required field → expect 400 or 422 pm.test("Rejects missing field", function () { pm.expect(pm.response.code).to.be.oneOf([400, 422]); }); // No auth token → expect 401 pm.test("Rejects unauthorized", function () { pm.response.to.have.status(401); }); ``` ## Run with Newman ```bash # Basic run newman run collection.json # With environment newman run collection.json -e environment.json # Override variables newman run collection.json --env-var "base_url=https://staging.example.com" # Data-driven from CSV newman run collection.json -d testdata.csv # CI report newman run collection.json -r junit --reporter-junit-export report.xml ``` ## Guidelines - Use environment variables for `base_url` and secrets, never hardcode. - One assertion per `pm.test` block. - Assert status code first, then body. - Export collections as v2.1 format. --- > Converted and distributed by [TomeVault](https://tomevault.io/claim/aiqualitylab) — claim your Tome and manage your conversions. <!-- tomevault:4.0:skill_md:2026-04-13 -->
Ver en GitHub