Playwright 1.65.0 có gì mới?

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ờ --bun vì nếu không bunx playwright test vẫn chạy trên Node.js: bunx --bun playwright test. Lưu ý: không có watch mode, --tsconfig và 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 onlyFailures cho 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 timeout và signal trong cdpSession.send(); testRun.mode() trả về execution mode trong reporter.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òn inert; 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=/api khô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.

→ Xem release notes đầy đủ trên GitHub

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *