test: send cookies via an embedded iframe (#17036)

This commit is contained in:
Max Schmitt 2022-09-02 20:00:55 +02:00 committed by GitHub
parent 3548f3f898
commit 8f1f4946bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -320,3 +320,32 @@ it('should add cookies with an expiration', async ({ context }) => {
expires: -42,
}])).rejects.toThrow(/Cookie should have a valid expires/);
});
it('should be able to send third party cookies via an iframe', async ({ browser, httpsServer, browserName }) => {
it.fixme(browserName === 'firefox' || browserName === 'webkit');
it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/16937' });
const context = await browser.newContext({
ignoreHTTPSErrors: true,
});
try {
const page = await context.newPage();
await page.goto(httpsServer.EMPTY_PAGE);
await context.addCookies([{
domain: new URL(httpsServer.CROSS_PROCESS_PREFIX).hostname,
path: '/',
name: 'cookie1',
value: 'yes',
httpOnly: true,
secure: true,
sameSite: 'None'
}]);
const [response] = await Promise.all([
httpsServer.waitForRequest('/grid.html'),
page.setContent(`<iframe src="${httpsServer.CROSS_PROCESS_PREFIX}/grid.html"></iframe>`)
]);
expect(response.headers['cookie']).toBe('cookie1=yes');
} finally {
await context.close();
}
});