From 713e450b70e7821b375a17d37f7a178bc35fd906 Mon Sep 17 00:00:00 2001 From: Marcus Felling Date: Tue, 27 Jun 2023 12:14:08 -0500 Subject: [PATCH] update configs to use .env, format tests (#39) * update configs to use .env, format tests --- .github/workflows/test.yml | 170 ++++++++++-------- README.md | 2 +- accessibility/.env | 1 + accessibility/playwright.config.ts | 42 +---- accessibility/tests/example.spec.ts | 17 +- android/playwright.config.ts | 48 +---- android/tests/example.spec.ts | 3 - basic/playwright.config.ts | 64 +------ basic/pom/fixtures.ts | 6 +- basic/pom/pom-with-fixtures.spec.ts | 18 +- basic/pom/pom.spec.ts | 18 +- basic/pom/todoPage.pom.ts | 2 +- chrome-extension/playwright.config.ts | 78 +------- chrome-extension/tests/example.spec.ts | 4 +- drag-and-drop/.env | 1 + drag-and-drop/playwright.config.ts | 80 +-------- drag-and-drop/tests/example.spec.ts | 5 +- electron/playwright.config.ts | 39 +--- electron/tests/example.spec.ts | 6 +- fixtures/playwright.config.ts | 80 +-------- fixtures/tests/express-test.ts | 12 +- fixtures/tests/express.spec.ts | 4 +- fixtures/tests/hello-test-fixture.ts | 4 +- fixtures/tests/test-fixture.spec.ts | 4 +- github-api/.env | 1 + github-api/playwright.config.ts | 33 ++-- github-api/tests/example.spec.ts | 10 +- oauth/.env | 5 + oauth/playwright.config.ts | 51 +----- oauth/tests/example.spec.ts | 10 +- package-lock.json | 99 ++++------ package.json | 3 +- performance/.env | 1 + performance/playwright.config.ts | 78 +------- performance/tests/example.spec.ts | 32 ++-- svgomg/.env | 1 + svgomg/playwright.config.ts | 80 +-------- svgomg/tests/example.spec.ts | 18 +- todomvc/.env | 1 + todomvc/playwright.config.ts | 80 +-------- todomvc/tests/example.spec.ts | 75 ++++---- visual-comparison/.env | 1 + visual-comparison/playwright.config.ts | 93 +--------- visual-comparison/tests/example.spec.ts | 10 +- .../hero-firefox-linux.txt | 1 - .../hero-firefox-win32.txt | 1 - .../hero-webkit-linux.txt | 1 - .../hero-webkit-win32.txt | 1 - .../landing-chromium-linux.png | Bin 39113 -> 37901 bytes .../landing-firefox-linux.png | Bin 43065 -> 0 bytes .../landing-firefox-win32.png | Bin 23542 -> 0 bytes .../landing-webkit-linux.png | Bin 51887 -> 0 bytes .../landing-webkit-win32.png | Bin 30546 -> 0 bytes 53 files changed, 344 insertions(+), 1050 deletions(-) create mode 100644 accessibility/.env create mode 100644 drag-and-drop/.env create mode 100644 github-api/.env create mode 100644 oauth/.env create mode 100644 performance/.env create mode 100644 svgomg/.env create mode 100644 todomvc/.env create mode 100644 visual-comparison/.env delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-linux.txt delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-win32.txt delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-linux.txt delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-win32.txt delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/landing-firefox-linux.png delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/landing-firefox-win32.png delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/landing-webkit-linux.png delete mode 100644 visual-comparison/tests/example.spec.ts-snapshots/landing-webkit-win32.png diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 12b09373..036d7acc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,8 @@ jobs: name: "accessibility tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: accessibility BASEURL: https://playwright.dev/docs/accessibility-testing # Playwright tests use this for baseURL @@ -21,14 +22,15 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: true @@ -59,14 +61,15 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "16.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: run tests uses: ReactiveCircus/android-emulator-runner@v2.27.0 @@ -92,7 +95,8 @@ jobs: name: "basic tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: basic environment: @@ -102,20 +106,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -138,20 +143,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci - npx playwright install + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | + npx playwright install # Extensions only work in Chrome / Chromium in non-headless mode. npx playwright test --headed --project=chromium @@ -167,7 +173,8 @@ jobs: name: "drag-and-drop tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: drag-and-drop BASEURL: https://www.w3schools.com/html/html5_draganddrop.asp # Playwright tests use this for baseURL @@ -178,20 +185,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -215,10 +223,12 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install electron working-directory: ${{ env.TESTGROUP }} @@ -227,14 +237,14 @@ jobs: - name: Install dependencies working-directory: ${{ env.TESTGROUP }} - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright test + npx playwright install + HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. uses: actions/upload-artifact@v3 @@ -248,7 +258,8 @@ jobs: name: "fixtures tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: fixtures environment: @@ -258,19 +269,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | + npx playwright install HOME=/root npx playwright test test-fixture.spec.ts - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -285,12 +298,13 @@ jobs: name: "github-api tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: github-api + BASEURL: https://api.github.com # Playwright tests use this for baseURL GITHUB_USER: ${{ secrets.REPO_USER }} API_TOKEN: ${{ secrets.API_TOKEN }} - BASEURL: https://api.github.com # Playwright tests use this for baseURL environment: name: github-api url: https://testresults.marcusfelling.com/${{ env.TESTGROUP }} @@ -298,19 +312,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -325,7 +341,8 @@ jobs: timeout-minutes: 60 if: ${{ false }} # disable for now for bot detection runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: oauth BASEURL: https://courses.ultimateqa.com/users/sign_in # Playwright tests use this for baseURL @@ -339,20 +356,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -367,7 +385,8 @@ jobs: name: "performance tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: performance BASEURL: https://fastestwebsite.net/ # Playwright tests use this for baseURL @@ -378,20 +397,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -406,7 +426,8 @@ jobs: name: "svgomg tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: svgomg BASEURL: https://demo.playwright.dev/svgomg # Playwright tests use this for baseURL @@ -420,17 +441,18 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -444,7 +466,8 @@ jobs: name: "todomvc tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: todomvc BASEURL: https://demo.playwright.dev/todomvc # Playwright tests use this for baseURL @@ -455,20 +478,21 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install + npx playwright install HOME=/root npx playwright test - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. @@ -482,7 +506,8 @@ jobs: name: "visual-comparison tests" timeout-minutes: 60 runs-on: ubuntu-22.04 - container: mcr.microsoft.com/playwright:v1.35.1-focal + container: + image: mcr.microsoft.com/playwright:v1.35.1-jammy env: TESTGROUP: visual-comparison BASEURL: https://playwright.dev # Playwright tests use this for baseURL @@ -493,21 +518,22 @@ jobs: - uses: actions/checkout@v3 with: ref: main - + - uses: actions/setup-node@v3 with: - node-version: "18.x" + node-version: 18 + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies - run: | - npm ci + run: npm ci - name: Run ${{ env.TESTGROUP }} Tests continue-on-error: false working-directory: ${{ env.TESTGROUP }} run: | - npx playwright install - HOME=/root npx playwright test + npx playwright install + HOME=/root npx playwright test --project=chromium - name: Upload HTML report as artifact. To troubleshoot failures, extract .zip and double-click index.html. uses: actions/upload-artifact@v3 diff --git a/README.md b/README.md index 1002655d..ca9b6b52 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ When the above tests are finished, the results are published to GitHub pages: ## Configuration -The [baseURL](https://playwright.dev/docs/api/class-testoptions#test-options-base-url) value for most tests is set as a [workflow environment variable](https://docs.github.com/en/actions/learn-github-actions/environment-variables). This allows flexibility for the URL of the sites tested. By not hardcoding a URL in `page.goTo('')` we can simply pass baseURL without changing the test script e.g. test.site.com -> stage.site.com -> prod.site.com +The [baseURL](https://playwright.dev/docs/api/class-testoptions#test-options-base-url) value for most tests is set via [.env file](https://github.com/motdotla/dotenv) that you'll find at the root of each folder. Typically this file is gitignored; by including it in this demo repo, it makes running and sharing these tests easier. ## Have a testing scenario you'd like to see included? diff --git a/accessibility/.env b/accessibility/.env new file mode 100644 index 00000000..abc2391c --- /dev/null +++ b/accessibility/.env @@ -0,0 +1 @@ +BASEURL = 'https://playwright.dev/docs/accessibility-testing' \ No newline at end of file diff --git a/accessibility/playwright.config.ts b/accessibility/playwright.config.ts index e82b6b2c..bac4201b 100644 --- a/accessibility/playwright.config.ts +++ b/accessibility/playwright.config.ts @@ -1,70 +1,39 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ use: { ...devices['Desktop Chrome'], }, }, - { name: 'firefox', use: { ...devices['Desktop Firefox'], }, }, - { name: 'webkit', use: { @@ -72,5 +41,4 @@ const config: PlaywrightTestConfig = { }, }, ], -}; -export default config; +}); diff --git a/accessibility/tests/example.spec.ts b/accessibility/tests/example.spec.ts index c1d3774f..680841fb 100644 --- a/accessibility/tests/example.spec.ts +++ b/accessibility/tests/example.spec.ts @@ -1,20 +1,19 @@ import { test, expect } from '@playwright/test'; import AxeBuilder from '@axe-core/playwright'; -test.describe.parallel('accessibility checks', () => { +test.describe('accessibility checks', () => { test.beforeEach(async ({ page }) => { await page.goto(''); }); - -/** - * This example demonstrates how to test an entire page for automatically detectable accessibility violations. - * @see https://playwright.dev/docs/accessibility-testing - */ -test.describe('Scanning an entire page', () => { + /** + * This example demonstrates how to test an entire page for automatically detectable accessibility violations. + * @see https://playwright.dev/docs/accessibility-testing + */ + test.describe('Scanning an entire page', () => { test('should not have any automatically detectable accessibility issues', async ({ page }) => { const accessibilityScanResults = await new AxeBuilder({ page }).analyze(); - + expect(accessibilityScanResults.violations).toEqual([]); }); - }); + }); }); diff --git a/android/playwright.config.ts b/android/playwright.config.ts index c2cc08f7..20ec4ee5 100644 --- a/android/playwright.config.ts +++ b/android/playwright.config.ts @@ -1,61 +1,23 @@ -import {PlaywrightTestConfig} from '@playwright/test'; - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +import { defineConfig, devices } from '@playwright/test'; +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 60 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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 ? 0 : 0, - - /* Opt out of parallel tests on CI. */ + retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, - - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - - - // Folder for test artifacts such as screenshots, videos, traces, etc. */ outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/android/tests/example.spec.ts b/android/tests/example.spec.ts index 854fe742..bccabd77 100644 --- a/android/tests/example.spec.ts +++ b/android/tests/example.spec.ts @@ -17,15 +17,12 @@ test.describe('Run native Android tests', async () => { await device.shell('am start org.chromium.webview_shell/.WebViewBrowserActivity'); // Get the WebView. const webview = await device.webView({pkg: 'org.chromium.webview_shell'}); - // Fill the input box. await device.fill({res: 'org.chromium.webview_shell:id/url_field'}, 'github.com/microsoft/playwright'); await device.press({res: 'org.chromium.webview_shell:id/url_field'}, 'Enter'); - // Work with WebView's page as usual. const page = await webview.page(); console.log(await page.title()); - // Close the device. await device.close(); }); diff --git a/basic/playwright.config.ts b/basic/playwright.config.ts index 36ad34de..05c99cdc 100644 --- a/basic/playwright.config.ts +++ b/basic/playwright.config.ts @@ -1,80 +1,46 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - - /* Maximum time one test can run for. */ +export default defineConfig({ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - // Run your local dev server before starting the tests: - // https://playwright.dev/docs/test-advanced#launching-a-development-web-server-during-the-tests webServer: { command: 'node ./server', port: 4345, cwd: __dirname, }, - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', + acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ use: { ...devices['Desktop Chrome'], }, }, - { name: 'firefox', use: { ...devices['Desktop Firefox'], }, }, - { name: 'webkit', use: { ...devices['Desktop Safari'], }, }, - - /* Test against mobile viewports. */ { name: 'Mobile Chrome', use: { @@ -82,28 +48,10 @@ const config: PlaywrightTestConfig = { }, }, { - name: 'MobileSafari', + name: 'Mobile Safari', use: { ...devices['iPhone 12'], }, }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/' -}; -export default config; +}); diff --git a/basic/pom/fixtures.ts b/basic/pom/fixtures.ts index d6e3f31a..1cd93958 100644 --- a/basic/pom/fixtures.ts +++ b/basic/pom/fixtures.ts @@ -1,12 +1,12 @@ -import {test as base} from '@playwright/test'; -import {TodoPage} from './todoPage.pom'; +import { test as base } from '@playwright/test'; +import { TodoPage } from './todoPage.pom'; /** * This adds a todoPage fixture which has access to the page instance * @see https://playwright.dev/docs/test-fixtures */ export const test = base.extend<{ todoPage: TodoPage }>({ - todoPage: async ({page}, use) => { + todoPage: async ({ page }, use) => { await use(new TodoPage(page)); }, }); diff --git a/basic/pom/pom-with-fixtures.spec.ts b/basic/pom/pom-with-fixtures.spec.ts index 0bd79ca0..a0445ccf 100644 --- a/basic/pom/pom-with-fixtures.spec.ts +++ b/basic/pom/pom-with-fixtures.spec.ts @@ -1,4 +1,4 @@ -import {test, expect} from './fixtures'; +import { test, expect } from './fixtures'; /** * Fixtures are used here to create a TodoApp instance for every test. These are @@ -6,21 +6,21 @@ import {test, expect} from './fixtures'; * boilerplate created for each test and makes it more reusable. * @see https://playwright.dev/docs/test-fixtures */ -test.beforeEach(async ({todoPage}) => { +test.beforeEach(async ({ todoPage }) => { await todoPage.goto(); }); -test('should display zero initial items', async ({todoPage}) => { +test('should display zero initial items', async ({ todoPage }) => { await expect(todoPage.listItems).toHaveCount(0); }); -test('should be able to add new items', async ({todoPage}) => { +test('should be able to add new items', async ({ todoPage }) => { await todoPage.addItem('Example #1'); await todoPage.addItem('Example #2'); await expect(todoPage.listItems).toHaveText(['Example #1', 'Example #2']); }); -test('should be able to mark items as completed', async ({todoPage}) => { +test('should be able to mark items as completed', async ({ todoPage }) => { await todoPage.addItem('Example #1'); const firstListItem = todoPage.listItems.first(); await expect(firstListItem).not.toHaveClass('completed'); @@ -28,14 +28,14 @@ test('should be able to mark items as completed', async ({todoPage}) => { await expect(firstListItem).toHaveClass('completed'); }); -test('should still show the items after a page reload', async ({page, todoPage}) => { +test('should still show the items after a page reload', async ({ page, todoPage }) => { await todoPage.addItem('Example #1'); await expect(todoPage.listItems).toHaveText(['Example #1']); await page.reload(); await expect(todoPage.listItems).toHaveText(['Example #1']); }); -test('should be able to filter by uncompleted items', async ({todoPage}) => { +test('should be able to filter by uncompleted items', async ({ todoPage }) => { await todoPage.addItem('Example #1'); await todoPage.addItem('Example #2'); await todoPage.addItem('Example #3'); @@ -45,7 +45,7 @@ test('should be able to filter by uncompleted items', async ({todoPage}) => { await expect(todoPage.listItems).toHaveText(['Example #1', 'Example #2']); }); -test('should be able to filter by completed items', async ({todoPage}) => { +test('should be able to filter by completed items', async ({ todoPage }) => { await todoPage.addItem('Example #1'); await todoPage.addItem('Example #2'); await todoPage.addItem('Example #3'); @@ -54,7 +54,7 @@ test('should be able to filter by completed items', async ({todoPage}) => { await expect(todoPage.listItems).toHaveText(['Example #3']); }); -test('should be able to delete completed items', async ({todoPage}) => { +test('should be able to delete completed items', async ({ todoPage }) => { await todoPage.addItem('Example #1'); await todoPage.listItems.last().locator('.toggle').check(); await expect(todoPage.listItems).toHaveText(['Example #1']); diff --git a/basic/pom/pom.spec.ts b/basic/pom/pom.spec.ts index 55533849..1051ba4e 100644 --- a/basic/pom/pom.spec.ts +++ b/basic/pom/pom.spec.ts @@ -1,14 +1,14 @@ -import {test, expect} from '@playwright/test'; -import {TodoPage} from './todoPage.pom'; +import { test, expect } from '@playwright/test'; +import { TodoPage } from './todoPage.pom'; test.describe('ToDo App', () => { - test('should display zero initial items', async ({page}) => { + test('should display zero initial items', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await expect(todoPage.listItems).toHaveCount(0); }); - test('should be able to add new items', async ({page}) => { + test('should be able to add new items', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await todoPage.addItem('Example #1'); @@ -16,7 +16,7 @@ test.describe('ToDo App', () => { await expect(todoPage.listItems).toHaveText(['Example #1', 'Example #2']); }); - test('should be able to mark items as completed', async ({page}) => { + test('should be able to mark items as completed', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await todoPage.addItem('Example #1'); @@ -26,7 +26,7 @@ test.describe('ToDo App', () => { await expect(firstListItem).toHaveClass('completed'); }); - test('should still show the items after a page reload', async ({page}) => { + test('should still show the items after a page reload', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await todoPage.addItem('Example #1'); @@ -35,7 +35,7 @@ test.describe('ToDo App', () => { await expect(todoPage.listItems).toHaveText(['Example #1']); }); - test('should be able to filter by uncompleted items', async ({page}) => { + test('should be able to filter by uncompleted items', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await todoPage.addItem('Example #1'); @@ -46,7 +46,7 @@ test.describe('ToDo App', () => { await expect(todoPage.listItems).toHaveText(['Example #1', 'Example #2']); }); - test('should be able to filter by completed items', async ({page}) => { + test('should be able to filter by completed items', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await todoPage.addItem('Example #1'); @@ -57,7 +57,7 @@ test.describe('ToDo App', () => { await expect(todoPage.listItems).toHaveText(['Example #3']); }); - test('should be able to delete completed items', async ({page}) => { + test('should be able to delete completed items', async ({ page }) => { const todoPage = new TodoPage(page); await todoPage.goto(); await todoPage.addItem('Example #1'); diff --git a/basic/pom/todoPage.pom.ts b/basic/pom/todoPage.pom.ts index 61c16c23..efafc680 100644 --- a/basic/pom/todoPage.pom.ts +++ b/basic/pom/todoPage.pom.ts @@ -1,4 +1,4 @@ -import {Page} from '@playwright/test'; +import { Page } from '@playwright/test'; /** * This is a Page Object Model (POM) class for the application's Todo page. It diff --git a/chrome-extension/playwright.config.ts b/chrome-extension/playwright.config.ts index 28e5e441..ca05db9a 100644 --- a/chrome-extension/playwright.config.ts +++ b/chrome-extension/playwright.config.ts @@ -1,100 +1,30 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +import { defineConfig, devices } from '@playwright/test'; +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, - }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ use: { ...devices['Desktop Chrome'], }, }, - - /* 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/chrome-extension/tests/example.spec.ts b/chrome-extension/tests/example.spec.ts index d7a6eff3..d43c2be0 100644 --- a/chrome-extension/tests/example.spec.ts +++ b/chrome-extension/tests/example.spec.ts @@ -5,12 +5,12 @@ * NOTE: there is not currently support to test extension pop-ups * Feature request: https://github.com/microsoft/playwright/issues/5593 */ -import {test, chromium, BrowserContext} from '@playwright/test'; +import { test, chromium, BrowserContext } from '@playwright/test'; test.describe('chrome extension tests', () => { let browserContext: BrowserContext; - test.beforeEach(async ({}, testInfo) => { + test.beforeEach(async ({ }, testInfo) => { const pathToExtension = require('path').join(__dirname, '../my-extension'); const userDataDir = testInfo.outputPath('test-user-data-dir'); browserContext = await chromium.launchPersistentContext(userDataDir, { diff --git a/drag-and-drop/.env b/drag-and-drop/.env new file mode 100644 index 00000000..df141670 --- /dev/null +++ b/drag-and-drop/.env @@ -0,0 +1 @@ +BASEURL = 'https://www.w3schools.com/html/html5_draganddrop.asp' \ No newline at end of file diff --git a/drag-and-drop/playwright.config.ts b/drag-and-drop/playwright.config.ts index 14090ad2..3ba47274 100644 --- a/drag-and-drop/playwright.config.ts +++ b/drag-and-drop/playwright.config.ts @@ -1,114 +1,44 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 60 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/drag-and-drop/tests/example.spec.ts b/drag-and-drop/tests/example.spec.ts index 9beee07a..99b899bb 100644 --- a/drag-and-drop/tests/example.spec.ts +++ b/drag-and-drop/tests/example.spec.ts @@ -2,15 +2,14 @@ * In this test we test drag and drop using page.dragAndDrop() * @see https://playwright.dev/docs/api/class-page#page-drag-and-drop */ -import {test, expect} from '@playwright/test'; +import { test, expect } from '@playwright/test'; -test('W3 schools logo should drag and drop', async ({page}) => { +test('W3 schools logo should drag and drop', async ({ page }) => { await page.goto(''); // drag image by id, and drop it to div with id 'div2' await page.dragAndDrop('#drag1', '#div2'); // verify that div2 contains the image expect(page.locator('#div2.#drag1')).toBeTruthy(); - // reverse and drag from div2, back to div1 await page.dragAndDrop('#drag1', '#div1'); // verify that div2 contains the image diff --git a/electron/playwright.config.ts b/electron/playwright.config.ts index 8c0366d7..31bbceba 100644 --- a/electron/playwright.config.ts +++ b/electron/playwright.config.ts @@ -1,50 +1,21 @@ -import {PlaywrightTestConfig} from '@playwright/test'; - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +import { defineConfig, devices } from '@playwright/test'; +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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 ? 1 : 0, - - /* Opt out of parallel tests on CI. */ + retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, - - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - headless: true, - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - -}; -export default config; +}); diff --git a/electron/tests/example.spec.ts b/electron/tests/example.spec.ts index 80659ce5..ae5e9a2f 100644 --- a/electron/tests/example.spec.ts +++ b/electron/tests/example.spec.ts @@ -2,13 +2,13 @@ * Example automation for electron * @see https://playwright.dev/docs/api/class-electron */ -import {_electron as electron, test, expect, ElectronApplication} from '@playwright/test'; +import { _electron as electron, test, expect, ElectronApplication } from '@playwright/test'; let electronApp: ElectronApplication; test.beforeEach(async () => { // Launch Electron app. - electronApp = await electron.launch({args: ['dist/index.js']}); + electronApp = await electron.launch({ args: ['dist/index.js'] }); }); test.afterEach(async () => { @@ -18,7 +18,7 @@ test.afterEach(async () => { test('app path', async () => { // Evaluation expression in the Electron context. - const appPath = await electronApp.evaluate(async ({app}) => { + const appPath = await electronApp.evaluate(async ({ app }) => { // This runs in the main Electron process, parameter here is always // the result of the require('electron') in the main app script. return app.getAppPath(); diff --git a/fixtures/playwright.config.ts b/fixtures/playwright.config.ts index e202c4a0..bac4201b 100644 --- a/fixtures/playwright.config.ts +++ b/fixtures/playwright.config.ts @@ -1,114 +1,44 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/fixtures/tests/express-test.ts b/fixtures/tests/express-test.ts index a4e2df67..391feb53 100644 --- a/fixtures/tests/express-test.ts +++ b/fixtures/tests/express-test.ts @@ -2,9 +2,9 @@ * In this test we define our worker fixtures. * @see https://playwright.dev/docs/test-fixtures#worker-fixtures */ -import {test as base} from '@playwright/test'; +import { test as base } from '@playwright/test'; import express from 'express'; -import type {Express} from 'express'; +import type { Express } from 'express'; // Declare worker fixtures. type ExpressWorkerFixtures = { @@ -17,13 +17,13 @@ const test = base.extend<{}, ExpressWorkerFixtures>({ // We pass a tuple to specify fixtures options. // In this case, we mark this fixture as worker-scoped. - port: [async ({}, use, workerInfo) => { + port: [async ({ }, use, workerInfo) => { // "port" fixture uses a unique value of the worker process index. await use(3000 + workerInfo.workerIndex); - }, {scope: 'worker'}], + }, { scope: 'worker' }], // "express" fixture starts automatically for every worker - we pass "auto" for that. - express: [async ({port}, use) => { + express: [async ({ port }, use) => { // Setup express app. const app = express(); app.get('/1', (req, res) => { @@ -48,7 +48,7 @@ const test = base.extend<{}, ExpressWorkerFixtures>({ console.log('Stopping server...'); await new Promise((f) => server.close(f)); console.log('Server stopped'); - }, {scope: 'worker', auto: true}], + }, { scope: 'worker', auto: true }], }); export default test; diff --git a/fixtures/tests/express.spec.ts b/fixtures/tests/express.spec.ts index d1fc7010..88ba6e0b 100644 --- a/fixtures/tests/express.spec.ts +++ b/fixtures/tests/express.spec.ts @@ -4,12 +4,12 @@ */ import test from './express-test'; -test('fetch 1', async ({port}) => { +test('fetch 1', async ({ port }) => { const result = await fetch(`http://localhost:${port}/1`); test.expect(await result.text()).toBe('Hello World 1!'); }); -test('fetch 2', async ({port}) => { +test('fetch 2', async ({ port }) => { const result = await fetch(`http://localhost:${port}/2`); test.expect(await result.text()).toBe('Hello World 2!'); }); diff --git a/fixtures/tests/hello-test-fixture.ts b/fixtures/tests/hello-test-fixture.ts index ca5a1089..61d5f3af 100644 --- a/fixtures/tests/hello-test-fixture.ts +++ b/fixtures/tests/hello-test-fixture.ts @@ -2,7 +2,7 @@ * In this file we define our test fixtures. * @see https://playwright.dev/docs/test-fixtures#test-fixtures */ -import {test as base} from '@playwright/test'; +import { test as base } from '@playwright/test'; // Define test fixtures "hello" and "helloWorld". type TestFixtures = { @@ -16,7 +16,7 @@ const test = base.extend({ hello: 'Hello', // This fixture has some complex logic and is defined with a function. - helloWorld: async ({hello}, use) => { + helloWorld: async ({ hello }, use) => { // Set up the fixture. const value = hello + ', world!'; diff --git a/fixtures/tests/test-fixture.spec.ts b/fixtures/tests/test-fixture.spec.ts index 8aea6553..5e615c37 100644 --- a/fixtures/tests/test-fixture.spec.ts +++ b/fixtures/tests/test-fixture.spec.ts @@ -4,10 +4,10 @@ */ import test from './hello-test-fixture'; -test('hello', ({hello}) => { +test('hello', ({ hello }) => { test.expect(hello).toBe('Hello'); }); -test('hello world', ({helloWorld}) => { +test('hello world', ({ helloWorld }) => { test.expect(helloWorld).toBe('Hello, world!'); }); diff --git a/github-api/.env b/github-api/.env new file mode 100644 index 00000000..25df99f7 --- /dev/null +++ b/github-api/.env @@ -0,0 +1 @@ +BASEURL = 'https://api.github.com' \ No newline at end of file diff --git a/github-api/playwright.config.ts b/github-api/playwright.config.ts index 81f3616f..3e6c0258 100644 --- a/github-api/playwright.config.ts +++ b/github-api/playwright.config.ts @@ -1,36 +1,23 @@ -import {PlaywrightTestConfig} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - - /* Fail the build on CI if you accidentally left test.only in the source code. */ + expect: { + timeout: 5000, + }, 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: [ + ['list'], ['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('/')`. */ + actionTimeout: 0, baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'off', + trace: 'on', }, -}; -export default config; +}); diff --git a/github-api/tests/example.spec.ts b/github-api/tests/example.spec.ts index 52b31d99..4f52ba27 100644 --- a/github-api/tests/example.spec.ts +++ b/github-api/tests/example.spec.ts @@ -6,7 +6,7 @@ * 2. Run tests that programmatically create new issues. * 3. Delete the repo. */ -import {test, expect} from '@playwright/test'; +import { test, expect } from '@playwright/test'; const user = process.env.GITHUB_USER; const repo = 'Test-Repo-1'; @@ -19,7 +19,7 @@ test.use({ }, }); -test.beforeAll(async ({request}) => { +test.beforeAll(async ({ request }) => { // Create repo const response = await request.post('/user/repos', { data: { @@ -29,13 +29,13 @@ test.beforeAll(async ({request}) => { expect(response.ok()).toBeTruthy(); }); -test.afterAll(async ({request}) => { +test.afterAll(async ({ request }) => { // Delete repo const response = await request.delete(`/repos/${user}/${repo}`); expect(response.ok()).toBeTruthy(); }); -test('should create bug report', async ({request}) => { +test('should create bug report', async ({ request }) => { const newIssue = await request.post(`/repos/${user}/${repo}/issues`, { data: { title: '[Bug] report 1', @@ -52,7 +52,7 @@ test('should create bug report', async ({request}) => { })); }); -test('should create feature request', async ({request}) => { +test('should create feature request', async ({ request }) => { const newIssue = await request.post(`/repos/${user}/${repo}/issues`, { data: { title: '[Feature] request 1', diff --git a/oauth/.env b/oauth/.env new file mode 100644 index 00000000..9049235b --- /dev/null +++ b/oauth/.env @@ -0,0 +1,5 @@ +# GITIGNORE THIS FILE IF YOU ADD CREDENTIALS BELOW!! +BASEURL = 'https://courses.ultimateqa.com/users/sign_in' +GMAIL_USER = # ADD YOUR GMAIL USER HERE +OUTLOOK_USER = # ADD YOUR OUTLOOK USER HERE +PW_PWD = # ADD YOUR PASSWORDs HERE \ No newline at end of file diff --git a/oauth/playwright.config.ts b/oauth/playwright.config.ts index 33c2df5c..0ba0e5fb 100644 --- a/oauth/playwright.config.ts +++ b/oauth/playwright.config.ts @@ -1,53 +1,26 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 80 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 500000, + timeout: 5000, }, - - /* 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 ? 0 : 0, - - /* Opt out of parallel tests on CI. */ + retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, - - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'firefox', @@ -62,14 +35,4 @@ const config: PlaywrightTestConfig = { }, }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/oauth/tests/example.spec.ts b/oauth/tests/example.spec.ts index 9059276d..77867d51 100644 --- a/oauth/tests/example.spec.ts +++ b/oauth/tests/example.spec.ts @@ -1,11 +1,11 @@ -import {test, expect} from '@playwright/test'; +import { test, expect } from '@playwright/test'; -test.beforeEach(async ({page}) => { +test.beforeEach(async ({ page }) => { await page.goto(''); }); test.describe('Oauth tests', () => { - test('Should be able to login with Facebook', async ({page}) => { + test('Should be able to login with Facebook', async ({ page }) => { await page.locator('a.button.facebook').click(); await page.locator('[placeholder="Email or phone number"]').fill(process.env.OUTLOOK_USER); await page.locator('[placeholder="Email or phone number"]').press('Tab'); @@ -13,7 +13,7 @@ test.describe('Oauth tests', () => { await page.locator('button:has-text("Log In")').click(); }); - test('Should be able to login with Google', async ({page}) => { + test('Should be able to login with Google', async ({ page }) => { await page.locator('a.button.google').click(); await page.locator('[aria-label="Email or phone"]').fill(process.env.GMAIL_USER); await page.locator('button:has-text("Next")').click(); @@ -22,7 +22,7 @@ test.describe('Oauth tests', () => { }); }); -test.afterEach(async ({page}) => { +test.afterEach(async ({ page }) => { // URL should be changed to collections page after login await expect(page).toHaveURL(/.*collections/); // Check menu items after login diff --git a/package-lock.json b/package-lock.json index 6163ec7c..a6695929 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@axe-core/playwright": "^4.4.4", + "@axe-core/playwright": "^4.7.3", + "dotenv": "^16.3.1", "express": "^4.17.2", "lighthouse": "^9.5.0", "typescript": "^4.5.5" @@ -24,15 +25,14 @@ } }, "node_modules/@axe-core/playwright": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.4.tgz", - "integrity": "sha512-VA7MR1WCqW5tFcUGCXDaaqV9pJUCdOGIR4DiZJrOxGjeRYxz3VwyMc1MDg/yiJ5fQA/QYMx+w0mvqYEr3CPx7w==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.7.3.tgz", + "integrity": "sha512-v2PRgAyGvop7bamrTpNJtc5b1R7giAPnMzZXrS/VDZBCY5+uwVYtCNgDvBsqp5P1QMZxUMoBN+CERJUTMjFN0A==", "dependencies": { - "axe-core": "^4.4.2", - "playwright": ">= 1.0.0" + "axe-core": "^4.7.0" }, "peerDependencies": { - "playwright": ">= 1.0.0" + "playwright-core": ">= 1.0.0" } }, "node_modules/@eslint/eslintrc": { @@ -640,9 +640,9 @@ } }, "node_modules/axe-core": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", - "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", "engines": { "node": ">=4" } @@ -1069,6 +1069,17 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -2546,32 +2557,6 @@ "node": ">=8" } }, - "node_modules/playwright": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.25.2.tgz", - "integrity": "sha512-RwMB5SFRV/8wSfK+tK8ycpqdzORvoqUNz9DUeRfSgZFrZej5uuBl9wFjWcc+OkXFEtaPmx1acAVGG7hA4IJ1kg==", - "hasInstallScript": true, - "dependencies": { - "playwright-core": "1.25.2" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/playwright-core": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.2.tgz", - "integrity": "sha512-0yTbUE9lIddkEpLHL3u8PoCL+pWiZtj5A/j3U7YoNjcmKKDGBnCrgHJMzwd2J5vy6l28q4ki3JIuz7McLHhl1A==", - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/playwright-lighthouse": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/playwright-lighthouse/-/playwright-lighthouse-2.2.2.tgz", @@ -3448,12 +3433,11 @@ }, "dependencies": { "@axe-core/playwright": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.4.tgz", - "integrity": "sha512-VA7MR1WCqW5tFcUGCXDaaqV9pJUCdOGIR4DiZJrOxGjeRYxz3VwyMc1MDg/yiJ5fQA/QYMx+w0mvqYEr3CPx7w==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.7.3.tgz", + "integrity": "sha512-v2PRgAyGvop7bamrTpNJtc5b1R7giAPnMzZXrS/VDZBCY5+uwVYtCNgDvBsqp5P1QMZxUMoBN+CERJUTMjFN0A==", "requires": { - "axe-core": "^4.4.2", - "playwright": ">= 1.0.0" + "axe-core": "^4.7.0" } }, "@eslint/eslintrc": { @@ -3820,8 +3804,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "agent-base": { "version": "6.0.2", @@ -3879,9 +3862,9 @@ "dev": true }, "axe-core": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", - "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==" + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" }, "balanced-match": { "version": "1.0.2", @@ -4191,6 +4174,11 @@ "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==" + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -5313,19 +5301,6 @@ } } }, - "playwright": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.25.2.tgz", - "integrity": "sha512-RwMB5SFRV/8wSfK+tK8ycpqdzORvoqUNz9DUeRfSgZFrZej5uuBl9wFjWcc+OkXFEtaPmx1acAVGG7hA4IJ1kg==", - "requires": { - "playwright-core": "1.25.2" - } - }, - "playwright-core": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.2.tgz", - "integrity": "sha512-0yTbUE9lIddkEpLHL3u8PoCL+pWiZtj5A/j3U7YoNjcmKKDGBnCrgHJMzwd2J5vy6l28q4ki3JIuz7McLHhl1A==" - }, "playwright-lighthouse": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/playwright-lighthouse/-/playwright-lighthouse-2.2.2.tgz", @@ -5403,8 +5378,7 @@ "ws": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "requires": {} + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" } } }, @@ -5881,8 +5855,7 @@ "ws": { "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" }, "xdg-basedir": { "version": "4.0.0", diff --git a/package.json b/package.json index 4fd9c0e8..b9c1033f 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "playwright-lighthouse": "^2.2.1" }, "dependencies": { - "@axe-core/playwright": "^4.4.4", + "@axe-core/playwright": "^4.7.3", + "dotenv": "^16.3.1", "express": "^4.17.2", "lighthouse": "^9.5.0", "typescript": "^4.5.5" diff --git a/performance/.env b/performance/.env new file mode 100644 index 00000000..76bd20d7 --- /dev/null +++ b/performance/.env @@ -0,0 +1 @@ +BASEURL = 'https://fastestwebsite.net/' \ No newline at end of file diff --git a/performance/playwright.config.ts b/performance/playwright.config.ts index 28e5e441..af13414c 100644 --- a/performance/playwright.config.ts +++ b/performance/playwright.config.ts @@ -1,100 +1,32 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, - }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ use: { ...devices['Desktop Chrome'], }, }, - - /* 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/performance/tests/example.spec.ts b/performance/tests/example.spec.ts index cd3c6cda..7fa09b88 100644 --- a/performance/tests/example.spec.ts +++ b/performance/tests/example.spec.ts @@ -1,26 +1,24 @@ -import {test, chromium} from '@playwright/test'; -import {playAudit} from 'playwright-lighthouse'; +import { test, chromium } from '@playwright/test'; +import { playAudit } from 'playwright-lighthouse'; -test.describe.parallel('web performance tests', () => { - /** - * In this test we use request.timing() - * to to return timing information about the request - * @see https://playwright.dev/docs/api/class-request#request-timing - */ - test('Get resource timing of request', async ({page}) => { - const [request] = await Promise.all([ - page.waitForEvent('requestfinished'), - page.goto(''), - ]); - console.log(request.timing()); - }); +test.describe('web performance tests', () => { + test('Use Performance API to measure performance', async ({ page }, TestInfo) => { + const [performanceTiming] = await page.evaluate(() => { + const [timing] = performance.getEntriesByType('navigation'); + return [timing]; + }); + // Get the start to load event end time + const startToLoadEventEnd = (performanceTiming as PerformanceNavigationTiming).loadEventEnd - (performanceTiming as PerformanceNavigationTiming).startTime; + // Add the performance annotation to the HTML report + test.info().annotations.push({ type: 'Performance', description: `"${TestInfo.project.name}" - Navigation start to load event end: ${startToLoadEventEnd}ms` }); + }); /** * In this test we start CDPSession to talk to DevTools * and a simulate a slow network connection * @see https://playwright.dev/docs/api/class-cdpsession */ - test('Simulate slow network connection', async ({page}) => { + test('Simulate slow network connection', async ({ page }) => { const client = await page.context().newCDPSession(page); await client.send('Network.enable'); await client.send('Network.emulateNetworkConditions', { @@ -63,4 +61,4 @@ test.describe.parallel('web performance tests', () => { await browser.close(); }); -}); +}); \ No newline at end of file diff --git a/svgomg/.env b/svgomg/.env new file mode 100644 index 00000000..1b77066a --- /dev/null +++ b/svgomg/.env @@ -0,0 +1 @@ +BASEURL = 'https://demo.playwright.dev/svgomg' \ No newline at end of file diff --git a/svgomg/playwright.config.ts b/svgomg/playwright.config.ts index e202c4a0..bac4201b 100644 --- a/svgomg/playwright.config.ts +++ b/svgomg/playwright.config.ts @@ -1,114 +1,44 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/svgomg/tests/example.spec.ts b/svgomg/tests/example.spec.ts index 340b42de..fa224845 100644 --- a/svgomg/tests/example.spec.ts +++ b/svgomg/tests/example.spec.ts @@ -1,11 +1,11 @@ -import {test, expect} from '@playwright/test'; +import { test, expect } from '@playwright/test'; import fs from 'fs'; -test.beforeEach(async ({page}) => { +test.beforeEach(async ({ page }) => { await page.goto(''); }); -test('verify menu items', async ({page}) => { +test('verify menu items', async ({ page }) => { await expect(page.locator('.menu li')).toHaveText([ 'Open SVG', 'Paste markup', @@ -15,11 +15,11 @@ test('verify menu items', async ({page}) => { }); test.describe('demo tests', () => { - test.beforeEach(async ({page}) => { + test.beforeEach(async ({ page }) => { await page.locator('.menu-item >> text=Demo').click(); }); - test('verify default global settings', async ({page}) => { + test('verify default global settings', async ({ page }) => { const menuItems = page.locator('.settings-scroller .global .setting-item-toggle'); await expect(menuItems).toHaveText([ 'Show original', @@ -35,7 +35,7 @@ test.describe('demo tests', () => { await expect(toggle.locator('text=Multipass')).not.toBeChecked(); }); - test('verify default features', async ({page}) => { + test('verify default features', async ({ page }) => { const enabledOptions = [ 'Clean up attribute whitespace', 'Clean up IDs', @@ -62,7 +62,7 @@ test.describe('demo tests', () => { } }); - test('reset settings', async ({page}) => { + test('reset settings', async ({ page }) => { const showOriginalSetting = page.locator('.setting-item-toggle >> text=Show original'); await showOriginalSetting.click(); await expect(showOriginalSetting).toBeChecked(); @@ -70,7 +70,7 @@ test.describe('demo tests', () => { await expect(showOriginalSetting).not.toBeChecked(); }); - test('download result', async ({page}) => { + test('download result', async ({ page }) => { const downloadButton = page.locator('a[title=Download]'); await expect(downloadButton).toHaveAttribute('href', /blob/); const [download] = await Promise.all([ @@ -83,7 +83,7 @@ test.describe('demo tests', () => { }); }); -test('open svg', async ({page}) => { +test('open svg', async ({ page }) => { // Start waiting for the file chooser, then click the button. const [fileChooser] = await Promise.all([ page.waitForEvent('filechooser'), diff --git a/todomvc/.env b/todomvc/.env new file mode 100644 index 00000000..138e9239 --- /dev/null +++ b/todomvc/.env @@ -0,0 +1 @@ +BASEURL = 'https://demo.playwright.dev/todomvc' \ No newline at end of file diff --git a/todomvc/playwright.config.ts b/todomvc/playwright.config.ts index 212cf74e..bac4201b 100644 --- a/todomvc/playwright.config.ts +++ b/todomvc/playwright.config.ts @@ -1,112 +1,44 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', + acceptDownloads: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/todomvc/tests/example.spec.ts b/todomvc/tests/example.spec.ts index d96a2a74..070e0d50 100644 --- a/todomvc/tests/example.spec.ts +++ b/todomvc/tests/example.spec.ts @@ -1,6 +1,6 @@ -import {test, expect, Page} from '@playwright/test'; +import { test, expect, Page } from '@playwright/test'; -test.beforeEach(async ({page}) => { +test.beforeEach(async ({ page }) => { await page.goto(''); }); @@ -11,7 +11,7 @@ const TODO_ITEMS = [ ]; test.describe('New Todo', () => { - test('should allow me to add todo items', async ({page}) => { + test('should allow me to add todo items', async ({ page }) => { // Create 1st todo. await page.locator('.new-todo').fill(TODO_ITEMS[0]); await page.locator('.new-todo').press('Enter'); @@ -34,7 +34,7 @@ test.describe('New Todo', () => { await checkNumberOfTodosInLocalStorage(page, 2); }); - test('should clear text input field when an item is added', async ({page}) => { + test('should clear text input field when an item is added', async ({ page }) => { // Create one todo item. await page.locator('.new-todo').fill(TODO_ITEMS[0]); await page.locator('.new-todo').press('Enter'); @@ -44,7 +44,7 @@ test.describe('New Todo', () => { await checkNumberOfTodosInLocalStorage(page, 1); }); - test('should append new items to the bottom of the list', async ({page}) => { + test('should append new items to the bottom of the list', async ({ page }) => { // Create 3 items. await createDefaultTodos(page); @@ -58,7 +58,7 @@ test.describe('New Todo', () => { await checkNumberOfTodosInLocalStorage(page, 3); }); - test('should show #main and #footer when items added', async ({page}) => { + test('should show #main and #footer when items added', async ({ page }) => { await page.locator('.new-todo').fill(TODO_ITEMS[0]); await page.locator('.new-todo').press('Enter'); @@ -69,16 +69,16 @@ test.describe('New Todo', () => { }); test.describe('Mark all as completed', () => { - test.beforeEach(async ({page}) => { + test.beforeEach(async ({ page }) => { await createDefaultTodos(page); await checkNumberOfTodosInLocalStorage(page, 3); }); - test.afterEach(async ({page}) => { + test.afterEach(async ({ page }) => { await checkNumberOfTodosInLocalStorage(page, 3); }); - test('should allow me to mark all items as completed', async ({page}) => { + test('should allow me to mark all items as completed', async ({ page }) => { // Complete all todos. await page.locator('.toggle-all').check(); @@ -87,7 +87,7 @@ test.describe('Mark all as completed', () => { await checkNumberOfCompletedTodosInLocalStorage(page, 3); }); - test('should allow me to clear the complete state of all items', async ({page}) => { + test('should allow me to clear the complete state of all items', async ({ page }) => { // Check and then immediately uncheck. await page.locator('.toggle-all').check(); await page.locator('.toggle-all').uncheck(); @@ -96,7 +96,7 @@ test.describe('Mark all as completed', () => { await expect(page.locator('.todo-list li')).toHaveClass(['', '', '']); }); - test('complete all checkbox should update state when items are completed / cleared', async ({page}) => { + test('complete all checkbox should update state when items are completed / cleared', async ({ page }) => { const toggleAll = page.locator('.toggle-all'); await toggleAll.check(); await expect(toggleAll).toBeChecked(); @@ -108,7 +108,6 @@ test.describe('Mark all as completed', () => { // Reuse toggleAll locator and make sure its not checked. await expect(toggleAll).not.toBeChecked(); - await firstTodo.locator('.toggle').check(); await checkNumberOfCompletedTodosInLocalStorage(page, 3); @@ -118,7 +117,7 @@ test.describe('Mark all as completed', () => { }); test.describe('Item', () => { - test('should allow me to mark items as complete', async ({page}) => { + test('should allow me to mark items as complete', async ({ page }) => { // Create two items. for (const item of TODO_ITEMS.slice(0, 2)) { await page.locator('.new-todo').fill(item); @@ -140,7 +139,7 @@ test.describe('Item', () => { await expect(secondTodo).toHaveClass('completed'); }); - test('should allow me to un-mark items as complete', async ({page}) => { + test('should allow me to un-mark items as complete', async ({ page }) => { // Create two items. for (const item of TODO_ITEMS.slice(0, 2)) { await page.locator('.new-todo').fill(item); @@ -153,16 +152,14 @@ test.describe('Item', () => { await expect(firstTodo).toHaveClass('completed'); await expect(secondTodo).not.toHaveClass('completed'); await checkNumberOfCompletedTodosInLocalStorage(page, 1); - await firstTodo.locator('.toggle').uncheck(); await expect(firstTodo).not.toHaveClass('completed'); await expect(secondTodo).not.toHaveClass('completed'); await checkNumberOfCompletedTodosInLocalStorage(page, 0); }); - test('should allow me to edit an item', async ({page}) => { + test('should allow me to edit an item', async ({ page }) => { await createDefaultTodos(page); - const todoItems = page.locator('.todo-list li'); const secondTodo = todoItems.nth(1); await secondTodo.dblclick(); @@ -181,12 +178,12 @@ test.describe('Item', () => { }); test.describe('Editing', () => { - test.beforeEach(async ({page}) => { + test.beforeEach(async ({ page }) => { await createDefaultTodos(page); await checkNumberOfTodosInLocalStorage(page, 3); }); - test('should hide other controls when editing', async ({page}) => { + test('should hide other controls when editing', async ({ page }) => { const todoItem = page.locator('.todo-list li').nth(1); await todoItem.dblclick(); await expect(todoItem.locator('.toggle')).not.toBeVisible(); @@ -194,12 +191,11 @@ test.describe('Editing', () => { await checkNumberOfTodosInLocalStorage(page, 3); }); - test('should save edits on blur', async ({page}) => { + test('should save edits on blur', async ({ page }) => { const todoItems = page.locator('.todo-list li'); await todoItems.nth(1).dblclick(); await todoItems.nth(1).locator('.edit').fill('buy some sausages'); await todoItems.nth(1).locator('.edit').dispatchEvent('blur'); - await expect(todoItems).toHaveText([ TODO_ITEMS[0], 'buy some sausages', @@ -208,12 +204,11 @@ test.describe('Editing', () => { await checkTodosInLocalStorage(page, 'buy some sausages'); }); - test('should trim entered text', async ({page}) => { + test('should trim entered text', async ({ page }) => { const todoItems = page.locator('.todo-list li'); await todoItems.nth(1).dblclick(); await todoItems.nth(1).locator('.edit').fill(' buy some sausages '); await todoItems.nth(1).locator('.edit').press('Enter'); - await expect(todoItems).toHaveText([ TODO_ITEMS[0], 'buy some sausages', @@ -222,12 +217,11 @@ test.describe('Editing', () => { await checkTodosInLocalStorage(page, 'buy some sausages'); }); - test('should remove the item if an empty text string was entered', async ({page}) => { + test('should remove the item if an empty text string was entered', async ({ page }) => { const todoItems = page.locator('.todo-list li'); await todoItems.nth(1).dblclick(); await todoItems.nth(1).locator('.edit').fill(''); await todoItems.nth(1).locator('.edit').press('Enter'); - await page.pause(); await expect(todoItems).toHaveText([ TODO_ITEMS[0], @@ -235,7 +229,7 @@ test.describe('Editing', () => { ]); }); - test('should cancel edits on escape', async ({page}) => { + test('should cancel edits on escape', async ({ page }) => { const todoItems = page.locator('.todo-list li'); await todoItems.nth(1).dblclick(); await todoItems.nth(1).locator('.edit').press('Escape'); @@ -244,30 +238,28 @@ test.describe('Editing', () => { }); test.describe('Counter', () => { - test('should display the current number of todo items', async ({page}) => { + test('should display the current number of todo items', async ({ page }) => { await page.locator('.new-todo').fill(TODO_ITEMS[0]); await page.locator('.new-todo').press('Enter'); await expect(page.locator('.todo-count')).toContainText('1'); - await page.locator('.new-todo').fill(TODO_ITEMS[1]); await page.locator('.new-todo').press('Enter'); await expect(page.locator('.todo-count')).toContainText('2'); - await checkNumberOfTodosInLocalStorage(page, 2); }); }); test.describe('Clear completed button', () => { - test.beforeEach(async ({page}) => { + test.beforeEach(async ({ page }) => { await createDefaultTodos(page); }); - test('should display the correct text', async ({page}) => { + test('should display the correct text', async ({ page }) => { await page.locator('.todo-list li .toggle').first().check(); await expect(page.locator('.clear-completed')).toHaveText('Clear completed'); }); - test('should remove completed items when clicked', async ({page}) => { + test('should remove completed items when clicked', async ({ page }) => { const todoItems = page.locator('.todo-list li'); await todoItems.nth(1).locator('.toggle').check(); await page.locator('.clear-completed').click(); @@ -275,7 +267,7 @@ test.describe('Clear completed button', () => { await expect(todoItems).toHaveText([TODO_ITEMS[0], TODO_ITEMS[2]]); }); - test('should be hidden when there are no items that are completed', async ({page}) => { + test('should be hidden when there are no items that are completed', async ({ page }) => { await page.locator('.todo-list li .toggle').first().check(); await page.locator('.clear-completed').click(); await expect(page.locator('.clear-completed')).toBeHidden(); @@ -283,7 +275,7 @@ test.describe('Clear completed button', () => { }); test.describe('Persistence', () => { - test('should persist its data', async ({page}) => { + test('should persist its data', async ({ page }) => { for (const item of TODO_ITEMS.slice(0, 2)) { await page.locator('.new-todo').fill(item); await page.locator('.new-todo').press('Enter'); @@ -305,15 +297,14 @@ test.describe('Persistence', () => { }); test.describe('Routing', () => { - test.beforeEach(async ({page}) => { + test.beforeEach(async ({ page }) => { await createDefaultTodos(page); // make sure the app had a chance to save updated todos in storage // before navigating to a new view, otherwise the items can get lost :( // in some frameworks like Durandal await checkTodosInLocalStorage(page, TODO_ITEMS[0]); }); - - test('should allow me to display active items', async ({page}) => { + test('should allow me to display active items', async ({ page }) => { await page.locator('.todo-list li .toggle').nth(1).check(); await checkNumberOfCompletedTodosInLocalStorage(page, 1); await page.locator('.filters >> text=Active').click(); @@ -321,7 +312,7 @@ test.describe('Routing', () => { await expect(page.locator('.todo-list li')).toHaveText([TODO_ITEMS[0], TODO_ITEMS[2]]); }); - test('should respect the back button', async ({page}) => { + test('should respect the back button', async ({ page }) => { await page.locator('.todo-list li .toggle').nth(1).check(); await checkNumberOfCompletedTodosInLocalStorage(page, 1); @@ -345,14 +336,14 @@ test.describe('Routing', () => { await expect(page.locator('.todo-list li')).toHaveCount(3); }); - test('should allow me to display completed items', async ({page}) => { + test('should allow me to display completed items', async ({ page }) => { await page.locator('.todo-list li .toggle').nth(1).check(); await checkNumberOfCompletedTodosInLocalStorage(page, 1); await page.locator('.filters >> text=Completed').click(); await expect(page.locator('.todo-list li')).toHaveCount(1); }); - test('should allow me to display all items', async ({page}) => { + test('should allow me to display all items', async ({ page }) => { await page.locator('.todo-list li .toggle').nth(1).check(); await checkNumberOfCompletedTodosInLocalStorage(page, 1); await page.locator('.filters >> text=Active').click(); @@ -361,12 +352,14 @@ test.describe('Routing', () => { await expect(page.locator('.todo-list li')).toHaveCount(3); }); - test('should highlight the currently applied filter', async ({page}) => { + test('should highlight the currently applied filter', async ({ page }) => { await expect(page.locator('.filters >> text=All')).toHaveClass('selected'); await page.locator('.filters >> text=Active').click(); + // Page change - active items. await expect(page.locator('.filters >> text=Active')).toHaveClass('selected'); await page.locator('.filters >> text=Completed').click(); + // Page change - completed items. await expect(page.locator('.filters >> text=Completed')).toHaveClass('selected'); }); diff --git a/visual-comparison/.env b/visual-comparison/.env new file mode 100644 index 00000000..ed616986 --- /dev/null +++ b/visual-comparison/.env @@ -0,0 +1 @@ +BASEURL = 'https://playwright.dev' \ No newline at end of file diff --git a/visual-comparison/playwright.config.ts b/visual-comparison/playwright.config.ts index 18d0d615..d97f4b0f 100644 --- a/visual-comparison/playwright.config.ts +++ b/visual-comparison/playwright.config.ts @@ -1,116 +1,33 @@ -import {PlaywrightTestConfig, devices} from '@playwright/test'; +import { defineConfig, devices } from '@playwright/test'; -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { +require('dotenv').config() +export default defineConfig({ testDir: './tests', - - /* Maximum time one test can run for. */ timeout: 30 * 1000, - expect: { - - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 5000, }, - - /* 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: [ + ['list'], ['html'], ], - - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { - - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, - - /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: process.env.BASEURL, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on', - acceptDownloads: true, - ignoreHTTPSErrors: true, }, - - /* Configure projects for major browsers */ projects: [ { name: 'chromium', - - /* Project-specific settings. */ 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: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - // webServer: { - // command: 'npm run start', - // port: 3000, - // }, -}; -export default config; +}); diff --git a/visual-comparison/tests/example.spec.ts b/visual-comparison/tests/example.spec.ts index 336ddc55..1e5eac29 100644 --- a/visual-comparison/tests/example.spec.ts +++ b/visual-comparison/tests/example.spec.ts @@ -3,18 +3,18 @@ * to visually compare screenshots * @see https://playwright.dev/docs/test-snapshots */ -import {test, expect} from '@playwright/test'; +import { test, expect } from '@playwright/test'; test.describe('comparison tests', () => { - test.beforeEach(async ({page}) => { + test.beforeEach(async ({ page }) => { await page.goto(''); }); - test('compare landing page title with golden screenshot', async ({page}) => { - expect(await page.locator('.heroTitle_ohkl').screenshot()).toMatchSnapshot('landing.png', {threshold: 0.4}); + test('compare landing page title with golden screenshot', async ({ page }) => { + expect(await page.locator('.heroTitle_ohkl').screenshot()).toMatchSnapshot('landing.png', { threshold: 0.4 }); }); - test('compare landing page title with golden text file', async ({page}) => { + test('compare landing page title with golden text file', async ({ page }) => { expect(await page.textContent('.hero__title')).toMatchSnapshot('hero.txt'); }); }); diff --git a/visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-linux.txt b/visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-linux.txt deleted file mode 100644 index 65ced7ba..00000000 --- a/visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-linux.txt +++ /dev/null @@ -1 +0,0 @@ -Playwright enables reliable end-to-end testing for modern web apps. \ No newline at end of file diff --git a/visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-win32.txt b/visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-win32.txt deleted file mode 100644 index 65ced7ba..00000000 --- a/visual-comparison/tests/example.spec.ts-snapshots/hero-firefox-win32.txt +++ /dev/null @@ -1 +0,0 @@ -Playwright enables reliable end-to-end testing for modern web apps. \ No newline at end of file diff --git a/visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-linux.txt b/visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-linux.txt deleted file mode 100644 index 65ced7ba..00000000 --- a/visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-linux.txt +++ /dev/null @@ -1 +0,0 @@ -Playwright enables reliable end-to-end testing for modern web apps. \ No newline at end of file diff --git a/visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-win32.txt b/visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-win32.txt deleted file mode 100644 index 65ced7ba..00000000 --- a/visual-comparison/tests/example.spec.ts-snapshots/hero-webkit-win32.txt +++ /dev/null @@ -1 +0,0 @@ -Playwright enables reliable end-to-end testing for modern web apps. \ No newline at end of file diff --git a/visual-comparison/tests/example.spec.ts-snapshots/landing-chromium-linux.png b/visual-comparison/tests/example.spec.ts-snapshots/landing-chromium-linux.png index 908c119c2f11fd9484d23961090e9b33fc1e4fd0..104a7e0df776c4be03bb5f390495c5900fbb71b2 100644 GIT binary patch literal 37901 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 diff --git a/visual-comparison/tests/example.spec.ts-snapshots/landing-firefox-win32.png b/visual-comparison/tests/example.spec.ts-snapshots/landing-firefox-win32.png deleted file mode 100644 index dd2ffdf5de937ad2f23be036593fd46b833687e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23542 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 diff --git a/visual-comparison/tests/example.spec.ts-snapshots/landing-webkit-win32.png b/visual-comparison/tests/example.spec.ts-snapshots/landing-webkit-win32.png deleted file mode 100644 index 19992266b1aa2545c63440421a4a20638b2281c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30546 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