test: puppeteer auto close

This commit is contained in:
DIYgod
2019-06-13 18:37:55 +08:00
parent 510c849da7
commit 749ede3af8
2 changed files with 8 additions and 5 deletions

View File

@@ -18,10 +18,10 @@ module.exports = async () => {
browser = await puppeteer.launch(options); browser = await puppeteer.launch(options);
} }
setTimeout(async () => { setTimeout(async () => {
if ((await browser.process()).signalCode) { if ((await browser.process()).exitCode === null) {
browser.close(); browser.close();
} }
}, 5000); }, 10000);
return browser; return browser;
}; };

View File

@@ -1,10 +1,11 @@
const puppeteer = require('../../lib/utils/puppeteer'); const puppeteer = require('../../lib/utils/puppeteer');
const wait = require('../../lib/utils/wait');
describe('puppeteer', () => { describe('puppeteer', () => {
it('puppeteer run', async () => { it('puppeteer run', async () => {
const browser = await puppeteer(); const browser = await puppeteer();
const page = await browser.newPage(); const page = await browser.newPage();
await page.goto('https://github.com/DIYgod/RSSHub', { await page.goto('https://www.google.com', {
waitUntil: 'domcontentloaded', waitUntil: 'domcontentloaded',
}); });
@@ -12,6 +13,8 @@ describe('puppeteer', () => {
const html = await page.evaluate(() => document.body.innerHTML); const html = await page.evaluate(() => document.body.innerHTML);
expect(html.length).toBeGreaterThan(0); expect(html.length).toBeGreaterThan(0);
await browser.close(); expect((await browser.process()).exitCode).toBe(null);
}, 10000); await wait(10 * 1000);
expect((await browser.process()).exitCode).toBe(0);
}, 20000);
}); });