mirror of
https://github.com/nasa/openmct.git
synced 2024-12-18 20:57:53 +00:00
a3fb84ad43
* fix: remove mystery webpack code * fix: remove type:module and specify exports - we aren't a module... yet * fix: rename webpack*.js to webpack*.mjs so we can use import/export. fix imports * fix: exports format * fix: woops, need to add `start` script back * chore: split e2e into its own module * fix: use normal Painterro import * fix: update e2e pathing * fix: copy over helper functions * chore: specify `cwd` for playwright configs so that openmct npm commands work as intended in any environment * chore: add pretest script to e2e package.json * chore: don't package e2e * refactor: tidy up webpack common config * chore: compile types to a single file * chore: fix visual test npm scripts * chore: fix import pathing * chore: define package exports, move test specific dependencies to the subpackage * chore: export test framework from openmct-e2e * chore: export baseFixtures also * chore: let `openmct` and `openmct-e2e` share `node_modules/` * chore: use `--workspace`, remove pretest script * Revert "fix: remove mystery webpack code" This reverts commit eb14d52569ffa27ab1a090b883694f4707b59cd0. * chore: update package-lock * chore: add `.npmignore` * fix: *js -> mjs
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
// playwright.config.js
|
|
// @ts-check
|
|
|
|
import { devices } from '@playwright/test';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
/** @type {import('@playwright/test').PlaywrightTestConfig} */
|
|
const config = {
|
|
retries: 0, //Retries are not needed with watch mode
|
|
testDir: 'tests',
|
|
timeout: 60 * 1000,
|
|
webServer: {
|
|
command: 'npm run start', //Start in dev mode for hot reloading
|
|
cwd: '../', // 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.
|
|
},
|
|
workers: '75%', //Limit to 75% of the CPU to support running with dev server
|
|
use: {
|
|
baseURL: 'http://localhost:8080/',
|
|
headless: true,
|
|
ignoreHTTPSErrors: true,
|
|
screenshot: 'only-on-failure',
|
|
trace: 'on-first-retry',
|
|
video: 'off'
|
|
},
|
|
projects: [
|
|
{
|
|
name: 'chrome',
|
|
testMatch: '**/*.spec.js', // run all tests
|
|
use: {
|
|
browserName: 'chromium'
|
|
}
|
|
},
|
|
{
|
|
name: 'ipad',
|
|
grep: /@mobile/,
|
|
use: {
|
|
storageState: fileURLToPath(
|
|
new URL('./test-data/display_layout_with_child_layouts.json', import.meta.url)
|
|
),
|
|
browserName: 'webkit',
|
|
...devices['iPad (gen 7) landscape'] // Complete List https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json
|
|
}
|
|
},
|
|
{
|
|
name: 'iphone',
|
|
grep: /@mobile/,
|
|
use: {
|
|
storageState: fileURLToPath(
|
|
new URL('./test-data/display_layout_with_child_layouts.json', import.meta.url)
|
|
),
|
|
browserName: 'webkit',
|
|
...devices['iPhone 14 Pro'] // Complete List https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json
|
|
}
|
|
}
|
|
],
|
|
reporter: [
|
|
['list'],
|
|
[
|
|
'html',
|
|
{
|
|
open: 'never',
|
|
outputFolder: '../html-test-results' //Must be in different location due to https://github.com/microsoft/playwright/issues/12840
|
|
}
|
|
],
|
|
['junit', { outputFile: '../test-results/results.xml' }]
|
|
]
|
|
};
|
|
|
|
export default config;
|