Bird
Raised Fist0
Postmantesting~8 mins

Raw body (text, XML) in Postman - Framework Patterns

Choose your learning style10 modes available
Framework Mode - Raw body (text, XML)
Folder Structure
postman-project/
├── collections/
│   └── api-requests.postman_collection.json  
├── environments/
│   ├── dev.postman_environment.json
│   ├── staging.postman_environment.json
│   └── prod.postman_environment.json
├── tests/
│   └── raw-body-tests.postman_collection.json
├── scripts/
│   └── pre-request-scripts.js
├── data/
│   └── test-data.json
└── README.md
    

This structure organizes Postman collections, environment files, test scripts, and test data separately for clarity and maintainability.

Test Framework Layers
  • Collections Layer: Contains API requests with raw body payloads (text, XML) defined in the request body tab.
  • Environment Layer: Holds environment variables like base URLs, credentials, and tokens for different deployment stages.
  • Scripts Layer: Includes pre-request and test scripts to set variables, validate responses, and handle dynamic data.
  • Data Layer: External JSON files for data-driven testing, feeding different raw body inputs into requests.
  • Tests Layer: Collections dedicated to automated tests verifying API behavior with raw body inputs.
Configuration Patterns

Use environment files to manage configuration:

  • Environments: Separate JSON files for dev, staging, and prod with variables like base_url, auth_token.
  • Raw Body Templates: Store raw XML or text payloads directly in the request body or as environment/global variables for reuse.
  • Dynamic Variables: Use Postman scripts to insert dynamic values into raw bodies before sending requests.
  • Secure Credentials: Keep sensitive data in environment variables, not hardcoded in raw bodies.
Test Reporting and CI/CD Integration
  • Run Postman collections via newman CLI tool to automate tests in CI/CD pipelines.
  • Generate HTML or JSON reports from newman runs to visualize pass/fail results.
  • Integrate with Jenkins, GitHub Actions, or GitLab CI to trigger tests on code changes.
  • Use environment variables in CI to switch between test environments automatically.
Best Practices
  • Keep raw body payloads readable and well-formatted (indent XML properly).
  • Use variables inside raw bodies to avoid duplication and ease maintenance.
  • Validate response content type and body structure in test scripts to ensure correct API behavior.
  • Separate environment-specific data from raw body content to keep tests portable.
  • Use data-driven testing by feeding multiple raw body inputs from external JSON files.
Self Check

Where in this folder structure would you add a new raw XML payload template to reuse in multiple requests?

Key Result
Organize Postman projects with clear separation of collections, environments, scripts, and data to manage raw body (text, XML) API tests effectively.

Practice

(1/5)
1. What is the main purpose of using the Raw body option in Postman when testing APIs?
easy
A. To send exact text or XML data as the request body
B. To automatically generate JSON data for the request
C. To create a graphical interface for the API
D. To validate the response status code

Solution

  1. Step 1: Understand Raw Body usage

    The Raw body option allows sending exact text or XML data in the request body without modification.
  2. Step 2: Compare with other options

    Other options like form-data or JSON editor do not send plain text or XML exactly as typed.
  3. Final Answer:

    To send exact text or XML data as the request body -> Option A
  4. Quick Check:

    Raw body = exact text/XML data [OK]
Hint: Raw body sends exact text or XML as is [OK]
Common Mistakes:
  • Confusing raw body with JSON auto-formatting
  • Thinking raw body generates data automatically
  • Using raw body to validate response codes
2. Which Content-Type header should you set in Postman when sending XML data in the Raw body?
easy
A. application/json
B. text/plain
C. multipart/form-data
D. application/xml

Solution

  1. Step 1: Identify correct Content-Type for XML

    XML data requires the Content-Type header to be application/xml so the server knows to parse XML.
  2. Step 2: Eliminate other options

    application/json is for JSON, text/plain is plain text, and multipart/form-data is for file uploads.
  3. Final Answer:

    application/xml -> Option D
  4. Quick Check:

    XML Content-Type = application/xml [OK]
Hint: Use application/xml header for XML raw body [OK]
Common Mistakes:
  • Using application/json for XML data
  • Omitting Content-Type header
  • Choosing text/plain for XML
3. Given this XML raw body sent in Postman:
<note>
  <to>Alice</to>
  <from>Bob</from>
  <message>Hello</message>
</note>

What will the server receive if the Content-Type is correctly set to application/xml?
medium
A. Plain text without any tags
B. A JSON object with keys 'to', 'from', and 'message'
C. The exact XML text as shown, including tags and content
D. An error because XML is not supported

Solution

  1. Step 1: Understand raw body with XML and Content-Type

    When raw XML is sent with Content-Type application/xml, the server receives the exact XML text including tags.
  2. Step 2: Eliminate other options

    The server does not convert XML to JSON automatically, nor strip tags or throw errors if XML is supported.
  3. Final Answer:

    The exact XML text as shown, including tags and content -> Option C
  4. Quick Check:

    Raw XML + application/xml = exact XML text [OK]
Hint: Raw XML with correct header sends exact XML text [OK]
Common Mistakes:
  • Assuming XML converts to JSON automatically
  • Thinking tags are removed in transmission
  • Believing server errors without checking support
4. You send this raw XML in Postman:
<user>
  <name>John</name>
  <age>30</age>
</user>

But the server returns a 400 Bad Request error. What is the most likely cause?
medium
A. The XML tags are invalid and malformed
B. Content-Type header is missing or incorrect
C. Raw body cannot send XML data
D. Postman does not support sending raw bodies

Solution

  1. Step 1: Check XML validity

    The XML tags are well-formed and valid, so the XML itself is not the issue.
  2. Step 2: Consider Content-Type header

    If the Content-Type header is missing or not set to application/xml, the server may reject the request with 400 error.
  3. Final Answer:

    Content-Type header is missing or incorrect -> Option B
  4. Quick Check:

    Missing/incorrect Content-Type causes 400 error [OK]
Hint: Always set Content-Type for XML raw body [OK]
Common Mistakes:
  • Blaming XML syntax without checking header
  • Thinking raw body cannot send XML
  • Assuming Postman lacks raw body support
5. You want to test an API that accepts plain text commands in the raw body. Which combination in Postman is correct to send the command START successfully?
hard
A. Set raw body to START and Content-Type to text/plain
B. Set raw body to {"command":"START"} and Content-Type to application/json
C. Set raw body to <command>START</command> and Content-Type to application/xml
D. Set raw body to START and Content-Type to application/xml

Solution

  1. Step 1: Identify data type expected by API

    The API expects plain text commands, so raw body should contain plain text like START.
  2. Step 2: Set matching Content-Type header

    For plain text, the Content-Type must be text/plain to inform the server correctly.
  3. Final Answer:

    Set raw body to START and Content-Type to text/plain -> Option A
  4. Quick Check:

    Plain text command needs text/plain header [OK]
Hint: Match raw body content with correct Content-Type header [OK]
Common Mistakes:
  • Sending plain text with JSON or XML headers
  • Wrapping plain text in JSON or XML tags unnecessarily
  • Using wrong Content-Type for plain text
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard