当前位置: 首页 > 面试题库 >

如何在Selenium WebDriver中对FirefoxDriver,ChromeDriver和IEdriver执行基本身份验证?

宰父才
2023-03-14
问题内容

我正在使用 Selenium-Firefox-driverSelenium-Chrome-Driver 版本2.0a5( Web
Driver API

),并且正在尝试测试具有BASIC身份验证的Web应用程序(当出现以下情况时会弹出一个窗口来对用户进行身份验证我点击任何页面,弹出窗口都不是HTML的一部分。

现在,我需要一种策略来在Firefox,Chrome和IE中对用户进行身份验证(我将很快导入IE驱动程序)。

我读过几篇文章,我可以设置Firefox配置文件,例如:

FirefoxProfile ffProfile = new FirefoxProfile();
ffProfile.setPreference("network.http.phishy-userpass-length", 255);
WebDriver driver = new FirefoxDriver(ffProfile);
driver.get("http://username:password@hostname");

但这似乎对我不起作用。有没有人为这些浏览器提供有效的解决方案?


问题答案:

是的,目前尚不支持BASIC HTTP身份验证,但我现在可以将其用于FF和Chrome。

我在问题中编写的代码适用于那些驱动程序。我只是尝试使用FF3.6作为Firefox默认浏览器(安装在Firefox文件夹中)而不是FF4(尚不支持)。对于IE,我可能会尝试通过Windows注册表禁用身份验证。

此页面http://code.google.com/p/selenium/issues/detail?id=34可能有帮助。



 类似资料:
  • 几天没有任何进展,我需要你的帮助。 使用GWT,我试图与REST服务器通信,服务器位于不同的URL上(需要CORS)<我的配置:服务器spring boot 1.3.3 客户端-GWT 1.7-restygwt 2.0.3 当我在Spring中禁用安全性时,我可以在我的GWT客户端中获取数据。 但是当我启用它时,我总是收到401个请求。REST URL请求直接在Web浏览器中工作(带有其身份验证对

  • 问题内容: 如何在AngularJs中使用基本身份验证?我已经在Google上搜索了,但是资源对我来说不起作用。我 非常 新AngularJS 问题答案: 假设您的html定义如下: 您可以使用以下基本身份验证将后端连接到rest api: 请注意,此代码的大部分是方法。如果不需要支持IE9及更低版本,则可以将其替换为本地JS实现- atob()和btoa():https : //develope

  • 在斯威格中有一个.BasicAuth(“基本”)。我取消注释的描述(“基本HTTP授权”)行。 但是,当尝试使用其中一个endpoint时,单击“试用!”按钮时,系统会提示我登录。无论我在这个框中放了什么(用户名和密码框),我都无法运行或测试endpoint,因为我未经授权。我需要在 SwaggerConfig.cs 文件或其他位置执行哪些操作才能进行测试? 我使用的是.Net Framework

  • 问题内容: 我相信我可以使用基本身份验证,但是我不确定如何保护资源,以便仅在用户登录时才能访问它们。 我的登录资源是这样的: 我用以下方式签署用户: 题 假设用户使用端点从浏览器或本机移动应用程序前端登录。那么如何我可以保护另一个端点,比方说,它 要求用户要signedin 问题答案: 尝试实现REST时有两件事。一个是身份验证(似乎已经可以使用),另一个是授权(我相信您的问题是)。 我之前在dr

  • 问题内容: 我正在尝试通过浏览器创建基本身份验证,但是我真的无法到达那里。 如果此脚本不在此处,则浏览器身份验证将接管,但是我想告诉浏览器用户即将进行身份验证。 地址应类似于: 我有一个表格: 和一个脚本: 问题答案: 使用jQuery的回调添加带有身份验证信息的HTTP标头: