Sure, you can send two post requests in a single test block with @playwright/test. It has a built-in request fixture that respects configuration options like baseURL or extraHTTPHeaders.
Here's how you can do it:
First, define two separate tests within the same test block. Each test should contain its own post request with unique data for each issue type. For example, one post request could be for a bug report and another for a feature request.
import { test } from '@playwright/test';
test('create issues', async ({ request }) => {
const bugReport = await request.post('https://ray.run/api/bug-report', { json: { title: 'Bug report' } });
const featureRequest = await request.post('https://ray.run/api/feature-request', { json: { title: 'Feature request' } });
// Assertions to verify the success of the requests
expect(bugReport.ok()).toBeTruthy();
expect(featureRequest.ok()).toBeTruthy();
});
After sending both requests, use assertions to verify their success. Check if each response was ok() and then use expect.objectContaining() to ensure the expected data was returned.
Remember, when making multiple requests within a single test block, keep them logically related to avoid unnecessary complexity.
For more insights on efficient testing with Playwright, check out Tips for Writing Efficient Playwright Test Scripts.
If you still have questions, please ask a question and I will try to answer it.
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].