|
| 1 | +// scripts/screenshot.js |
1 | 2 | const { chromium } = require('playwright'); |
2 | 3 | const fs = require('fs'); |
3 | 4 | const path = require('path'); |
4 | 5 |
|
5 | 6 | const OUTPUT_DIR = path.join(__dirname, '../tests_artifacts'); |
6 | 7 |
|
7 | | -async function captureScreenshots() { |
8 | | - const browser = await chromium.launch(); |
9 | | - const context = await browser.newContext(); |
10 | | - const page = await context.newPage(); |
11 | | - |
12 | | - // Example: Capture login page |
13 | | - await page.goto('https://your-app-url.com/login'); |
14 | | - await page.screenshot({ path: path.join(OUTPUT_DIR, 'login-state.png') }); |
15 | | - |
16 | | - // Example: Capture dashboard after login |
17 | | - await page.fill('#username', 'testuser'); |
18 | | - await page.fill('#password', 'testpass'); |
19 | | - await page.click('#login-btn'); |
20 | | - await page.waitForSelector('.dashboard'); |
21 | | - await page.screenshot({ path: path.join(OUTPUT_DIR, 'dashboard-state.png') }); |
22 | | - |
23 | | - await browser.close(); |
24 | | -} |
25 | | - |
| 8 | +// Create directory if not exists |
26 | 9 | if (!fs.existsSync(OUTPUT_DIR)) { |
27 | 10 | fs.mkdirSync(OUTPUT_DIR, { recursive: true }); |
28 | 11 | } |
29 | 12 |
|
30 | | -captureScreenshots().catch(console.error); |
| 13 | +(async () => { |
| 14 | + const browser = await chromium.launch(); |
| 15 | + const page = await browser.newPage(); |
| 16 | + |
| 17 | + // Test with public demo sites |
| 18 | + await page.goto('https://demo.playwright.dev/todomvc'); |
| 19 | + await page.screenshot({ path: path.join(OUTPUT_DIR, 'todo-app.png') }); |
| 20 | + |
| 21 | + await page.goto('https://example.com'); |
| 22 | + await page.screenshot({ path: path.join(OUTPUT_DIR, 'example.png') }); |
| 23 | + |
| 24 | + await browser.close(); |
| 25 | +})(); |
0 commit comments