人偶的page.goto(url)失败,我想正常关闭页面/退出,以便我的其他JEST测试可以继续运行

时间:2018-08-02 01:59:40

标签: javascript selenium-chromedriver jestjs puppeteer google-chrome-headless

我有一个包含Jest和Puppeteer的测试套件,用于无头e2e测试。我进行了设置,因此运行“ npm test”将首先运行我的Puppeteer测试,然后再运行其余的测试。

假设URL不可用。例如没有互联网连接,或者我忘了提供服务。我想优雅地退出我的Puppeteer测试,而不会崩溃和燃烧。

page.goto('http://localhost:8000')
// above will fail and I want a way to know it failed to load that.

1 个答案:

答案 0 :(得分:0)

您可以使用try...catch来捕获page.goto()引发的任何错误。

然后,您可以使用page.close()和/或browser.close()优雅地结束Puppeteer:

try {
  await page.goto('http://localhost:8000');
} catch (error) {
  console.log(error.message);
  await page.close();
  await browser.close();
  process.exit(1);
}