- vừa được xem lúc

[Playwright Interview question #11]: Cách xử lý authentication trong Playwright?

0 0 3

Người đăng: Playwright Việt Nam

Theo Viblo Asia

Câu hỏi phỏng vấn #11: Cách xử lý authentication trong Playwright?

Trả lời mẫu:

Playwright cung cấp nhiều cách để handle authentication hiệu quả:

1. Reuse authentication state:

// Lưu state sau khi login
await page.goto('/login');
await page.fill('#email', 'user@example.com');
await page.fill('#password', 'password');
await page.click('#submit'); // Save storage state
await context.storageState({ path: 'auth.json' });

2. Sử dụng saved state:


// Tạo context với auth state
const context = await browser.newContext({ storageState: 'auth.json'
});

3. Global setup với Playwright Test:

// playwright.config.js
export default { globalSetup: require.resolve('./global-setup'),
} // global-setup.js
module.exports = async () => { const browser = await chromium.launch(); const page = await browser.newPage(); // Login một lần await page.goto('/login'); await page.fill('#email', 'test@example.com'); await page.fill('#password', 'password'); await page.locator('#submit').click(); // Save state await page.context().storageState({ path: 'storageState.json' }); await browser.close();
};

4. Multiple auth states:

projects: [ { name: 'admin', use: { storageState: 'admin-auth.json' } }, { name: 'user', use: { storageState: 'user-auth.json' } }
]

💡 Tips:

  • Login một lần, reuse cho tất cả tests
  • Tách auth logic vào helper functions
  • Sử dụng environment variables cho credentials
  • Regular refresh auth tokens nếu cần

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!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Có thực sự an toàn với Authentication và Authorization , mật khẩu có nên lưu ở dạng text ?

Có thực sự an toàn với Authentication và Authorization , mật khẩu có nên lưu ở dạng text . Hơn nữa, vì chúng ta đang lưu trữ thông tin đăng nhập và hỗ trợ quy trình đăng nhập, chúng ta biết rằng sẽ có thông tin xác thực được gửi qua hạ tầng mạng.

0 0 68

- vừa được xem lúc

Login LINE với Firebase Authentication

Ngày nay, khi sử dụng một dịch vụ online online, chúng ta có xu hướng sử dụng một tài khoản liên kết (Google, Facebook, Twitter... tạm gọi là bên thứ 3) để đăng nhập vào dịch vụ đó thay vì cứ mỗi một dịch vụ, ta lại tạo một account/passord riêng. Lúc này Firebase Authentication (từ đây sẽ gọi tắt là

0 0 57

- vừa được xem lúc

Bài 17: Phân quyền trong Laravel

Chào mừng các bạn quay trở lại với series học Laravel với VueJS của mình, ở bài này mình sẽ hướng dẫn các bạn các phân quyền bằng Laravel và VueJS mà không cần cài đặt thêm bất kì package hay library

0 0 123

- vừa được xem lúc

Phân biệt sự khác nhau giữa Authentication và Authorization

Có lẽ trong quá trình lập trình bạn đã được nghe rất nhiều về 2 khái niệm authentication và authorization nhưng liệu bạn đã phân biệt được sự khác nhau giữa 2 khái niệm này? hay đôi khi bạn vẫn mập mờ

0 0 70

- vừa được xem lúc

[Node JS + React JS] - Phần 2 - Authentication server

Hôm nay chúng ta sẽ tiếp tục serie Node JS + React JS với chủ đề là authentication + authorization. Hôm nay chúng ta cùng đi tìm hiểu hai khái niệm cơ bản là Authentication và Authorization, cũng như

0 0 432

- vừa được xem lúc

API với Postman (Phần 3)

Sau 2 bài viết, chúng ta đã hiểu thế nào là client và server, cách chúng sử dụng HTTP để nói chuyện với nhau và việc xác định định dạng dữ liệu để hiểu nhau. Có lẽ trong đầu chúng ta sẽ có câu hỏi: Là

0 0 105