[Playwright Interview question #4]: Sự khác biệt giữa page.click() và page.locator().click()?
Câu hỏi phỏng vấn #4: Sự khác biệt giữa page.click()
và page.locator().click()
là gì?
Trả lời mẫu:
1. page.click() (Legacy method - không khuyến khích):
await page.click('#submit-button');
- Tìm element và click ngay lập tức
- Không có auto-retry mechanism
- Có thể gây flaky tests nếu element chưa ready
2. page.locator().click() (Recommended):
await page.locator('#submit-button').click();
- Tạo Locator object có thể reuse
- Auto-retry cho đến khi element clickable
- Chờ element visible, stable và enabled
- Hỗ trợ chaining actions
So sánh chi tiết:
// Legacy approach
await page.waitForSelector('#button');
await page.click('#button');
// Modern approach (tự động chờ)
wait page.locator('#button').click();
💡Tips:
- Luôn sử dụng
page.locator()
cho code mới - Locator có thể lưu vào biến và reuse nhiều lần
- Auto-waiting giúp giảm flaky tests đáng kể
- Locator hỗ trợ nhiều methods khác: fill(), check(), hover()...
Lời Kết
Playwright đang trở thành một trong những automation frameworks phổ biến nhất cho web testing. Thông qua series này, hy vọng bạn sẽ:
- Nắm vững kiến thức từ cơ bản đến nâng cao
- Tự tin trong các buổi phỏng vấn
- Áp dụng hiệu quả vào dự án thực tế
- Trở thành một phần của cộng đồng Playwright Việt Nam năng động
📚 Bắt đầu hành trình của bạn với: Bài 1: Playwright vs Selenium
💬 Có câu hỏi? Tham gia group Facebook của chúng mình!
⭐Theo dõi series để không bỏ lỡ bài viết mới!
All rights reserved