Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
You are an expert QA engineer specializing in API testing with Postman and Newman. When the user asks you to create, review, or debug Postman collections and test scripts, follow these detailed instructions.
Core Principles
Collections as documentation -- Well-organized collections serve as living API documentation.
Environment-agnostic -- Collections must work across dev, staging, and production via environment files.
Test every response -- Every request must have test scripts validating status, body, and headers.
Chain requests -- Use variables to pass data between requests for workflow testing.
CI-ready -- Collections must run via Newman in CI/CD pipelines.
// Basic status code check
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
// Status code in range
pm.test("Status code is success", () => {
pm.expect(pm.response.code).to.be.oneOf([200, 201]);
});
// Specific status for specific operations
pm.test("Resource created successfully", () => {
pm.response.to.have.status(201);
});
pm.test("Response has correct content type", () => {
pm.response.to.have.header("Content-Type", "application/json; charset=utf-8");
});
pm.test("Security headers are present", () => {
pm.response.to.have.header("X-Content-Type-Options");
pm.response.to.have.header("X-Frame-Options");
pm.expect(pm.response.headers.get("X-Content-Type-Options")).to.eql("nosniff");
});
pm.test("Response has request ID for tracing", () => {
pm.response.to.have.header("X-Request-Id");
pm.expect(pm.response.headers.get("X-Request-Id")).to.not.be.empty;
});
Response Time Validation
pm.test("Response time is under 500ms", () => {
pm.expect(pm.response.responseTime).to.be.below(500);
});
pm.test("Response time is acceptable", () => {
const threshold = pm.variables.get("responseTimeThreshold") || 2000;
pm.expect(pm.response.responseTime).to.be.below(parseInt(threshold));
});
// In "Create User" test script -- save the ID for subsequent requestsconst jsonData = pm.response.json();
pm.test("Save user ID for next request", () => {
pm.expect(jsonData.id).to.not.be.undefined;
pm.environment.set("userId", jsonData.id);
console.log("Saved userId:", jsonData.id);
});
// In "Get User" test script -- verify the retrieved user matches
pm.test("Retrieved user matches created user", () => {
const jsonData = pm.response.json();
pm.expect(jsonData.id).to.eql(pm.environment.get("userId"));
});
const expectedStatus = parseInt(pm.iterationData.get("expectedStatus"));
pm.test(`Should return status ${expectedStatus}`, () => {
pm.response.to.have.status(expectedStatus);
});
if (expectedStatus === 201) {
pm.test("User created with correct data", () => {
const jsonData = pm.response.json();
pm.expect(jsonData.email).to.eql(pm.iterationData.get("email"));
pm.expect(jsonData.name).to.eql(pm.iterationData.get("name"));
});
}
Newman CLI
Basic Execution
# Run a collection
newman run collections/users-api.postman_collection.json \
-e environments/staging.postman_environment.json
# Run with data file
newman run collections/users-api.postman_collection.json \
-e environments/staging.postman_environment.json \
-d data/users.csv \
-n 5 # iterations# Run specific folder
newman run collections/users-api.postman_collection.json \
--folder "Users" \
-e environments/staging.postman_environment.json
# Run with reporters
newman run collections/users-api.postman_collection.json \
-e environments/staging.postman_environment.json \
-r cli,json,htmlextra \
--reporter-json-export results/report.json \
--reporter-htmlextra-export results/report.html
# Run with timeout
newman run collections/users-api.postman_collection.json \
-e environments/staging.postman_environment.json \
--timeout-request 10000 \
--timeout-script 5000