从p操纵者运行灯塔报告时出错

时间:2020-09-14 11:55:24

标签: javascript puppeteer google-chrome-headless lighthouse

在自动化我的Web应用程序时,我想运行灯塔并为各个页面生成各种性能指标,例如,一个前启动页面,一个登录后的页面等等,但是我遇到以下错误,

Error: connect ECONNREFUSED 127.0.0.1:9222
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 9222,
  friendlyMessage: undefined
}

我的示例代码:

const puppeteer = require('puppeteer');
const select = require('puppeteer-select');
const devices = puppeteer.devices;
const lighthouse = require('lighthouse');
const reportGenerator = require('lighthouse/lighthouse-core/report/report-generator');
const inputFiles = require("./config/config");
const userNamePage = require('./mySitePages/userName.page');
const passwordPage = require('./mySitePages/password.page');
const chromeLauncher = require('chrome-launcher');
const config = require('./config/config');



(async () => {
    const launchOptions = {
      headless: false,
      executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
      args: ['--start-maximized', '--disable-web-security', '--disable-features=IsolateOrigins,site-per-process']
    };
    const browser = await puppeteer.launch(launchOptions);
    const url = `${config.application_url_1}`;
    const page = await browser.newPage();
    const options = {
        logLevel: 'info',
        disableDeviceEmulation: true,
        chromeFlags: ['--disable-mobile-emulation']
      };

    try {
        await page.goto(url);
        const {lhr}  = await lighthouse(page.url());
        console.log(`Lighthouse scores: ${Object.values(lhr.categories).map(c => c.score).join(', ')}`);
        await userNamePage.enterUserName(page, inputFiles.mySiteUserName)

    }
    catch (error) {
        console.error(error);
      }
      finally {
        await page.waitFor(10000);
        console.log("Closing the browser session")
        await browser.close();
      }
    })();   

原因是我要在URL中发送page.url(),因为我在不同页面中会有不同的URL,所以我要动态调用它们。

任何线索,我在这里错过了什么?

0 个答案:

没有答案