스크린캐스트와 브라우저 연결 기능 확장
page.screencast와 browser.bind()가 추가되고, CLI 디버깅·트레이스 분석 기능이 강화되었습니다.
교안에 영향
기존 안내 글에서 WebKit의 macOS 14 지원과 @playwright/experimental-ct-svelte 사용 안내는 더 이상 맞지 않습니다.
요약
- page.screencast로 화면 녹화, 실시간 프레임 전송, 액션 주석, 시각적 오버레이를 지원합니다. - browser.bind()로 실행 중인 브라우저를 playwright-cli, @playwright/mcp, 다른 클라이언트와 연결할 수 있습니다. - playwright test --debug=cli와 playwright trace 명령으로 에이전트용 디버깅과 트레이스 분석을 지원합니다. - await using 지원, 페이지/콘솔/에러 정리 API, locator와 snapshot 관련 API가 추가되었습니다. - UI Mode, HTML Reporter, tracing.start()와 관련한 개선과 macOS 14 WebKit 지원 종료가 포함됩니다.
바뀐 것
새 기능
- page.screencast API가 추가되어 화면 녹화, 실시간 프레임 캡처, 액션 주석, 시각적 오버레이를 한 번에 다룰 수 있게 되었습니다.
- browser.bind() API가 추가되어 실행한 browser를 playwright-cli, @playwright/mcp, 다른 Playwright 클라이언트가 연결할 수 있게 되었습니다.
- playwright-cli show로 바운드된 브라우저와 세션을 볼 수 있는 Dashboard가 추가되었습니다.
- npx playwright test --debug=cli로 playwright-cli에 연결해 테스트를 디버깅할 수 있게 되었습니다.
- npx playwright trace 명령으로 Trace를 명령줄에서 열고, 스냅샷과 액션을 분석할 수 있게 되었습니다.
- await using을 지원하는 async disposable API가 추가되어 정리 작업을 자동화할 수 있게 되었습니다.
- page.ariaSnapshot(), locator.ariaSnapshot(), locator.normalize(), page.pickLocator()와 page.cancelPickLocator()가 추가되었습니다.
- browserContext.setStorageState(), page.clearConsoleMessages(), page.clearPageErrors(), consoleMessage.timestamp()가 추가되었습니다.
- browserContext.debugger, browserContext.isClosed(), request.existingResponse(), response.httpVersion()와 CDP 세션 이벤트가 추가되었습니다.
- tracing.start()에 live 옵션과 browserType.launch()에 artifactsDir 옵션이 추가되었습니다.
개선
- UI Mode에 소스 변경으로 영향을 받는 테스트만 보여 주는 옵션이 추가되었습니다.
- UI Mode와 Trace Viewer의 액션 필터링이 개선되었습니다.
- HTML Reporter가 같은 worker의 실행 목록을 보여 주고, 테스트 단계를 빠르게 검색할 수 있게 되었습니다.
- retain-on-failure-and-retries 추적 모드가 추가되어 각 실행의 trace를 남기고 실패 시 모든 trace를 보존합니다.
기타
- navigator.platform 에뮬레이션에서 Ctrl 또는 Meta 전송 오류가 발생할 수 있는 알려진 문제가 안내되었습니다.
- junit test reporter가 오류 유형을 더 세분화해 이전과 다른 형식으로 보고될 수 있습니다.
- Chromium 147.0.7727.15, Mozilla Firefox 148.0.2, WebKit 26.4 브라우저 버전이 포함되었습니다.
지원 종료
- WebKit의 macOS 14 지원이 제거되었습니다.
- @playwright/experimental-ct-svelte 패키지가 제거되었습니다.