test: add file upload test case with popup handling (#29937)
https://github.com/microsoft/playwright/issues/29923 --------- Signed-off-by: Max Schmitt <max@schmitt.mx>
This commit is contained in:
parent
b158e4ef96
commit
93dc89fa1f
|
|
@ -37,6 +37,23 @@ it('should upload the file', async ({ page, server, asset }) => {
|
||||||
}, input)).toBe('contents of the file');
|
}, input)).toBe('contents of the file');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should upload a file after popup', async ({ page, server, asset, browserName }) => {
|
||||||
|
it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/29923' });
|
||||||
|
it.fixme(browserName === 'firefox');
|
||||||
|
await page.goto(server.PREFIX + '/input/fileupload.html');
|
||||||
|
{
|
||||||
|
const [popup] = await Promise.all([
|
||||||
|
page.waitForEvent('popup'),
|
||||||
|
page.evaluate(() => window['__popup'] = window.open('about:blank')),
|
||||||
|
]);
|
||||||
|
await popup.close();
|
||||||
|
}
|
||||||
|
const filePath = path.relative(process.cwd(), asset('file-to-upload.txt'));
|
||||||
|
const input = await page.$('input');
|
||||||
|
await input.setInputFiles(filePath);
|
||||||
|
expect(await page.evaluate(e => e.files[0].name, input)).toBe('file-to-upload.txt');
|
||||||
|
});
|
||||||
|
|
||||||
it('should upload large file', async ({ page, server, browserName, isMac, isAndroid, isWebView2, mode }, testInfo) => {
|
it('should upload large file', async ({ page, server, browserName, isMac, isAndroid, isWebView2, mode }, testInfo) => {
|
||||||
it.skip(browserName === 'webkit' && isMac && parseInt(os.release(), 10) < 20, 'WebKit for macOS 10.15 is frozen and does not have corresponding protocol features.');
|
it.skip(browserName === 'webkit' && isMac && parseInt(os.release(), 10) < 20, 'WebKit for macOS 10.15 is frozen and does not have corresponding protocol features.');
|
||||||
it.skip(isAndroid);
|
it.skip(isAndroid);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue