test: use TestOptions type in config (#326)

This commit is contained in:
Max Schmitt 2025-05-02 13:50:03 +02:00 committed by GitHub
parent a15f0f301b
commit a713300c5b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 7 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
lib/
node_modules/
test-results/
playwright-report/
.vscode/mcp.json
.idea

View File

@ -16,20 +16,20 @@
import { defineConfig } from '@playwright/test';
import type { Project } from '@playwright/test';
import type { TestOptions } from './tests/fixtures.js';
export default defineConfig({
export default defineConfig<TestOptions>({
testDir: './tests',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: 'list',
reporter: process.env.CI ? 'list' : [['list'], ['html']],
projects: [
{ name: 'chrome' },
{ name: 'msedge', use: { mcpBrowser: 'msedge' } },
{ name: 'chromium', use: { mcpBrowser: 'chromium' } },
{ name: 'firefox', use: { mcpBrowser: 'firefox' } },
{ name: 'webkit', use: { mcpBrowser: 'webkit' } },
].filter(Boolean) as Project[],
],
});

View File

@ -16,7 +16,7 @@
import { test, expect } from './fixtures.js';
test('browser_take_screenshot (viewport)', async ({ startClient, server }) => {
test('--device should work', async ({ startClient, server }) => {
const client = await startClient({
args: ['--device', 'iPhone 15'],
});

View File

@ -27,6 +27,10 @@ import { TestServer } from './testserver/index.ts';
import type { Config } from '../config';
export type TestOptions = {
mcpBrowser: string | undefined;
};
type TestFixtures = {
client: Client;
visionClient: Client;
@ -36,14 +40,13 @@ type TestFixtures = {
server: TestServer;
httpsServer: TestServer;
mcpHeadless: boolean;
mcpBrowser: string | undefined;
};
type WorkerFixtures = {
_workerServers: { server: TestServer, httpsServer: TestServer };
};
export const test = baseTest.extend<TestFixtures, WorkerFixtures>({
export const test = baseTest.extend<TestFixtures & TestOptions, WorkerFixtures>({
client: async ({ startClient }, use) => {
await use(await startClient());