在自动化我的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,所以我要动态调用它们。
任何线索,我在这里错过了什么?