Skip to content

Commit 2d4edfb

Browse files
committed
setting up playwright testing env and config.js
1 parent 2ce7972 commit 2d4edfb

File tree

4 files changed

+70
-6
lines changed

4 files changed

+70
-6
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,7 @@ coverage/
5656
venv/
5757
ENV/
5858
env/
59+
/test-results/
60+
/playwright-report/
61+
/blob-report/
62+
/playwright/.cache/

jest.config.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,24 @@ module.exports = {
77

88
collectCoverage: true,
99
collectCoverageFrom: [
10-
"src/**/*.{js,jsx}",
11-
"src/tests/**/*.{js,jsx}"
10+
"src/**/*.{js,jsx}",
11+
"!src/**/*.test.{js,jsx}",
12+
"!src/tests/**/*.{js,jsx}"
1213
],
13-
coverageReporters: ['text', 'lcov'],
14+
coverageReporters: ['text', 'lcov', 'json', 'html'],
1415
coverageDirectory: "coverage",
16+
17+
coverageThreshold: {
18+
global: {
19+
branches: 80,
20+
functions: 85,
21+
lines: 90,
22+
statements: 90,
23+
},
24+
},
25+
26+
testPathIgnorePatterns: [
27+
"/node_modules/",
28+
"/playwright_e2e/"
29+
],
1530
};

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
"scripts": {
88
"start": "webpack --mode development && electron . --development",
99
"build": "webpack --mode production && electron .",
10-
"test": "jest --coverage --coverageDirectory=coverage",
10+
"test": "jest --coverage --coverageDirectory=coverage",
11+
"test:jest": "jest --coverage --coverageDirectory=coverage",
12+
"test:playwright": "npx playwright test",
1113
"postinstall": "electron-builder install-app-deps",
1214
"pack": "electron-builder --dir",
1315
"dist": "pyinstaller --distpath backend --workpath dist -y --clean -n restapi_server.exe --onefile backend/restapi_server.py && webpack --mode production && electron-builder -p never"
@@ -91,7 +93,7 @@
9193
"@testing-library/user-event": "^14.5.2",
9294
"babel-jest": "^29.7.0",
9395
"babel-loader": "^9.1.3",
94-
"babel-plugin-istanbul": "^7.0.0",
96+
"babel-plugin-istanbul": "^7.0.0",
9597
"css-loader": "^6.10.0",
9698
"electron": "^28.2.2",
9799
"electron-builder": "^24.13.3",
@@ -105,7 +107,8 @@
105107
"react-test-renderer": "^18.3.1",
106108
"style-loader": "^3.3.4",
107109
"webpack": "^5.90.1",
108-
"webpack-cli": "^5.1.4"
110+
"webpack-cli": "^5.1.4",
111+
"playwright": "^1.39.2"
109112
},
110113
"dependencies": {
111114
"antd": "^5.15.4",

playwright.config.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
const { defineConfig, devices } = require('@playwright/test');
2+
3+
module.exports = defineConfig({
4+
testDir: './playwright_e2e',
5+
fullyParallel: true,
6+
forbidOnly: !!process.env.CI,
7+
retries: process.env.CI ? 2 : 0,
8+
workers: process.env.CI ? 1 : undefined,
9+
reporter: 'html',
10+
use: {
11+
baseURL: 'http://127.0.0.1:8081',
12+
trace: 'on-first-retry',
13+
},
14+
projects: [
15+
{
16+
name: 'chromium',
17+
use: { ...devices['Desktop Chrome'] },
18+
},
19+
{
20+
name: 'firefox',
21+
use: { ...devices['Desktop Firefox'] },
22+
},
23+
{
24+
name: 'webkit',
25+
use: { ...devices['Desktop Safari'] },
26+
},
27+
],
28+
webServer: {
29+
command: 'npm run playwright-server',
30+
url: 'http://127.0.0.1:8081',
31+
reuseExistingServer: !process.env.CI,
32+
},
33+
});
34+
35+
module.exports = {
36+
testDir: './playwright_e2e',
37+
timeout: 60000,
38+
retries: 1,
39+
use: {
40+
headless: false,
41+
},
42+
};

0 commit comments

Comments
 (0)