Bird
Raised Fist0
Postmantesting~10 mins

x-www-form-urlencoded body in Postman - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test sends a POST request with an x-www-form-urlencoded body to an API endpoint and verifies the response status and body content.

Test Code - Postman
Postman
pm.test("POST request with x-www-form-urlencoded body", function () {
    pm.sendRequest({
        url: 'https://postman-echo.com/post',
        method: 'POST',
        header: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        body: {
            mode: 'urlencoded',
            urlencoded: [
                { key: 'username', value: 'testuser' },
                { key: 'password', value: 'testpass' }
            ]
        }
    }, function (err, res) {
        pm.expect(err).to.be.null;
        pm.expect(res).to.have.property('code', 200);
        const jsonData = res.json();
        pm.expect(jsonData.form).to.have.property('username', 'testuser');
        pm.expect(jsonData.form).to.have.property('password', 'testpass');
    });
});
Execution Trace - 5 Steps
StepActionSystem StateAssertionResult
1Test starts: Prepare POST request with x-www-form-urlencoded body containing username and passwordPostman environment ready to send request—PASS
2Send POST request to https://postman-echo.com/post with Content-Type header set to application/x-www-form-urlencodedRequest sent, waiting for response—PASS
3Receive response from serverResponse received with status code 200 and JSON bodyCheck response status code is 200PASS
4Parse JSON response body and verify form data contains username and password with correct valuesResponse JSON parsed: form data includes username='testuser' and password='testpass'Assert form.username == 'testuser' and form.password == 'testpass'PASS
5Test completes successfullyAll assertions passed, test finished—PASS
Failure Scenario
Failing Condition: Response status code is not 200 or form data does not contain expected username and password
Execution Trace Quiz - 3 Questions
Test your understanding
What header is essential to set when sending an x-www-form-urlencoded POST request?
AContent-Type: application/json
BContent-Type: application/x-www-form-urlencoded
CAccept: text/html
DAuthorization: Bearer token
Key Result
Always set the correct Content-Type header when sending form data and verify the server echoes back the expected form fields to ensure the request was processed correctly.

Practice

(1/5)
1. What does the x-www-form-urlencoded body type do in Postman?
easy
A. Sends data as plain text without encoding
B. Sends data as a JSON object in the request body
C. Uploads files as binary data
D. Sends form data as key-value pairs joined by '&' in the request body

Solution

  1. Step 1: Understand the body type purpose

    x-www-form-urlencoded sends form data as key-value pairs joined by '&' in the request body, similar to how HTML forms send data.
  2. Step 2: Compare with other body types

    JSON body sends data as JSON, binary uploads files, and plain text sends raw text. Only x-www-form-urlencoded uses key-value pairs joined by '&'.
  3. Final Answer:

    Sends form data as key-value pairs joined by '&' in the request body -> Option D
  4. Quick Check:

    Form data = key-value pairs & joined by '&' [OK]
Hint: Remember: form data uses key=value pairs joined by & [OK]
Common Mistakes:
  • Confusing x-www-form-urlencoded with JSON body
  • Thinking it uploads files
  • Assuming it sends raw text without encoding
2. Which of the following is the correct way to set a key-value pair in Postman's x-www-form-urlencoded body tab?
easy
A. key: value
B. key=value
C. key and value in separate columns
D. JSON format like {"key":"value"}

Solution

  1. Step 1: Check Postman UI for x-www-form-urlencoded

    In Postman, the x-www-form-urlencoded body tab shows two columns: one for keys and one for values.
  2. Step 2: Understand correct input format

    You enter keys and values separately in these columns; Postman encodes them automatically as key=value pairs joined by '&'.
  3. Final Answer:

    key and value in separate columns -> Option C
  4. Quick Check:

    Separate columns = correct input method [OK]
Hint: Use separate key and value columns in Postman body tab [OK]
Common Mistakes:
  • Typing key and value together with ':' or '=' manually
  • Trying to enter JSON in x-www-form-urlencoded tab
  • Not using the provided columns for input
3. Given the following key-value pairs in Postman's x-www-form-urlencoded body:
username: user1
password: pass@123
What will be the encoded request body sent?
medium
A. username=user1&password=pass%40123
B. username=user1,password=pass@123
C. {"username":"user1","password":"pass@123"}
D. username:user1&password:pass@123

Solution

  1. Step 1: Understand URL encoding in x-www-form-urlencoded

    Special characters like '@' are percent-encoded. '@' becomes '%40'. Keys and values are joined by '=', pairs joined by '&'.
  2. Step 2: Apply encoding to given data

    username=user1 (no special chars), password=pass@123 becomes password=pass%40123. Joined as username=user1&password=pass%40123.
  3. Final Answer:

    username=user1&password=pass%40123 -> Option A
  4. Quick Check:

    Special chars encoded, pairs joined by & [OK]
Hint: Encode special chars like '@' as %40 in form data [OK]
Common Mistakes:
  • Not encoding special characters
  • Using JSON format instead of form encoding
  • Using commas or colons instead of & and =
4. You set the x-www-form-urlencoded body in Postman with keys and values, but the server responds with a 400 Bad Request error. What is the most likely cause?
medium
A. You forgot to set the Content-Type header to application/x-www-form-urlencoded
B. You used JSON format in the body tab
C. You entered keys and values in separate columns
D. You used GET method instead of POST

Solution

  1. Step 1: Check Content-Type header requirement

    When sending x-www-form-urlencoded data, the Content-Type header must be set to application/x-www-form-urlencoded so the server knows how to parse the body.
  2. Step 2: Analyze common mistakes

    Using JSON format or entering keys correctly is fine if Content-Type is correct. Using GET method sends no body. The most common cause is missing or wrong Content-Type header.
  3. Final Answer:

    You forgot to set the Content-Type header to application/x-www-form-urlencoded -> Option A
  4. Quick Check:

    Content-Type header missing = 400 error [OK]
Hint: Always set Content-Type header for form data [OK]
Common Mistakes:
  • Not setting Content-Type header
  • Using wrong HTTP method
  • Entering data in wrong format
5. You want to send a login request using x-www-form-urlencoded body in Postman with keys username and password. The password contains spaces and special characters like pass word@123!. How should you prepare the body to ensure the server receives it correctly?
hard
A. Manually replace spaces with '%20' and special chars with percent codes before entering
B. Enter keys and values normally; Postman will encode spaces as '+' and special chars automatically
C. Use JSON body instead to avoid encoding issues
D. Replace spaces with underscores and remove special characters manually

Solution

  1. Step 1: Understand Postman's encoding behavior

    Postman automatically encodes spaces as '+' and special characters as percent-encoded values when using x-www-form-urlencoded body type.
  2. Step 2: Avoid manual encoding

    Manually encoding or altering the data can cause errors or double encoding. Using JSON body changes the content type and server parsing. Replacing characters manually is error-prone.
  3. Final Answer:

    Enter keys and values normally; Postman will encode spaces as '+' and special chars automatically -> Option B
  4. Quick Check:

    Postman auto-encodes form data correctly [OK]
Hint: Let Postman handle encoding; enter raw values normally [OK]
Common Mistakes:
  • Manually encoding values causing double encoding
  • Switching to JSON body unnecessarily
  • Altering data by removing or replacing characters
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