使用场景:
Lighthouse 作为一个前端性能检测工具,一般只在浏览器进行调试输出,如果需要集成在CICD流水线中对新建的页面进行性能冒烟测试,则需要构建一个docker,使用命令的方式进行集成。
前提
需要 Node 10 LTS (10.13) 以上版本
安装chrome
首先要安装chrome浏览器,Chromium 66.0 以上的版本
apt-get install chromium
安装lighthouse
npm install -g lighthouse
查看lighthouse 版本
lighthouse --version
验证
运行以下命令来测试Lighthouse是否安装成功:
lighthouse https://www.baidu.com/
有报告输出,不报错则安装成功。如果报错,尝试加个参数 ( --chrome-flags=“–no-sandbox --headless --disable-gpu”)
常用参数选项
以下是一些常用的Lighthouse参数选项:
--chrome-flags="--no-sandbox --headless --disable-gpu"
:以无界面模式启动Chrome--emulated-form-factor='desktop'
:选择设备类型,可选值为 “mobile”、“desktop”、“none”--extra-headers "{\"Cookie\":\"JSESSIONID=895CA6EE8BD2CAA4CA0exx07FA59\"}"
:如果需要使用Cookie进行账户密码登录,可以使用此参数--only-categories=performance,best-practices
:选择性能测试模块,可选值为 “best-practices”、“performance”、“pwa”、“seo”、“accessibility”--output html --output-path ./angelapi_report1.html
:输出自定义路径和文件名的报告
附上Dockerfile编写
FROM python:3.9-alpine
LABEL maintainer="ixstest(support lighthouse python3)"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk add --no-cache nodejs npm openssh chromium git expect && \
npm install -g lighthouse && \
pip install requests beautifulsoup4
CMD echo "$PATH"