Skip to content

Commit 8d6edba

Browse files
committed
ci: improve e2e tests22222222
1 parent db902a0 commit 8d6edba

File tree

4 files changed

+26
-28
lines changed

4 files changed

+26
-28
lines changed

e2e/fixtures/EnumPage.ts

100644100755
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ export default class EnumPage {
44
constructor(public readonly page: Page) {}
55

66
async gotoModern() {
7-
await this.page.goto('/modern.html');
7+
await this.page.goto('/modern.html', { waitUntil: 'domcontentloaded' });
88
}
99
async gotoLegacy() {
10-
await this.page.goto('/legacy.html');
10+
await this.page.goto('/legacy.html', { waitUntil: 'domcontentloaded' });
1111
}
1212
async setupLang() {
13+
await this.page.waitForLoadState('domcontentloaded');
1314
await this.page.evaluate(() => {
1415
const {
1516
EnumPlus: { Enum, defaultLocalize },
@@ -20,6 +21,7 @@ export default class EnumPage {
2021
});
2122
}
2223
async resetLang() {
24+
await this.page.waitForLoadState('domcontentloaded');
2325
await this.page.evaluate(() => {
2426
const {
2527
EnumPlus: { Enum },

e2e/fixtures/EnumTest.ts

100644100755
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ export const test = base.extend<{
99
enumPage: async ({ page }, use) => {
1010
const enumPage = new EnumPage(page);
1111
await enumPage.gotoModern();
12-
12+
// delay to ensure the page is fully loaded
13+
await page.waitForLoadState('domcontentloaded');
1314
await use(enumPage);
1415
},
1516
});

playwright.config.ts

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
11
import type { PlaywrightTestConfig } from '@playwright/test';
22
import { devices } from '@playwright/test';
33

4-
const targetProject = process.argv.find((arg) => arg.startsWith('--project='))?.split('=')[1];
5-
const PORTS: Record<string, number> = {
6-
chrome: 7080,
7-
firefox: 7081,
8-
webkit: 7082,
9-
edge: 7083,
10-
'chromium-legacy': 7084,
11-
};
12-
const port = PORTS[targetProject ?? ''] ?? PORTS.chrome;
4+
const port = 7080;
135

146
const config: PlaywrightTestConfig = {
157
testDir: './e2e/specs',
168
testMatch: '**/*.spec.ts',
179
outputDir: './e2e/test-results',
1810
globalSetup: require.resolve('./e2e/global.setup.ts'),
1911
globalTeardown: require.resolve('./e2e/global.teardown.ts'),
20-
workers: 16,
2112
forbidOnly: !!process.env.CI,
2213
retries: 2,
2314
use: {
@@ -29,19 +20,23 @@ const config: PlaywrightTestConfig = {
2920
{
3021
name: 'chrome',
3122
use: devices['Desktop Chrome'],
23+
workers: 1,
24+
},
25+
{
26+
name: 'firefox',
27+
use: devices['Desktop Firefox'],
28+
workers: 1,
29+
},
30+
{
31+
name: 'webkit',
32+
use: devices['Desktop Safari'],
33+
workers: 1,
34+
},
35+
{
36+
name: 'edge',
37+
use: devices['Desktop Edge'],
38+
workers: 1,
3239
},
33-
// {
34-
// name: 'firefox',
35-
// use: devices['Desktop Firefox'],
36-
// },
37-
// {
38-
// name: 'webkit',
39-
// use: devices['Desktop Safari'],
40-
// },
41-
// {
42-
// name: 'edge',
43-
// use: devices['Desktop Edge'],
44-
// },
4540
// Legacy browsers (simulated)
4641
// {
4742
// name: 'chromium-legacy',
@@ -56,8 +51,8 @@ const config: PlaywrightTestConfig = {
5651
],
5752
webServer: {
5853
command: `npx http-server ./e2e/fixtures -p ${port}`,
59-
port,
60-
reuseExistingServer: !process.env.CI,
54+
port: 7080,
55+
reuseExistingServer: false,
6156
},
6257
};
6358

test/engines/playwright.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class PlaywrightEngine extends TestEngineBase {
3030
WeekData,
3131
SerializeJavascript,
3232
};
33-
console.log('window', runtimeContext);
33+
// console.log('window', runtimeContext);
3434
const { serializeJavascript: serialize, deserializeJavascript: deserialize } = SerializeJavascript;
3535
const args = deserialize(contextStr) as { evaluateFn: typeof evaluate };
3636
const { evaluateFn, ...rest } = args;

0 commit comments

Comments
 (0)