test: add debugging output for downloads tests (#5673)

This commit is contained in:
Andrey Lushnikov 2021-03-01 17:52:45 -08:00 committed by GitHub
parent f925a033e2
commit 850e3c5aa3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -45,15 +45,20 @@ fixtures.persistentDownloadsContext.init(async ({ server, launchPersistent, test
res.setHeader('Content-Disposition', 'attachment; filename=file.txt');
res.end(`Hello world`);
});
console.log('--- launching persistent context ---');
const { context, page } = await launchPersistent(
{
downloadsPath: testInfo.outputPath(''),
acceptDownloads: true
}
);
console.log('--- setting content for the page ---');
await page.setContent(`<a href="${server.PREFIX}/download">download</a>`);
console.log('--- launching test ---');
await test(context);
console.log('--- closing context ---');
await context.close();
console.log('--- DONE ---');
});
const { it, expect } = fixtures.build();
@ -99,25 +104,49 @@ it('should report downloads in downloadsPath folder', async ({downloadsBrowser,
});
it('should accept downloads in persistent context', async ({persistentDownloadsContext, testInfo, server}) => {
console.log('----- 1.1');
const page = persistentDownloadsContext.pages()[0];
console.log('----- 1.2');
const [ download ] = await Promise.all([
page.waitForEvent('download'),
page.click('a')
page.waitForEvent('download').then(d => {
console.log('----- 1.3');
return d;
}),
page.click('a').then(d => {
console.log('----- 1.4');
}),
]);
console.log('----- 1.5');
expect(download.url()).toBe(`${server.PREFIX}/download`);
console.log('----- 1.6');
expect(download.suggestedFilename()).toBe(`file.txt`);
console.log('----- 1.7');
const path = await download.path();
console.log('----- 1.8');
expect(path.startsWith(testInfo.outputPath(''))).toBeTruthy();
console.log('----- 1.9');
});
it('should delete downloads when persistent context closes', async ({persistentDownloadsContext}) => {
console.log('----- 2.1');
const page = persistentDownloadsContext.pages()[0];
console.log('----- 2.2');
const [ download ] = await Promise.all([
page.waitForEvent('download'),
page.click('a')
page.waitForEvent('download').then(d => {
console.log('----- 2.3');
return d;
}),
page.click('a').then(() => {
console.log('----- 2.4');
}),
]);
console.log('----- 2.5');
const path = await download.path();
console.log('----- 2.6');
expect(fs.existsSync(path)).toBeTruthy();
console.log('----- 2.7');
await persistentDownloadsContext.close();
console.log('----- 2.8');
expect(fs.existsSync(path)).toBeFalsy();
console.log('----- 2.9');
});