Playwright v1.65.0 mang đến khả năng chạy test runner trên Bun, reporter mới chỉ in lỗi, cùng nhiều thay đổi hành vi quan trọng cần lưu ý trước khi nâng cấp.
Tính năng mới
- Chạy test với Bun: test runner giờ chạy được trên Bun. Dùng cờ
--bunvì nếu khôngbunx playwright testvẫn chạy trên Node.js:bunx --bun playwright test. Lưu ý: không có watch mode,--tsconfigvà JSX options bị bỏ qua, stack trace không có async frame, console output không vào trace/UI mode. - Reporter
failures: in lỗi và các lần retry thành công ngay khi xảy ra, kèm summary, không có progress output. - Option
onlyFailurescho HTML, JSON và JUnit reporter — chỉ giữ test có kết quả bất thường, flaky hoặc bị gián đoạn. - Test lock
-exclusive-: test chỉ chạy khi không có test nào khác đang chạy:test('...', { lock: '-exclusive-' }, ...). test.skip(),test.fixme(),test.fail(),test.slow()giờ chỉ nhận description, được ghi vào annotation.- Biến môi trường
PLAYWRIGHT_TRANSFORM_CACHE_DIRđặt thư mục cache file test đã transpile. - API mới: option
timeoutvàsignaltrongcdpSession.send();testRun.mode()trả về execution mode trongreporter.preprocess().
Breaking changes ⚠️
- Class fields theo
useDefineForClassFields: field initializer đọc constructor parameter property giờ sẽ lỗi (initializer chạy trước). Chuyển khởi tạo vào constructor hoặc đặt"useDefineForClassFields": false. - Actionability “not inert”:
locator.click(),check(),tap(),fill(),clear(),selectOption()giờ chờ element không còninert; nếu vẫn inert sẽ timeout. - Sharded run: fail với “No tests found” khi không shard nào khớp test; dùng
--pass-with-no-testsđể cho phép. - Cookie matching theo RFC 6265: host-only cookie không còn trả cho subdomain,
Path=/apikhông khớp/apiv2,Path=/foo/không khớp/foo. - Proxy credentials không còn gửi tới website; dùng
httpCredentialsđể xác thực trên site. - Text không được render (ngoài slot, trong
<details>đóng) không còn thuộc accessible name và aria snapshot.
