From 720c2ca9098e39c2501fd6c8745cc9fcf4f3f2ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Tue, 19 Dec 2023 23:51:06 +0100 Subject: [PATCH] Setup visual testing (#50) * Add cloudflare job to publish pages * Try like this * Fix build path * Try end to end * Fix installation * Use var instead of secret for CLOUDFLARE_PROJECT_NAME * Use new puppeteer mode * Add more tests * Run in parallel * Go back to no-concurrency * Test pagespeed * Print output * Fix thresholds --- .github/workflows/ci.yaml | 72 ++++++++++++++++ bun.lockb | Bin 331897 -> 440528 bytes package.json | 5 ++ tests/pagespeed-testing.ts | 37 ++++++++ tests/utils.ts | 25 ++++++ tests/visual-testing.ts | 172 +++++++++++++++++++++++++++++++++++++ tsconfig.json | 2 +- 7 files changed, 312 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yaml create mode 100644 tests/pagespeed-testing.ts create mode 100644 tests/utils.ts create mode 100644 tests/visual-testing.ts diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 000000000..bdb82ccd4 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,72 @@ +on: [push] +name: CI + +jobs: + deploy: + name: Deploy to Cloudflare Pages + runs-on: ubuntu-latest + permissions: + contents: read + deployments: write + outputs: + deployment_url: ${{ steps.cloudflare.outputs.url }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup bun + uses: oven-sh/setup-bun@v1 + - name: Install dependencies + run: bun install + - name: Build Next.js with next-on-pages + run: bun run build:cloudflare + - id: cloudflare + name: Publish to Cloudflare Pages + uses: cloudflare/pages-action@v1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + projectName: ${{ vars.CLOUDFLARE_PROJECT_NAME }} + directory: ./.vercel/output/static + gitHubToken: ${{ secrets.GITHUB_TOKEN }} + workingDirectory: ./ + - name: Outputs + run: | + echo "ID: ${{ steps.cloudflare.outputs.id }}" + echo "URL: ${{ steps.cloudflare.outputs.url }}" + echo "Environment: ${{ steps.cloudflare.outputs.environment }}" + echo "Alias: ${{ steps.cloudflare.outputs.alias }}" + visual-testing: + runs-on: ubuntu-latest + name: Visual Testing + needs: deploy + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup bun + uses: oven-sh/setup-bun@v1 + - name: Install dependencies + run: bun install + - name: Run visual tests + run: bun ./tests/visual-testing.ts $DEPLOYMENT_URL + env: + DEPLOYMENT_URL: ${{needs.deploy.outputs.deployment_url}} + - name: Upload to Argos + run: bun x argos upload --token $ARGOS_TOKEN ./screenshots + env: + ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} + pagespeed-testing: + runs-on: ubuntu-latest + name: PageSpeed Testing + needs: deploy + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup bun + uses: oven-sh/setup-bun@v1 + - name: Install dependencies + run: bun install + - name: Run visual tests + run: bun ./tests/pagespeed-testing.ts $DEPLOYMENT_URL + env: + DEPLOYMENT_URL: ${{needs.deploy.outputs.deployment_url}} + PAGESPEED_API_KEY: ${{ secrets.PAGESPEED_API_KEY }} diff --git a/bun.lockb b/bun.lockb index cbc6284983f7fad5c4ac42fe9433fd992a2eae3a..107e0f0234efbd04ba412d23c20e2b1adeb828ee 100755 GIT binary patch delta 124713 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

^|iLzBn%)=;0@z}#CL))O7 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 = [ + { + url: 'https://docs.gitbook.com', + strategy: 'desktop', + threshold: 90, + }, + + { + url: 'https://docs.gitbook.com', + strategy: 'mobile', + threshold: 80, + }, +]; + +console.log(`Starting PageSpeed testing with ${getTargetURL()}...`); + +for (const test of tests) { + const url = getContentTestURL(test.url); + + console.log(`Testing ${url} on ${test.strategy}...`); + await psi.output(url, { + strategy: test.strategy, + threshold: test.threshold, + key: process.env.PAGESPEED_API_KEY, + }); + + console.log(''); +} diff --git a/tests/utils.ts b/tests/utils.ts new file mode 100644 index 000000000..dd877e944 --- /dev/null +++ b/tests/utils.ts @@ -0,0 +1,25 @@ +/** + * Get the target URL from the command line arguments. + */ +export function getTargetURL() { + const targetUrl = Bun.argv[2]; + if (!targetUrl) { + console.error('No target URL provided'); + process.exit(1); + } + + return targetUrl; +} + +/** + * Get the URL to load for a content + */ +export function getContentTestURL(input: string): string { + const url = new URL(getTargetURL()); + const contentUrl = new URL(input); + + url.pathname = `${contentUrl.host}${contentUrl.pathname}`; + url.search = contentUrl.search; + + return url.toString(); +} diff --git a/tests/visual-testing.ts b/tests/visual-testing.ts new file mode 100644 index 000000000..40f430d08 --- /dev/null +++ b/tests/visual-testing.ts @@ -0,0 +1,172 @@ +import puppeteer from 'puppeteer'; +import { argosScreenshot } from '@argos-ci/puppeteer'; +import { getContentTestURL, getTargetURL } from './utils'; + +interface Test { + name: string; + url: string; +} + +interface TestsCase { + name: string; + baseUrl: string; + tests: Array; +} + +const testCases: TestsCase[] = [ + { + name: 'GitBook', + baseUrl: 'https://docs.gitbook.com', + tests: [ + { + name: 'Home', + url: '', + }, + { + name: 'Search', + url: '?q=', + }, + { + name: 'Search Results', + url: '?q=gitsync', + }, + { + name: 'AI Search', + url: '?q=What+is+GitBook%3F&ask=1', + }, + ], + }, + { + name: 'Snyk', + baseUrl: 'https://docs.snyk.io', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'Rocket.Chat', + baseUrl: 'https://docs.rocket.chat', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'Commerce Layer', + baseUrl: 'https://docs.commercelayer.io/core/', + tests: [ + { + name: 'Home', + url: '', + }, + { + name: 'API Reference', + url: 'v/api-reference/', + }, + ], + }, + { + name: 'Naviga', + baseUrl: 'https://docs.navigaglobal.com/naviga-dashboard-overview/', + tests: [ + { + name: 'Home', + url: 'v/dashboard-5.4/', + }, + ], + }, + { + name: 'Mattermost', + baseUrl: 'https://handbook.mattermost.com/', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'Tile DB', + baseUrl: 'https://docs.tiledb.com/main/', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'Castordoc', + baseUrl: 'https://docs.castordoc.com/', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'Nimbleway', + baseUrl: 'https://docs.nimbleway.com/', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'Parcellab', + baseUrl: 'https://how.parcellab.works/docs/', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, + { + name: 'CitrusAd', + baseUrl: 'https://help.citrusad.com/citrus-ads/', + tests: [ + { + name: 'Home', + url: '', + }, + ], + }, +]; + +console.log(`Starting visual testing with ${getTargetURL()}...`); + +const browser = await puppeteer.launch({ + headless: 'new', +}); +const page = await browser.newPage(); + +for (const testCase of testCases) { + for (const test of testCase.tests) { + const contentUrl = new URL(test.url, testCase.baseUrl); + const url = getContentTestURL(contentUrl.toString()); + const start = Date.now(); + + console.log(`Testing ${testCase.name} - ${test.name} (${url})...`); + + await page.goto(url, { waitUntil: 'networkidle2' }); + + await argosScreenshot(page, `${testCase.name} - ${test.name}.png`, { + viewports: ['iphone-x', 'ipad-2', 'macbook-13'], + }); + console.log(`✅ Done in ${((Date.now() - start) / 1000).toFixed(2)}s`); + console.log(''); + } +} +await page.close(); +await browser.close(); + +console.log('All done!'); diff --git a/tsconfig.json b/tsconfig.json index 72f9b87d1..e9fb39f4a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es5", + "target": "esnext", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true,