-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathplaywright.config.js
More file actions
64 lines (58 loc) 路 1.62 KB
/
Copy pathplaywright.config.js
File metadata and controls
64 lines (58 loc) 路 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const fs = require('node:fs')
const { defineConfig, devices } = require('@playwright/test')
function resolveChromiumExecutablePath() {
if (process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH) {
return process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH
}
if (process.env.PLAYWRIGHT_MCP_EXECUTABLE_PATH) {
return process.env.PLAYWRIGHT_MCP_EXECUTABLE_PATH
}
return ['/usr/bin/chromium', '/usr/sbin/chromium'].find((candidate) =>
fs.existsSync(candidate),
)
}
const chromiumExecutablePath = resolveChromiumExecutablePath()
const chromiumLaunchOptions = chromiumExecutablePath
? { launchOptions: { executablePath: chromiumExecutablePath } }
: {}
module.exports = defineConfig({
testDir: './tests',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: [
['html', { outputFolder: 'playwright-report' }],
['json', { outputFile: 'test-results.json' }],
['list'],
],
use: {
baseURL: 'https://wiki.archlinux.org',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'], ...chromiumLaunchOptions },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
{
name: 'Mobile Chrome',
use: { ...devices['Pixel 5'], ...chromiumLaunchOptions },
},
{
name: 'Mobile Safari',
use: { ...devices['iPhone 12'] },
},
],
outputDir: 'test-results/',
})