Hey everyone!
I'm currently struggling with a scenario, where I'm forced to send a POST request with Content-Type
value of application/x-www-form-urlencoded
, concisely speaking, sending a form. However I have to send multiple values for a singular key, scope
. The Playwright documentation states that I can't pass an array as a value for a key within an object: https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-post-option-form
Additionally, using the same key name multiple times in an object will override previous values.
For instance, I want to achieve something like this while sending form data:
{
scope: "value1",
scope: "value2",
scope: "value3"
}
Given these constraints, how can I effectively send multiple values for the "scope" key?
This thread is trying to answer question "How can I send multiple values for a single key with APIRequestContext's POST and using Form?"
Related Ask AI answer for "How do I use APIRequestContext's POST method to send multiple values for a single key in @playwright/test?".
Sure, you can send multiple values for a single key using APIRequestContext
's post
method in @playwright/test. Here's how you can do it:
await request.post('https://ray.run/api/endpoint', {
form: {
key: ['value1', 'value2', 'value3'],
},
});
In this code snippet, we're sending three values (value1
, value2
, and value3
) for the parameter key
. The server will receive these as separate entries under the same parameter name.
To send multiple values, you just need to provide an array of values for a single key. Remember to use square brackets ([]
) after the parameter name in your object to indicate it's an array.
However, keep in mind that this method assumes that the server-side API endpoint can accept multiple values for a single key. Always check your API documentation or ask your backend team to ensure this method is compatible.
If you need more help, don't hesitate to ask!
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].