+1
xử lý Basic authentication trong geb/ selenium
hiện tại mình đang test 1 trang web có basic authentication. browser chrome Version 70.0.3538.77, mình pass basic authentication qua url: admin:admin@example.com, nhưng vẫn bật ra prompt yêu cầu xác thực. cancel prompt này thì mới authen đc thành công. nhưng mà trong automation test thì mình k thấy docs xử lý cho prompt. có bạn nào làm về phần này k cho mình cách giải quyết với!
1 CÂU TRẢ LỜI
0
trong trường hợp nếu trang web dùng http: thì chrome, firefox vẫn có thể dùng pass basic authen thông qua url. nếu trang web dùng https, hoặc user, password có kỹ tự đặc biệt thì mình tìm được 3 cách:
- dùng extension để thêm header: vd: modheader
- dùng autoIT để auto nhập user password.
- dùng proxy để thêm header: mình dùng browsermob-proxy.
Mình vừa tìm thử thì có vẻ là geb không hỗ trợ prompt bạn ah!
Geb does not provide any support for prompt() due to its infrequent and generally discouraged use.
http://www.gebish.org/manual/0.12.1/#code-prompt-code
Ngoài cách truyền trực tiếp username/password vào url như trên bạn có thể tìm hiểu cách đè header
Authorization: Basic AUTHSTRING
. VớiAUTHSTRING = base64(username + ':' + password)
. Như vậy thì sẽ ko bị prompt nữathank các bạn nhé, mình làm theo cách thủ công cài extension vào chrome xong automation sửa header. nhưng koo hay lắm. mình sẽ nghiên cứu cho chạy qua proxy để thêm header. đỡ phải cài extension