Yêu cầu Nov 12th, 2018 9:02 a.m. 230 0 1
  • 230 0 1
+1

xử lý Basic authentication trong geb/ selenium

Chia sẻ
  • 230 0 1

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!

Nov 12th, 2018 9:24 a.m.

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

Nov 12th, 2018 4:29 p.m.

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ới AUTHSTRING = base64(username + ':' + password). Như vậy thì sẽ ko bị prompt nữa 😁

Avatar nguyen @erics
Nov 13th, 2018 9:14 a.m.

thank 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

1 CÂU TRẢ LỜI


Đã trả lời Jan 16th, 2019 8:08 a.m.
Đã được chấp nhận
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.
Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí