Asked Nov 12th, 2018 9:02 AM 77 0 1
  • 77 0 1
+1

xử lý Basic authentication trong geb/ selenium

Share
  • 77 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:[email protected], 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 AM

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

0
| Reply
Share
Nov 12th, 2018 4:29 PM

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 😁

+3
| Reply
Share
nguyen @erics
Nov 13th, 2018 9:14 AM

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
| Reply
Share

1 ANSWERS


Answered Jan 16th, 8:08 AM
Accepted
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.
Share