Reputation: 4264
Context : I am running a bunch of Playwright e2e tests for a enterprise web application, which are run on Github actions, as a part of the CI/CD process.
To launch Chromium using Playwright we have these launch options -
const options = {
headless: true,
slowMo: 100,
..
// all args added to help run Chromium in headless mode
args: [
'--start-maximized',
'--disable-dev-shm-usage',
'--no-sandbox'
],
video: "true"
};
When the same tests are run on the local system during the time we add new test cases, we have to manually change the headless: true
to false
to have a head-ful execution.
I'm wondering if we can configure this to have change based on the run - when the execution is local, it changes the headless mode to false and true when it runs on ci. Let's say for running tests on local,
npm run test --env=local
gets the headless as false, and npm run test --env=ci
gets headless true in the options
.
I've gone through Playwright's documentation but couldn't find anything concrete. Most of the answers on Playwright/Puppeteer are about how to change the URL's etc, based on the env.
Upvotes: 1
Views: 5843
Reputation: 67
You could try one of the below options:
headless: !!process.env.HEADLESS,
slowMo: 100,
..
// all args added to help run Chromium in headless mode
args: [
'--start-maximized',
'--disable-dev-shm-usage',
'--no-sandbox'
],
video: "true"
};```
// create two scripts in your package.json:
"headless":"HEADLESS=true npm run test"
"local":"npm run test"
Upvotes: 1