Skip to content

xavier552/POSTMAN_REST-APIs

Repository files navigation

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░  ██████╗  ██████╗ ███████╗████████╗███╗   ███╗ █████╗ ███╗   ██╗ ░
░  ██╔══██╗██╔═══██╗██╔════╝╚══██╔══╝████╗ ████║██╔══██╗████╗  ██║ ░
░  ██████╔╝██║   ██║███████╗   ██║   ██╔████╔██║███████║██╔██╗ ██║ ░
░  ██╔═══╝ ██║   ██║╚════██║   ██║   ██║╚██╔╝██║██╔══██║██║╚██╗██║ ░
░  ██║     ╚██████╔╝███████║   ██║   ██║ ╚═╝ ██║██║  ██║██║ ╚████║ ░
░  ╚═╝      ╚═════╝ ╚══════╝   ╚═╝   ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝ ░
░              A P I   T E S T I N G   J O U R N E Y                ░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

🗂️ What's Inside

Postman_API_Testing/
│
├── 📁 collections/
│   ├── 📮 get-requests/          → GET method practice & assertions
│   ├── 📝 post-requests/         → POST with request body & validation
│   ├── ✏️  put-patch-requests/   → UPDATE operations
│   └── 🗑️  delete-requests/      → DELETE operations & status checks
│
├── 📁 environments/
│   ├── 🌍 dev-environment/       → Dev base URLs & variables
│   └── 🚀 prod-environment/      → Production environment setup
│
├── 📁 test-scripts/
│   ├── ✅ status-code-tests/     → 200, 201, 400, 401, 404, 500
│   ├── 🔍 response-body-tests/   → JSON field & value assertions
│   └── ⏱️  response-time-tests/  → Performance threshold checks
│
├── 📁 newman/                    → Newman CLI automation reports
│
└── 📄 README.md

📚 Topics Covered

📮
HTTP Methods
GET · POST · PUT
PATCH · DELETE

Status Codes
2xx · 3xx · 4xx · 5xx
200 · 201 · 400 · 401
404 · 500
🔍
Assertions
Status Code · Body
Headers · Response Time
JSON Schema
🌍
Environments
Variables · Globals
Dev · Staging · Prod
Dynamic Values
🔐
Authentication
Basic Auth · API Key
Bearer Token · OAuth 2.0
JWT
📦
Collections
Organizing Requests
Folders · Pre-request Scripts
Collection Runner
📝
Request Body
JSON · Form Data
Raw · Binary
GraphQL
⚙️
Pre-request Scripts
Dynamic Data
Token Generation
Setup Logic
🤖
Newman CLI
Automation · CI/CD
HTML Reports
Command Line Runs

💡 Sample Test Scripts

✅ Status Code Assertion

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

🔍 Response Body Assertion

pm.test("Response has user id", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.id).to.not.be.null;
    pm.expect(jsonData.name).to.eql("Xavier");
});

⏱️ Response Time Check

pm.test("Response time is less than 500ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(500);
});

🔐 Set Bearer Token Dynamically

var jsonData = pm.response.json();
pm.environment.set("auth_token", jsonData.token);

📈 Learning Progress

HTTP Methods (GET/POST)    ████████████████████  100% ✅
Status Code Testing        ████████████████████  100% ✅
PUT / PATCH / DELETE       ████████████████░░░░   80% 🔄
Response Body Assertions   ████████████████░░░░   80% 🔄
Environment Variables      ██████████████░░░░░░   70% 🔄
Authentication Testing     ████████████░░░░░░░░   60% 🔄
Pre-request Scripts        ██████████░░░░░░░░░░   50% 🔄
Collection Runner          ████████░░░░░░░░░░░░   40% 🔄
Newman CLI Automation      ██████░░░░░░░░░░░░░░   30% 🔄
CI/CD Integration          ████░░░░░░░░░░░░░░░░   20% 🔄

🛠️ Tools Used

Tool Purpose
📮 Postman API testing & collection management
🤖 Newman CLI runner for Postman collections
🌐 REST APIs Practice endpoints for testing
🐙 GitHub Version control & portfolio


👤 About Me

Xavier Varghese — Associate QA Engineer from India 🇮🇳

Learning API Testing with Postman to strengthen my QA skills and move towards full automation.

LinkedIn GitHub Email


About

Postman REST API testing practice — CRUD operations, variables (Collection · Global · Environment), data driven testing, collection runner, test scripts and Newman CLI automation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors