vitest/test/browser/specs/playwright-connect.test.ts
Florian Schwalm 029c0788c3
feat(browser): implement connect option for playwright browser provider (#7915)
Co-authored-by: Vladimir <sleuths.slews0s@icloud.com>
2025-05-05 16:29:15 +02:00

58 lines
1.5 KiB
TypeScript

import { chromium } from 'playwright'
import { expect, test } from 'vitest'
import { provider } from '../settings'
import { runBrowserTests } from './utils'
test.runIf(provider === 'playwright')('[playwright] runs in connect mode', async () => {
const browserServer = await chromium.launchServer()
const wsEndpoint = browserServer.wsEndpoint()
const { stdout, exitCode, stderr } = await runBrowserTests({
root: './fixtures/playwright-connect',
browser: {
instances: [
{
browser: 'chromium',
name: 'chromium',
connect: {
wsEndpoint,
},
},
],
},
})
await browserServer.close()
expect(stdout).toContain('Tests 2 passed')
expect(exitCode).toBe(0)
expect(stderr).toBe('')
})
test.runIf(provider === 'playwright')('[playwright] warns if both connect and launch mode are configured', async () => {
const browserServer = await chromium.launchServer()
const wsEndpoint = browserServer.wsEndpoint()
const { stdout, exitCode, stderr } = await runBrowserTests({
root: './fixtures/playwright-connect',
browser: {
instances: [
{
browser: 'chromium',
name: 'chromium',
connect: {
wsEndpoint,
},
launch: {},
},
],
},
})
await browserServer.close()
expect(stdout).toContain('Tests 2 passed')
expect(exitCode).toBe(0)
expect(stderr).toContain('Found both connect and launch options in browser instance configuration.')
})