【发布时间】:2015-07-26 15:26:08
【问题描述】:
在 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 生成的。
【问题讨论】:
-
通读this
-
如果您使用本地帐户/域帐户进行身份验证,我有一个解决方法。 stackoverflow.com/questions/28045870/…
-
@Saifur;该链接已损坏。
标签: c# selenium selenium-webdriver windows-authentication