-
Notifications
You must be signed in to change notification settings - Fork 15
Lighthouse Testing Guide
In this plugin we provide Lighthouse functionality exposed over the lighthousePlugin
.
To e2e test lighthouse properly we work with a predefined testing setup.
To bootstrap chromium with a predefined for setting we have to provide a couple of config files that we located under <project-root>/mock/chromium-user-data
.
When executing Lighthouse we provide the path to this folder over the Flag
object.
To generate initialise or edit the file structure under chromium-user-data
do the following steps:
-
Spin up chromium by running
npx chrome-debug --user-data-dir=./packages/plugin-lighthouse/mock/chromium-user-data
-
If you do this the first time you should already see content under
<project-root>/mock/chromium-user-data
-
Edit the configuration over the chromium UI. E.g. adding a profile
-
Close chromium and open it again, and you should see chromium bootstraps as the configured user
To reset the above just delete the folder and apply the settings again.
Our chromium is preconfigured with the following settings:
- A user profile is set up. This enables certain debugging related options as well as help to visually distinguish between test setups as the header bar is colored.
- run
npx chrome-debug --<chromium-flag>
to pass terminal arguments to chromium. E.g.npx chrome-debug --headless=shell
.npx chrome-debug --headless=shell --@TODO-PUT-OTHER-EXAMPLE-FOR-FLAG
For a full list of available flags check out this document.
Note
To pass chrome flags to lighthouse you have to provide them under --chrome-flags="<chrome-flags-as-array>"
.
E.g. lighthouse https://example.com --chrome-flage="--headless=shell"