Node.js에서 브라우저를 열고 특정 요소가 나타난 후 스크린샷을 저장합니다. 과거 Node 8·simple-headless-chrome 예제는 제거했습니다.
프로젝트가 지원하는 Node 버전에서 설치하고 lock 파일로 버전을 고정합니다.
npm install puppeteer
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch();
try {
const page = await browser.newPage();
await page.setViewport({ width: 1280, height: 800 });
await page.goto('<https://example.com>', {
waitUntil: 'domcontentloaded',
timeout: 30000
});
await page.waitForSelector('h1', { timeout: 10000 });
await page.screenshot({ path: 'page.png', fullPage: true });
} finally {
await browser.close();
}
node capture.mjs
고정 sleep보다 필요한 요소나 앱 상태를 기다립니다. 인증은 테스트 전용 계정으로 분리하고 세션 파일을 저장소에 올리지 않습니다. 컨테이너에서 실행할 때 OS 의존성과 브라우저 sandbox 구성을 확인합니다.
정해진 경로의 회귀 테스트는 재현 가능한 브라우저 스크립트로 유지하고, AI는 탐색·테스트 초안·실패 분석에 활용하는 방식부터 검토합니다.