chore: add grid tests (#24617)

This commit is contained in:
Pavel Feldman 2023-08-04 14:59:48 -07:00 committed by GitHub
parent 1d4919cea4
commit aba6964bd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 6 deletions

24
.github/workflows/tests_grid.yml vendored Normal file
View 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

View File

@ -53,7 +53,8 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
await run(browser.version());
}, { scope: 'worker' }],
browserType: [async ({ playwright, browserName }, run) => {
browserType: [async ({ playwright, browserName, mode }, run) => {
test.skip(mode.startsWith('service'));
await run(playwright[browserName]);
}, { scope: 'worker' }],
@ -108,8 +109,7 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
await removeFolders(dirs);
},
launchPersistent: async ({ createUserDataDir, browserType, mode }, run) => {
test.skip(mode.startsWith('service'));
launchPersistent: async ({ createUserDataDir, browserType }, run) => {
let persistentContext: BrowserContext | undefined;
await run(async options => {
if (persistentContext)
@ -123,8 +123,7 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
await persistentContext.close();
},
startRemoteServer: async ({ childProcess, browserType, mode }, run) => {
test.skip(mode.startsWith('service'));
startRemoteServer: async ({ childProcess, browserType }, run) => {
let server: PlaywrightServer | undefined;
const fn = async (kind: 'launchServer' | 'run-server', options?: RemoteServerOptions) => {
if (server)

View File

@ -107,7 +107,7 @@ class TraceViewerPage {
}
export const traceViewerFixtures: Fixtures<TraceViewerFixtures, {}, BaseTestFixtures, BaseWorkerFixtures> = {
showTraceViewer: async ({ playwright, browserName, headless }, use) => {
showTraceViewer: async ({ playwright, browserName, headless }, use, testInfo) => {
const browsers: Browser[] = [];
const contextImpls: any[] = [];
await use(async (traces: string[], { host, port } = {}) => {

View File

@ -24,6 +24,7 @@ import type { FrameLocator } from '@playwright/test';
const test = playwrightTest.extend<TraceViewerFixtures>(traceViewerFixtures);
test.skip(({ trace }) => trace === 'on');
test.skip(({ mode }) => mode.startsWith('service'));
test.slow();
let traceFile: string;