vitest/test/browser/specs/playwright-connect.test.ts

63 lines
1.7 KiB
TypeScript

import { playwright } from '@vitest/browser-playwright'
import { chromium } from 'playwright'
import { expect, test } from 'vitest'
import { provider } from '../settings'
import { runBrowserTests } from './utils'
test.runIf(provider.name === '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',
provider: playwright({
connectOptions: {
wsEndpoint,
},
}),
},
],
},
})
await browserServer.close()
expect(stderr).toBe('')
expect(stdout).toContain('Tests 2 passed')
expect(exitCode).toBe(0)
})
test.runIf(provider.name === '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',
provider: playwright({
connectOptions: {
wsEndpoint,
},
launchOptions: {},
}),
},
],
},
})
await browserServer.close()
expect(stderr).toContain('Found both connect and launch options in browser instance configuration.')
expect(stdout).toContain('Tests 2 passed')
expect(exitCode).toBe(0)
})