summaryrefslogtreecommitdiff
path: root/_e2e/playwright.config.ts
diff options
context:
space:
mode:
authorHizbu Azka <hanifan.azka@gmail.com>2026-10-18 17:51:44 +0700
committerHizbu Azka <hanifan.azka@gmail.com>2026-10-18 17:51:44 +0700
commit95f466fae00a7db3d513d8ab986f5d6617d6c24f (patch)
tree289df0c5acab2aaf9cb6e270a0254fa168c6d209 /_e2e/playwright.config.ts
parentd6db8204d42f678e2a32151e25ee61c4b0bfa705 (diff)
add e2e
Diffstat (limited to '_e2e/playwright.config.ts')
-rw-r--r--_e2e/playwright.config.ts80
1 files changed, 80 insertions, 0 deletions
diff --git a/_e2e/playwright.config.ts b/_e2e/playwright.config.ts
new file mode 100644
index 0000000..1e97f70
--- /dev/null
+++ b/_e2e/playwright.config.ts
@@ -0,0 +1,80 @@
+import { defineConfig, devices } from '@playwright/test';
+
+/**
+ * Read environment variables from file.
+ * https://github.com/motdotla/dotenv
+ */
+// import dotenv from 'dotenv';
+// import path from 'path';
+// dotenv.config({ path: path.resolve(__dirname, '.env') });
+
+/**
+ * See https://playwright.dev/docs/test-configuration.
+ */
+export default defineConfig({
+ testDir: './tests',
+ /* Run tests in files in parallel */
+ fullyParallel: true,
+ /* Fail the build on CI if you accidentally left test.only in the source code. */
+ forbidOnly: !!process.env.CI,
+ /* Retry on CI only */
+ retries: process.env.CI ? 2 : 0,
+ /* Opt out of parallel tests on CI. */
+ workers: process.env.CI ? 1 : undefined,
+ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
+ reporter: 'html',
+ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
+ use: {
+ /* Base URL to use in actions like `await page.goto('')`. */
+ // baseURL: 'http://localhost:3000',
+
+ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
+ trace: 'on-first-retry',
+ },
+
+ /* Configure projects for major browsers */
+ projects: [
+ {
+ name: 'chromium',
+ use: { ...devices['Desktop Chrome'] },
+ },
+
+ {
+ name: 'firefox',
+ use: { ...devices['Desktop Firefox'] },
+ },
+
+ // {
+ // name: 'webkit',
+ // use: { ...devices['Desktop Safari'] },
+ // },
+
+ /* Test against mobile viewports. */
+ // {
+ // name: 'Mobile Chrome',
+ // use: { ...devices['Pixel 5'] },
+ // },
+ // {
+ // name: 'Mobile Safari',
+ // use: { ...devices['iPhone 12'] },
+ // },
+
+ /* Test against branded browsers. */
+ // {
+ // name: 'Microsoft Edge',
+ // use: { ...devices['Desktop Edge'], channel: 'msedge' },
+ // },
+ // {
+ // name: 'Google Chrome',
+ // use: { ...devices['Desktop Chrome'], channel: 'chrome' },
+ // },
+ ],
+
+ /* Run your local dev server before starting the tests */
+ webServer: {
+ command: 'jekyll serve --source .. --destination ../_site',
+ url: 'http://localhost:4000',
+ reuseExistingServer: !process.env.CI,
+ timeout: 60_000,
+ },
+})