chore: add grid tests (#24617)
This commit is contained in:
parent
1d4919cea4
commit
aba6964bd1
24
.github/workflows/tests_grid.yml
vendored
Normal file
24
.github/workflows/tests_grid.yml
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
name: "tests grid"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_COLOR: 1
|
||||||
|
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: "Grid"
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
- run: npm ci
|
||||||
|
env:
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
- run: npm run build
|
||||||
|
- run: npx playwright install
|
||||||
|
- run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test -- --retries=0
|
||||||
|
env:
|
||||||
|
PWTEST_MODE: service-grid
|
||||||
|
|
@ -53,7 +53,8 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
|
||||||
await run(browser.version());
|
await run(browser.version());
|
||||||
}, { scope: 'worker' }],
|
}, { scope: 'worker' }],
|
||||||
|
|
||||||
browserType: [async ({ playwright, browserName }, run) => {
|
browserType: [async ({ playwright, browserName, mode }, run) => {
|
||||||
|
test.skip(mode.startsWith('service'));
|
||||||
await run(playwright[browserName]);
|
await run(playwright[browserName]);
|
||||||
}, { scope: 'worker' }],
|
}, { scope: 'worker' }],
|
||||||
|
|
||||||
|
|
@ -108,8 +109,7 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
|
||||||
await removeFolders(dirs);
|
await removeFolders(dirs);
|
||||||
},
|
},
|
||||||
|
|
||||||
launchPersistent: async ({ createUserDataDir, browserType, mode }, run) => {
|
launchPersistent: async ({ createUserDataDir, browserType }, run) => {
|
||||||
test.skip(mode.startsWith('service'));
|
|
||||||
let persistentContext: BrowserContext | undefined;
|
let persistentContext: BrowserContext | undefined;
|
||||||
await run(async options => {
|
await run(async options => {
|
||||||
if (persistentContext)
|
if (persistentContext)
|
||||||
|
|
@ -123,8 +123,7 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
|
||||||
await persistentContext.close();
|
await persistentContext.close();
|
||||||
},
|
},
|
||||||
|
|
||||||
startRemoteServer: async ({ childProcess, browserType, mode }, run) => {
|
startRemoteServer: async ({ childProcess, browserType }, run) => {
|
||||||
test.skip(mode.startsWith('service'));
|
|
||||||
let server: PlaywrightServer | undefined;
|
let server: PlaywrightServer | undefined;
|
||||||
const fn = async (kind: 'launchServer' | 'run-server', options?: RemoteServerOptions) => {
|
const fn = async (kind: 'launchServer' | 'run-server', options?: RemoteServerOptions) => {
|
||||||
if (server)
|
if (server)
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ class TraceViewerPage {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const traceViewerFixtures: Fixtures<TraceViewerFixtures, {}, BaseTestFixtures, BaseWorkerFixtures> = {
|
export const traceViewerFixtures: Fixtures<TraceViewerFixtures, {}, BaseTestFixtures, BaseWorkerFixtures> = {
|
||||||
showTraceViewer: async ({ playwright, browserName, headless }, use) => {
|
showTraceViewer: async ({ playwright, browserName, headless }, use, testInfo) => {
|
||||||
const browsers: Browser[] = [];
|
const browsers: Browser[] = [];
|
||||||
const contextImpls: any[] = [];
|
const contextImpls: any[] = [];
|
||||||
await use(async (traces: string[], { host, port } = {}) => {
|
await use(async (traces: string[], { host, port } = {}) => {
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import type { FrameLocator } from '@playwright/test';
|
||||||
const test = playwrightTest.extend<TraceViewerFixtures>(traceViewerFixtures);
|
const test = playwrightTest.extend<TraceViewerFixtures>(traceViewerFixtures);
|
||||||
|
|
||||||
test.skip(({ trace }) => trace === 'on');
|
test.skip(({ trace }) => trace === 'on');
|
||||||
|
test.skip(({ mode }) => mode.startsWith('service'));
|
||||||
test.slow();
|
test.slow();
|
||||||
|
|
||||||
let traceFile: string;
|
let traceFile: string;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue