javascript - Node Lighthouse 没有返回类似的可访问性结果
问题描述
不确定我是否做错了什么或缺少配置设置,但是当我在 Chrome 扩展程序中运行 LH 时,我的页面收到 94,但是当我在节点 LH 中运行同一页面时,我得到 88。我想出了运行它作为台式机与移动设备,但我不确定我还缺少什么来获得相同或更相似的分数。
我当前的代码
const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']});
const options = {logLevel: 'info', output: 'html', onlyCategories: ['accessibility'], port: chrome.port};
// emulatedFormFactor:'desktop'
const config = { extends: 'lighthouse:default', settings: {formFactor: 'desktop', screenEmulation:{mobile:false}} }
const runnerResult = await lighthouse(, options, config);
我预计两者之间会略有不同,但我认为 6 分有点戏剧性。我注意到两者之间的油门速度不同,但不确定如何更改设置或配置。
右图为 Chrome 浏览器,左图为节点保存页面
解决方案
经过大量的谷歌搜索后,我终于找到了让我的 Node Lighthouse 使用与 Chrome 扩展版本相同的参数的答案。
这是最终代码:
const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']});
const flags = {logLevel: 'info', output: 'html', onlyCategories: ['accessibility'], port: chrome.port};
const config = {
extends: 'lighthouse:default',
settings: {
formFactor: 'desktop',
throttling: {
rttMs: 40,
throughputKbps: 10240,
cpuSlowdownMultiplier: 1,
requestLatencyMs: 0,
downloadThroughputKbps: 0,
uploadThroughputKbps: 0
},
screenEmulation: {
mobile: false,
width: 1350,
height: 940,
deviceScaleFactor: 1,
disabled: false
},
emulatedUserAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4143.7 Safari/537.36 Chrome-Lighthouse'
}
}
const runnerResult = await lighthouse('https://yourawesomesite.com', flags, config);
希望这可以帮助其他人自动化他们的 Lighthouse 测试。
推荐阅读
- android - TextView 不会将新插入的文本居中
- apache-kafka-streams - 如何处理来自 Transformer 的多个输出(Kafka 流 DSL)
- vue.js - Vuetify:使用项目和选择槽时,v-autocomplete 不会突出显示文本
- gremlin - 无法解释 Gremlin 查询:查询解析失败。“单引号和双引号不解析”
- java - 多折线图 d3 v6 的 SVG 图例
- reactjs - 如何在类组件中添加编辑待办事项功能?我已经在功能组件中完成但无法在类组件中解决
- javascript - 我想在 dialogflow 和 js 中的 api 中找出不同的功能名称
- prometheus - PromQL/prometheus 查询 label_replace() 多个
- reactjs - 图像在两行中传播 swiper js
- bitbucket - 是否可以将项目名称添加到 bitbucket 的 repo 路径?