mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-23 03:24:01 +09:00
Backport #39838 by @silverwind When `navigator.clipboard.readText()` runs before the page's copy has landed, Firefox shows its "Paste" prompt, which cannot be interacted with when headless. Avoid that and and use `dom.events.testing.asyncClipboard` which is a pref meant for testing that disabes this prompt. Fixes: https://github.com/go-gitea/gitea/actions/runs/39113819632/job/117635434106 Co-authored-by: silverwind <me@silverwind.io>
46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import {env} from 'node:process';
|
|
import {defineConfig, devices} from '@playwright/test';
|
|
|
|
const timeoutFactor = Number(env.GITEA_TEST_E2E_TIMEOUT_FACTOR) || 1;
|
|
const timeout = 5000 * timeoutFactor;
|
|
|
|
export default defineConfig({
|
|
workers: '50%',
|
|
fullyParallel: true,
|
|
testDir: './tests/e2e/',
|
|
outputDir: './tests/e2e-output/',
|
|
testMatch: /.*\.test\.ts/,
|
|
forbidOnly: Boolean(env.CI),
|
|
reporter: 'list',
|
|
timeout: 2 * timeout,
|
|
expect: {
|
|
timeout,
|
|
},
|
|
use: {
|
|
baseURL: env.GITEA_TEST_E2E_URL?.replace?.(/\/$/, ''),
|
|
locale: 'en-US',
|
|
actionTimeout: timeout,
|
|
navigationTimeout: 2 * timeout,
|
|
},
|
|
projects: [
|
|
{
|
|
name: 'chromium',
|
|
use: {
|
|
...devices['Desktop Chrome'],
|
|
permissions: ['clipboard-read', 'clipboard-write'],
|
|
},
|
|
},
|
|
{
|
|
name: 'firefox',
|
|
use: {
|
|
...devices['Desktop Firefox'],
|
|
launchOptions: {
|
|
firefoxUserPrefs: {
|
|
'dom.events.testing.asyncClipboard': true, // disable paste prompt
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
});
|