問題描述
我正在嘗試量角器在非角度應用程序中編寫一些測試.我必須通過谷歌瀏覽器中的基本身份驗證登錄頁面,但我不知道如何.
I'm trying protractor to write a few tests in a non angular application. I have to login in a page trough basic authentication in google chrome, but i have no idea how.
我已經嘗試過 baseUrl: 'https://username:password@url'
和 capabilities: {瀏覽器名稱":鉻",鉻選項":{參數:['--login-user=foo', '--login-password=bar']}}
但如果這些對我有用,則沒有.有誰知道該怎么做?我在這方面遇到了一些困難.
But none if these worked for me. Anyone knows how to do it? I'm having some hard time on it.
推薦答案
簡短的回答是在 chrome 上沒有簡單的方法,因為它們不支持修改請求標頭 - 請參閱 https://code.google.com/p/selenium/issues/detail?id=141 (標題表示響應標題,但如果您閱讀它,它適用于所有標題).
The short answer is there is no easy way of doing it on chrome because they do not support modifying request headers -- see https://code.google.com/p/selenium/issues/detail?id=141 (title says response headers, but if you read it, it's for all headers).
話雖如此,有辦法做到這一點,盡管很困難.
That being said, there are ways to do it, albeit difficult.
1) 找到一個允許您修改標題的 chrome 擴展/插件.一個簡單的搜索就可以找到很多:https://chrome.google.com/webstore/search/modify%20header.您需要將插件添加到 webdriver:請參閱 量角器測試下是否可以給chromedriver添加插件?.
1) Find a chrome extension/plugin that allows you to modify header. A simple search bring up many of them: https://chrome.google.com/webstore/search/modify%20header. You'll need to add the plugin to webdriver: see Is it possible to add a plugin to chromedriver under a protractor test?.
2) 你可以使用 browsermob-proxy (https://github.com/lightbody/browsermob-代理);這樣,您可以通過代理路由您的流量,這將為您添加標頭.來自文檔:
2) You can use browsermob-proxy (https://github.com/lightbody/browsermob-proxy); this way you route your traffic through the proxy, which would add the headers for you. From the docs:
POST /proxy/[port]/auth/basic/[domain] - Sets automatic basic authentication for the specified domain
Payload data should be json encoded username and password name/value pairs (ex: {"username": "myUsername", "password": "myPassword"}
有一個節點項目可以幫助你,https://github.com/zzo/browsermob-節點,但您仍然需要自己設置代理服務器.
There's a node project that may help you, https://github.com/zzo/browsermob-node, but you would still need to set up your proxy server yourself.
chrome 的兩種方法都很復雜,但都能得到你想要的.(或者你可以堅持使用 Firefox 并按照羅伯特的回答)
Both ways for chrome are complex, but would get you what you want. (or you can stick with firefox and follow Robert's answer)
這篇關于如何使用量角器處理基本身份驗證?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!