-
Notifications
You must be signed in to change notification settings - Fork 34
/
playwright.config.ts
69 lines (67 loc) · 2.15 KB
/
playwright.config.ts
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
65
66
67
68
69
import { PlaywrightTestConfig } from "@playwright/test";
import dotenv from 'dotenv';
import Browser from "./src/framework/manager/Browser";
dotenv.config();
const timeInMin: number = 60 * 1000;
const config: PlaywrightTestConfig = {
use: {
browserName: Browser.type(process.env.BROWSER.toLowerCase()),
headless: false,
channel: Browser.channel(process.env.BROWSER.toLowerCase()),
launchOptions: {
args: ["--start-maximized", "--disable-extensions", "--disable-plugins"],
headless: false,
timeout: Number.parseInt(process.env.BROWSER_LAUNCH_TIMEOUT, 10),
slowMo: 100,
downloadsPath: "./test-results/downloads",
},
viewport: null,
ignoreHTTPSErrors: true,
acceptDownloads: true,
actionTimeout: Number.parseInt(process.env.ACTION_TIMEOUT, 10) * timeInMin,
navigationTimeout: Number.parseInt(process.env.NAVIGATION_TIMEOUT, 10) * timeInMin,
screenshot: {
mode: "only-on-failure",
fullPage: true,
},
video: "retain-on-failure",
},
testDir: "./src/tests",
outputDir: "./test-results/failure",
retries: Number.parseInt(process.env.RETRIES, 10),
preserveOutput: "failures-only",
reportSlowTests: null,
timeout: Number.parseInt(process.env.TEST_TIMEOUT, 10) * timeInMin,
workers: Number.parseInt(process.env.PARALLEL_THREAD, 10),
reporter: [
["dot"],
["allure-playwright", {
detail: false,
suiteTitle: false,
environmentInfo: {
OS: process.platform.toUpperCase(),
BROWSER: process.env.BROWSER.toUpperCase(),
BASE_URL: process.env.BASE_URL,
},
}],
['html', { open: 'never', outputFolder: "./test-results/report" }],
["junit", { outputFile: "./test-results/results/results.xml" }],
["json", { outputFile: "./test-results/results/results.json" }],
["./src/framework/logger/TestListener.ts"],
['monocart-reporter', {
name: "Automation Report",
outputFile: './test-results/report/execution.html',
}],
],
projects: [
{
name: "local",
testMatch: `*${process.env.TEST_NAME.trim()}*`,
},
{
name: "suite",
testMatch: "*.test.ts",
},
],
};
export default config;