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