ce2a10e995
gates / gates (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
23 lines
1.2 KiB
JavaScript
23 lines
1.2 KiB
JavaScript
// Screenshots of Karakeep's own web UI for the catalog card (checklist 8.3): on scratch guest 9202, through traefik over
|
|
// https as a browser does (headless Chrome, ghcr.io/puppeteer/puppeteer), signed in as the test household account.
|
|
const puppeteer = require('puppeteer');
|
|
const sleep = ms => new Promise(r => setTimeout(r, ms));
|
|
(async () => {
|
|
const b = await puppeteer.launch({args: ['--no-sandbox', '--ignore-certificate-errors', '--lang=hu-HU']});
|
|
const p = await b.newPage();
|
|
await p.setViewport({width: 1280, height: 800});
|
|
await p.goto(process.env.URL + '/signin', {waitUntil: 'networkidle2'});
|
|
await sleep(1000);
|
|
await p.screenshot({path: '/out/3.png'});
|
|
await p.type('input[type=email], input[name=email]', process.env.U);
|
|
await p.type('input[type=password]', process.env.P);
|
|
await p.keyboard.press('Enter');
|
|
await p.waitForNavigation({waitUntil: 'networkidle2', timeout: 20000}).catch(() => {});
|
|
await sleep(3000);
|
|
await p.screenshot({path: '/out/1.png'});
|
|
await p.setViewport({width: 390, height: 844, deviceScaleFactor: 2});
|
|
await sleep(2000);
|
|
await p.screenshot({path: '/out/2.png'});
|
|
await b.close();
|
|
})().catch(e => { console.error(e); process.exit(1); });
|