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

如何使用Java使用Selenium WebDriver处理身份验证弹出窗口

樊胜
2023-03-14
问题内容

我正在尝试使用以下代码处理身份验证弹出窗口:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.http.phishy-userpass-length", 255);
profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "x.x.x.x");
driver = new FirefoxDriver(profile);
baseUrl="http://" + login + ":" + password + "@" + url;
driver.get(baseUrl + "/");

当我执行测试时,页面会显示身份验证弹出窗口,并且仍会加载直到我单击“取消”按钮。那一刻,我可以访问下一页,这意味着身份验证成功,但仍然始终显示身份验证弹出窗口


问题答案:

警报方法authenticateUsing()使你可以跳过“ Http基本身份验证”框。

WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(username, password));

从Selenium 3.4开始,它仍处于beta版本

目前,仅针对 InternetExplorerDriver



 类似资料:
  • 问题内容: 我正在尝试在我的新Webdriver脚本之一中处理身份验证弹出窗口。我有一个适用于IE的有效解决方案,但我在Chrome方面苦苦挣扎。IE就像遵循[本页]的建议一样简单:如何使用Java使用Selenium WebDriver处理身份验证弹出窗口。尽管有几位评论者指出,该线程并没有显示出适用于Chrome的绝佳解决方案,但该解决方案不适用于Chrome。问题是,当您尝试在Chrome上

  • 我已尝试在URL中发送用户名和密码 我已尝试使用报警处理,但不起作用。 我尝试了中提供的解决方案-如何使用Java处理Selenium WebDriver弹出的身份验证,几乎所有的解决方案都不是AutoIT,但没有一个对我有效 我有一个Maven项目,我正在尝试从project.properties文件发送带有用户名和密码的url,看起来像这样- URL=https://username:pass

  • 我正在尝试处理一个新的Webdriver脚本中的身份验证弹出。我对IE有一个工作的解决方案,但我对Chrome很纠结。IE很简单,只需遵循[本页]上的建议:如何使用Java处理Selenium WebDriver弹出的身份验证。这个线程并没有为Chrome提供一个很好的解决方案,尽管一些评论家指出,这个解决方案对Chrome不起作用。问题是,当你尝试在Chrome上执行下面的代码时,登录弹出并不是

  • 问题内容: 下面是我的AutoIt脚本(UI3_Authentication.au3),用于处理Windows身份验证弹出窗口。 以下是我对上述AutoIt exe文件的Selenium代码调用。 当我运行上述Selenium文件时,它将打开页面并弹出身份验证。但这不是在插入用户名和密码。它等待用户输入。 问题答案: 我解决了 其实这是我的坏事。以前,我的代码是这样的: 我在get()之前添加了a

  • 我正在使用C#在selenium web驱动程序中为Chrome浏览器编写一个自动化脚本。我陷入了一个场景:多个选项卡在同一浏览器中打开,我需要导航到浏览器的第一个选项卡,并需要在“身份验证”对话框中重新输入登录凭据。 授权窗口截图如下: 我无法导航到第一个选项卡,也无法传递用户名 执行上述代码后,将出现以下错误: WebDriver等待有一些无效的参数。参数2:不能从int转换为System.时

  • 问题内容: 尝试进行某些路由需要身份验证。 我有这个: 注意:是的,身份验证服务可以正常工作。 对于每条路由,我都会检查用户是否已通过身份验证,如果没有通过身份验证,则要将他们重定向到登录页面,如果已通过身份验证,则它将以“ /”路由登陆到第一页。 我得到的是: 我在哪里做错了? 问题答案: 一个简单的解决方案是制作一个包含所有受保护路线的(高阶组件)。 根据您的应用程序的嵌套方式,您可能需要利用