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

使用Selenium Webdriver处理Windows身份验证

甘明朗
2023-03-14
问题内容

C#中基于Selenium Webdriver的测试必须使用Windows身份验证登录。

我尝试了几种方法:

  _Driver.SwitchTo().Alert();
  _Driver.FindElement(By.Id("UserName")).SendKeys("LynnTest");
  _Driver.FindElement(By.Id("Password")).SendKeys("Welcome1!");
  _Driver.SwitchTo().Alert().Accept();
  _Driver.SwitchTo().DefaultContent();

  IAlert alert = _Driver.SwitchTo().Alert();
  alert.SendKeys("LynnTest\\t");
  alert.SendKeys("Welcome1!");
  _Driver.SwitchTo().Alert().Accept();
  _Driver.SwitchTo().DefaultContent();

都不成功。我没有在本地系统上获得Windows身份验证对话框,因此无法查看源来确定如何使用Selenium By方法定位用户名和密码。

我相信Windows身份验证对话框是由浏览器提供的,但是我没有找到该对话框的任何来源。

使用Selenium(不是AutoIt或其他类似工具)如何将用户名和密码传递到Windows身份验证对话框?解决方案必须基于Selenium代码,而不是插件,我无法访问浏览器,就像在云中一样。

注意:据我所知,在URL中传递用户名和密码不起作用,因为该对话框不是由页面上的html生成的。


问题答案:

最后,我使用了一种变通方法,首先导航到身份验证页面,先进行身份验证,然后重定向到要作为身份验证用户进行测试的页面。此方法使用可以编写脚本的页面内部身份验证页面。



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

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

  • 我正在尝试使用AutoIT处理Selenium webdriver脚本的基本身份验证弹出。我为Firefox和Internet Explorer写了一个脚本,但它对Chrome不起作用。 当我尝试在Chrome上使用AutoIt窗口信息工具识别身份验证弹出时,结果是空的。我正在使用以下AutoIt脚本: 任何能让它发挥作用的指示都是有帮助的。我没有使用,因为重定向时会出现一些身份验证弹出窗口。

  • 问题内容: 有谁知道在自动化过程中使用Selenium或任何其他工具来处理浏览器身份验证吗? 问题答案: 警报方法authenticateUsing() 使您可以跳过“ Http基本身份验证”框。 从Selenium 3.4开始,它仍处于测试阶段 现在,仅针对 InternetExplorerDriver

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

  • 赛贝斯ASE版本15或以上,并使用ADO. net连接到赛贝斯。是否可以使用Windows身份验证登录到赛贝斯ASE?