Compare commits

...

9 Commits

4 changed files with 40 additions and 32 deletions

View File

@ -21,7 +21,7 @@ commands:
- restore_cache_cmd:
node-version: << parameters.node-version >>
- node/install:
install-npm: true
install-npm: false
node-version: << parameters.node-version >>
- run: npm install
restore_cache_cmd:
@ -47,6 +47,7 @@ commands:
paths:
- ~/.npm
- node_modules
- ~/.cache/ms-playwright
generate_and_store_version_and_filesystem_artifacts:
description: "Track important packages and files"
steps:
@ -64,7 +65,6 @@ commands:
- run: curl -Os https://uploader.codecov.io/latest/linux/codecov;chmod +x codecov;./codecov
orbs:
node: circleci/node@4.9.0
browser-tools: circleci/browser-tools@1.2.3
jobs:
npm-audit:
parameters:
@ -96,26 +96,9 @@ jobs:
steps:
- build_and_install:
node-version: <<parameters.node-version>>
- when:
condition:
equal: [ "FirefoxESR", <<parameters.browser>> ]
steps:
- browser-tools/install-firefox:
version: "91.4.0esr" #https://archive.mozilla.org/pub/firefox/releases/
- when:
condition:
equal: [ "FirefoxHeadless", <<parameters.browser>> ]
steps:
- browser-tools/install-firefox
- when:
condition:
equal: [ "ChromeHeadless", <<parameters.browser>> ]
steps:
- browser-tools/install-chrome:
replace-existing: false
- run: npm run test -- --browsers=<<parameters.browser>>
- save_cache_cmd:
node-version: <<parameters.node-version>>
- run: npm run test:coverage -- --browsers=<<parameters.browser>>
- store_test_results:
path: dist/reports/tests/
- store_artifacts:
@ -146,11 +129,11 @@ workflows:
- unit-test:
name: node12-chrome
node-version: lts/erbium
browser: ChromeHeadless
browser: PlaywrightChrome
- unit-test:
name: node14-chrome
node-version: lts/fermium
browser: ChromeHeadless
browser: PlaywrightChrome
post-steps:
- upload_code_covio
- unit-test:
@ -161,24 +144,24 @@ workflows:
name: e2e-ci
node-version: lts/gallium
suite: ci
the-nightly: #These jobs do not run on PRs, but against master at night
the-nightly: #These jobs do not run on PRs, but against master each night
jobs:
- unit-test:
name: node12-firefoxESR-nightly
node-version: lts/erbium
browser: FirefoxESR
- unit-test:
name: node12-chrome-nightly
node-version: lts/erbium
browser: ChromeHeadless
browser: PlaywrightChrome
- unit-test:
name: node14-firefox-nightly
node-version: lts/fermium
browser: FirefoxHeadless
browser: PlaywrightFirefox
- unit-test:
name: node14-chrome-nightly
name: node14-chrome-canary-nightly
node-version: lts/fermium
browser: ChromeHeadless
browser: PlaywrightChromeCanary
- unit-test:
name: node14-safari-nightly
node-version: lts/fermium
browser: PlaywrightSafari
- unit-test:
name: node16-chrome-nightly
node-version: lts/gallium

View File

@ -26,7 +26,6 @@ const config = {
reporter: [
['list'],
['junit', { outputFile: 'test-results/results.xml' }],
['allure-playwright']
]
};

View File

@ -58,6 +58,22 @@ module.exports = (config) => {
FirefoxESR: {
base: 'FirefoxHeadless',
name: 'FirefoxESR'
},
PlaywrightChrome: {
base: 'ChromiumHeadless'
},
PlaywrightSafari: {
base: 'WebKitHeadless'
},
PlaywrightChromeCanary: {
base: 'ChromiumHeadless',
launchOptions: {
channel: 'chrome-canary'
}
},
PlaywrightFirefox: {
base: 'FirefoxHeadless',
debug: true
}
},
colors: true,
@ -87,6 +103,10 @@ module.exports = (config) => {
showSpecTiming: true,
failFast: false
},
plugins: [
'karma-*',
'@onslip/karma-playwright-launcher'
],
preprocessors: {
'indexTest.js': ['webpack', 'sourcemap']
},

View File

@ -5,6 +5,7 @@
"devDependencies": {
"@babel/eslint-parser": "7.16.3",
"@braintree/sanitize-url": "6.0.0",
"@onslip/karma-playwright-launcher": "0.2.1",
"@percy/cli": "1.0.0-beta.75",
"@percy/playwright": "1.0.1",
"@playwright/test": "1.19.2",
@ -90,6 +91,11 @@
"test": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" karma start --single-run",
"test:firefox": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" karma start --single-run --browsers=FirefoxHeadless",
"test:debug": "cross-env NODE_ENV=debug karma start --no-single-run",
"test:coverage": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" COVERAGE=true karma start --single-run",
"test:coverage:pw": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" COVERAGE=true karma start --single-run --browsers=PlaywrightChrome",
"test:coverage:pwsafari": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" COVERAGE=true karma start --single-run --browsers=PlaywrightSafari",
"test:coverage:pwcanary": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" COVERAGE=true karma start --single-run --browsers=PlaywrightChromeCanary",
"test:coverage:pwfirefox": "cross-env NODE_OPTIONS=\"--max_old_space_size=4096\" karma start --single-run --browsers=PlaywrightFirefox",
"test:e2e:ci": "npx playwright test --config=e2e/playwright-ci.config.js --project=chrome smoke default condition timeConductor",
"test:e2e:local": "npx playwright test --config=e2e/playwright-local.config.js --project=chrome",
"test:e2e:visual": "percy exec --config ./e2e/.percy.yml -- npx playwright test --config=e2e/playwright-visual.config.js default",