test: use new browser context for every page test (#3010)

This allows us:
- dogfood browser contexts the way we want them to be used
- simplifies the dance around service workers / cookies setting up and tier down.
This commit is contained in:
Andrey Lushnikov
2018-08-01 15:49:41 -07:00
committed by GitHub
parent 9c96a9283f
commit 0c49bf5245
5 changed files with 87 additions and 58 deletions

View File

@@ -282,6 +282,21 @@ module.exports.addTests = function({testRunner, expect, PROJECT_ROOT, defaultBro
});
});
describe('Browser target events', function() {
it('should work', async({server}) => {
const browser = await puppeteer.launch(defaultBrowserOptions);
const events = [];
browser.on('targetcreated', () => events.push('CREATED'));
browser.on('targetchanged', () => events.push('CHANGED'));
browser.on('targetdestroyed', () => events.push('DESTROYED'));
const page = await browser.newPage();
await page.goto(server.EMPTY_PAGE);
await page.close();
expect(events).toEqual(['CREATED', 'CHANGED', 'DESTROYED']);
await browser.close();
});
});
describe('Browser.Events.disconnected', function() {
it('should be emitted when: browser gets closed, disconnected or underlying websocket gets closed', async() => {
const originalBrowser = await puppeteer.launch(defaultBrowserOptions);