Bird
Raised Fist0
Postmantesting~10 mins

Dynamic URL building in Postman - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to insert the base URL variable in the request URL.

Postman
pm.sendRequest(`$[1]/users`, function (err, res) {
    pm.expect(err).to.be.null;
    pm.expect(res).to.have.property('code', 200);
});
Drag options to blanks, or click blank then click option'
Apm.environment.get('baseUrl')
Bpm.variables.get('baseUrl')
Cpm.request.url
Dpm.response.json()
Attempts:
3 left
💡 Hint
Common Mistakes
Using pm.variables.get() instead of pm.environment.get() for environment variables.
Using pm.request.url which is the current request URL, not the base URL.
Trying to get the URL from the response.
2fill in blank
medium

Complete the code to build a dynamic URL with a user ID path parameter.

Postman
const userId = pm.environment.get('userId');
const url = `$[1]/users/${userId}`;
pm.sendRequest(url, function (err, res) {
    pm.expect(res).to.have.property('code', 200);
});
Drag options to blanks, or click blank then click option'
Apm.request.url
Bpm.variables.get('userId')
Cpm.response.json()
Dpm.environment.get('baseUrl')
Attempts:
3 left
💡 Hint
Common Mistakes
Using pm.variables.get('userId') for the base URL instead of userId variable.
Using pm.request.url which is the current request URL, not the base URL.
Not using template literals correctly.
3fill in blank
hard

Fix the error in the code to correctly append query parameters to the URL.

Postman
const baseUrl = pm.environment.get('baseUrl');
const params = new URLSearchParams();
params.append('status', 'active');
const url = baseUrl + '/users?[1]';
pm.sendRequest(url, function (err, res) {
    pm.expect(res).to.have.property('code', 200);
});
Drag options to blanks, or click blank then click option'
Aparams
Bparams.toString()
Cparams.append()
Dparams.get()
Attempts:
3 left
💡 Hint
Common Mistakes
Appending the params object directly without converting to string.
Using params.append() which adds parameters but does not return a string.
Using params.get() which retrieves a value, not the whole query string.
4fill in blank
hard

Fill both blanks to build a URL with multiple query parameters dynamically.

Postman
const baseUrl = pm.environment.get('baseUrl');
const params = new URLSearchParams();
params.append('status', 'active');
params.append('role', [1]);
const url = baseUrl + '/users?[2]';
pm.sendRequest(url, function (err, res) {
    pm.expect(res).to.have.property('code', 200);
});
Drag options to blanks, or click blank then click option'
A'admin'
Bparams.toString()
Cparams
D'user'
Attempts:
3 left
💡 Hint
Common Mistakes
Using params object directly in the URL without converting to string.
Not quoting the role value string.
Using params instead of params.toString() for the URL.
5fill in blank
hard

Fill all three blanks to build a dynamic URL with path and query parameters.

Postman
const baseUrl = pm.environment.get([1]);
const userId = pm.environment.get('userId');
const params = new URLSearchParams();
params.append('active', [2]);
const url = `${baseUrl}/users/$[3]?${params.toString()}`;
pm.sendRequest(url, function (err, res) {
    pm.expect(res).to.have.property('code', 200);
});
Drag options to blanks, or click blank then click option'
A'baseUrl'
B'true'
CuserId
D'userId'
Attempts:
3 left
💡 Hint
Common Mistakes
Not quoting the environment variable name in get().
Using boolean true instead of string 'true' for query parameter.
Using string 'userId' instead of variable userId for path.

Practice

(1/5)
1. What is the main purpose of using dynamic URL building in Postman?
easy
A. To make URLs longer and more complex
B. To write URLs only once without any changes
C. To reuse URLs by inserting variables for flexibility
D. To avoid using variables in requests

Solution

  1. Step 1: Understand dynamic URL building

    Dynamic URL building means using variables to create flexible URLs that can change based on input.
  2. Step 2: Identify the benefit in Postman

    Using variables like {{variableName}} lets you reuse URLs easily without rewriting them for each test.
  3. Final Answer:

    To reuse URLs by inserting variables for flexibility -> Option C
  4. Quick Check:

    Dynamic URL building = reuse URLs with variables [OK]
Hint: Remember: variables make URLs flexible and reusable [OK]
Common Mistakes:
  • Thinking dynamic URLs make URLs longer
  • Believing variables are not needed in URLs
  • Confusing dynamic URLs with static URLs
2. Which of the following is the correct syntax to use a variable named userId in a Postman URL?
easy
A. /api/users/%userId%
B. /api/users/$userId
C. /api/users/{userId}
D. /api/users/{{userId}}

Solution

  1. Step 1: Recall Postman variable syntax

    Postman uses double curly braces {{variableName}} to insert variables in URLs.
  2. Step 2: Match syntax to options

    Only /api/users/{{userId}} uses {{userId}}, which is the correct Postman syntax.
  3. Final Answer:

    /api/users/{{userId}} -> Option D
  4. Quick Check:

    Postman variable syntax = {{variableName}} [OK]
Hint: Use double curly braces {{}} for variables in Postman URLs [OK]
Common Mistakes:
  • Using single braces or dollar signs instead of {{}}
  • Confusing Postman syntax with other languages
  • Forgetting to wrap variable names in curly braces
3. Given the environment variable baseUrl set to https://api.example.com and the request URL {{baseUrl}}/users/{{userId}} with userId set to 42, what is the final URL sent by Postman?
medium
A. https://api.example.com/users/42
B. https://api.example.com/users/{{userId}}
C. {{baseUrl}}/users/42
D. https://api.example.com/users/

Solution

  1. Step 1: Substitute environment variables

    Postman replaces {{baseUrl}} with its value https://api.example.com and {{userId}} with 42.
  2. Step 2: Build the final URL

    After substitution, the URL becomes https://api.example.com/users/42.
  3. Final Answer:

    https://api.example.com/users/42 -> Option A
  4. Quick Check:

    Variable substitution = final URL with values [OK]
Hint: Replace all {{variables}} with their values before sending [OK]
Common Mistakes:
  • Leaving variables unsubstituted in the URL
  • Mixing variable names or values
  • Ignoring environment variable settings
4. You wrote the URL {{baseUrl}/users/{{userId}} in Postman, but the request fails. What is the likely error?
medium
A. Missing closing curly brace for {{baseUrl}} variable
B. Using wrong variable name userId
C. Variables cannot be used in URLs
D. Postman does not support dynamic URLs

Solution

  1. Step 1: Check variable syntax carefully

    The URL has {{baseUrl} missing a closing brace, which breaks variable substitution.
  2. Step 2: Understand impact of syntax error

    Without proper braces, Postman cannot replace the variable, causing the request to fail.
  3. Final Answer:

    Missing closing curly brace for {{baseUrl}} variable -> Option A
  4. Quick Check:

    Correct variable syntax requires matching {{ and }} [OK]
Hint: Always count opening and closing braces in variables [OK]
Common Mistakes:
  • Forgetting to close curly braces
  • Assuming variable names are wrong without checking syntax
  • Believing variables can't be used in URLs
5. You want to build a URL in Postman that changes the endpoint based on a variable env which can be dev or prod. Which URL correctly uses dynamic URL building to select the environment?
hard
A. https://api.example.com/env/users
B. https://api.example.com/{{env}}/users
C. https://api.example.com/${env}/users
D. https://api.example.com/{env}/users

Solution

  1. Step 1: Identify correct variable syntax for environment

    Postman uses {{env}} to insert the variable value dynamically in the URL.
  2. Step 2: Confirm URL structure for environment selection

    Using https://api.example.com/{{env}}/users allows switching between dev or prod endpoints easily.
  3. Final Answer:

    https://api.example.com/{{env}}/users -> Option B
  4. Quick Check:

    Use {{variable}} to dynamically select URL parts [OK]
Hint: Use {{env}} to switch URL parts dynamically [OK]
Common Mistakes:
  • Using wrong variable syntax like ${env} or {env}
  • Hardcoding environment names instead of variables
  • Not placing variable in correct URL position