我正在尝试量角器在非角度应用程序中编写一些测试。我必须在谷歌浏览器中通过基本身份验证登录页面,但我不知道如何。
我已经尝试过baseUrl: 'https://username:password@url'
和capabilities: { 'browserName': 'chrome', 'chromeOptions' : { args: ['--login-user=foo', '--login-password=bar'] } }
但是,如果这些对我有用,那就没有。有人知道该怎么做吗?我在这方面有些困难。
简短的答案是,在chrome上没有简单的方法,因为它们不支持修改请求标头-请参阅https://code.google.com/p/selenium/issues/detail?id=141(标题为“响应”)标头,但如果您阅读了该标头,则适用于所有标头)。
话虽如此,但是有很多方法可以做到,尽管很困难。
1)找到允许您修改标题的Chrome扩展程序/插件。一个简单的搜索就会显示其中的许多内容:https : //chrome.google.com/webstore/search/modify%20header。您需要将插件添加到webdriver:请参阅在量角器测试下是否可以将插件添加到chromedriver?。
2)您可以使用browsermob-proxy(https://github.com/lightbody/browsermob-proxy); 这样,您就可以通过代理路由流量,这将为您添加标头。从文档:
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-node,但是您仍然需要自己设置代理服务器。
镀铬的两种方法都很复杂,但是可以满足您的需求。(或者您可以坚持使用Firefox,并遵循Robert的回答)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句