QA Academy Logo
← Back to Blog
🇦🇿 AZ🇬🇧 EN
API Testing July 28, 2026 12 min read

REST API Testing with Postman & Newman: Complete Automation Guide

In modern microservice architectures, user interfaces are merely the visual presentation layer. The fundamental business logic, data integrity, and transactions occur over RESTful APIs. This guide delivers actionable techniques for building robust API test automation suites with Postman and Newman.

1. REST API Architecture & Core HTTP Methods

Every RESTful interaction consists of 4 primary building blocks: Endpoint URL, HTTP Verb (GET, POST, PUT, DELETE, PATCH), Headers (Content-Type, Authorization), and the Payload Body.

GET: Read resource (200 OK)
POST: Create resource (201 Created)
PUT/PATCH: Update data (200/204)
DELETE: Remove resource (200/204)

2. Writing Automated Test Assertions in Postman

Postman executes JavaScript assertions in the Tests tab using the Chai assertion library:

// 1. Verify HTTP Status Code
pm.test("Status code is 200 OK", function () {
    pm.response.to.have.status(200);
});

// 2. Validate Response SLA (Latency below 500ms)
pm.test("Response time is under 500ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(500);
});

// 3. Deep Schema and Type Validation
pm.test("Verify user payload schema", function () {
    const data = pm.response.json();
    pm.expect(data).to.have.property("id");
    pm.expect(data.email).to.be.a("string");
    pm.expect(data.status).to.eql("active");
});

3. API Chaining & Dynamic Token Extraction

Automated workflows require chaining authentication tokens from login endpoints to subsequent requests:

// Inside /api/auth/login Tests tab:
const res = pm.response.json();
if (res.token) {
    pm.environment.set("authToken", res.token);
    pm.environment.set("userId", res.user.id);
    console.log("Token stored successfully in environment variable.");
}

4. Headless Execution with Newman in CI/CD

Execute your test collections directly inside terminal environments or continuous integration pipelines via Newman:

# Install Newman & HTML Extra Reporter
npm install -g newman newman-reporter-htmlextra

# Run Collection and Export Rich HTML Report
newman run QA_Academy_APIs.json   -e Production_Env.json   --reporters cli,htmlextra   --reporter-htmlextra-export ./reports/api_report.html

Frequently Asked Questions (FAQ)

Can Postman test SOAP and GraphQL APIs?

Yes, Postman natively supports GraphQL query execution and SOAP XML over HTTP POST requests.

What is the difference between Environment and Global variables?

Global variables are accessible across all collections, while Environment variables are scoped exclusively to the currently active environment (e.g., Staging vs Production).

How can I validate entire JSON schemas in Postman?

You can define a JSON Schema object and validate the response payload using the built-in `ajv` validator in the Tests tab.

Sabir Tahirli

Sabir Tahirli

Chapter Lead & QA Automation Specialist

Sabir Tahirli is Chapter Lead at Akart with 6+ years in QA engineering, specializing in REST API test automation with Postman, Newman, and CI/CD pipelines.