openmct/e2e/playwright-visual-a11y.config.js

62 lines
1.9 KiB
JavaScript
Raw Permalink Normal View History

// playwright.config.js
// @ts-check
import { fileURLToPath } from 'url';
/** @type {import('@playwright/test').PlaywrightTestConfig<{ theme: string }>} */
const config = {
retries: 0, // Visual tests should never retry due to snapshot comparison errors. Leaving as a shim
testDir: 'tests/visual-a11y',
testMatch: '**/*.visual.spec.js', // only run visual tests
timeout: 60 * 1000,
workers: 1, //Lower stress on Circle CI Agent for Visual tests https://github.com/percy/cli/discussions/1067
webServer: {
command: 'npm run start:coverage',
cwd: fileURLToPath(new URL('../', import.meta.url)), // Provide cwd for the root of the project
url: 'http://localhost:8080/#',
timeout: 200 * 1000,
reuseExistingServer: true //This was originally disabled to prevent differences in local debugging vs. CI. However, it significantly speeds up local debugging.
},
use: {
baseURL: 'http://localhost:8080/',
headless: true, // this needs to remain headless to avoid visual changes due to GPU rendering in headed browsers
ignoreHTTPSErrors: true,
screenshot: 'only-on-failure',
trace: 'on-first-retry',
video: 'off'
},
projects: [
{
name: 'chrome',
use: {
browserName: 'chromium'
}
},
{
name: 'chrome-snow-theme', //Runs the same visual tests but with snow-theme enabled
use: {
browserName: 'chromium',
theme: 'snow'
}
[Darkmatter] Create new darkmatter theme (#7682) * initial theme plugin setup, changes to layout frames * update visual tests * Changes to gauge, layout borders, and background * Make background image a DIY theme variable. Fixes made to gauges. Deleted custom font. * More changes to overall background colors. Added glass layer effect to menus * changes to menu * Fix to make theme easy to run * Fix tab colors and add glass background to menus * make highlightd corners longer * Initial changes to font styles * Add temporary numeric font style. Test numeric font in gauges. * Initial changes to alphanumerics in layouts * Updated variables * update plugin.js file * Fix highlighted corners on frames such that it uses outermost frame * renaming theme plugin and rename branch * fix button colors to be more readable * change background image * Fix bad merges from other theme files. Fix gauge and alphanumerics such that they dont have darkmatter borders * more fixes * Fix where mixin is used such that when an object's frame is hidden, highlgihts disappear * remove blur from meter gauges * Add comment about this theme being in beta mode * Delete draft .scss file that is no longer needed * Fix major accessibility issues * Fix PR review comments * ✨ fix: Correct import file name for DarkMatter theme. * Fix other theme code that was failing e2e tests * Revert index.html * Fix linting error * Fix for failing percy test regarding padding * Fix for failing percy test regarding padding part 2 * Fix for failing percy test regarding padding part 3 * Remove mixin that may be causing percy issue * Another fix to resolve percy issue * Add back some code that was deleted during debugging, and create new variables for the object padding * Fix gradient clipping in inspector * Restructure all constants-.scss files * Change bg image to be square and NASA official picture * Final fixes to darkmatter variable layouts * Address PR comments * Change darkmatter to darkmatterTheme --------- Co-authored-by: John Hill <john.c.hill@nasa.gov> Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
2024-04-25 23:06:07 +00:00
},
{
name: 'darkmatter-theme', //Runs the same visual tests but with darkmatter-theme
use: {
browserName: 'chromium',
theme: 'darkmatter'
[Darkmatter] Create new darkmatter theme (#7682) * initial theme plugin setup, changes to layout frames * update visual tests * Changes to gauge, layout borders, and background * Make background image a DIY theme variable. Fixes made to gauges. Deleted custom font. * More changes to overall background colors. Added glass layer effect to menus * changes to menu * Fix to make theme easy to run * Fix tab colors and add glass background to menus * make highlightd corners longer * Initial changes to font styles * Add temporary numeric font style. Test numeric font in gauges. * Initial changes to alphanumerics in layouts * Updated variables * update plugin.js file * Fix highlighted corners on frames such that it uses outermost frame * renaming theme plugin and rename branch * fix button colors to be more readable * change background image * Fix bad merges from other theme files. Fix gauge and alphanumerics such that they dont have darkmatter borders * more fixes * Fix where mixin is used such that when an object's frame is hidden, highlgihts disappear * remove blur from meter gauges * Add comment about this theme being in beta mode * Delete draft .scss file that is no longer needed * Fix major accessibility issues * Fix PR review comments * ✨ fix: Correct import file name for DarkMatter theme. * Fix other theme code that was failing e2e tests * Revert index.html * Fix linting error * Fix for failing percy test regarding padding * Fix for failing percy test regarding padding part 2 * Fix for failing percy test regarding padding part 3 * Remove mixin that may be causing percy issue * Another fix to resolve percy issue * Add back some code that was deleted during debugging, and create new variables for the object padding * Fix gradient clipping in inspector * Restructure all constants-.scss files * Change bg image to be square and NASA official picture * Final fixes to darkmatter variable layouts * Address PR comments * Change darkmatter to darkmatterTheme --------- Co-authored-by: John Hill <john.c.hill@nasa.gov> Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
2024-04-25 23:06:07 +00:00
}
}
],
reporter: [
['list'],
['junit', { outputFile: '../test-results/results.xml' }],
[
'html',
{
open: 'on-failure',
outputFolder: '../html-test-results' //Must be in different location due to https://github.com/microsoft/playwright/issues/12840
}
]
]
};
export default config;