如何在C#中使用Selenium在UI自动化中处理身份验证弹出窗口

时间:2016-03-18 05:32:41

标签: c# selenium popupwindow

如何在C#

中使用Selenium在UI自动化中处理身份验证弹出窗口

我正在创作导航到网站主页的UI测试。由于网站内部访问另一个网站。 Firefox上的Selenium显示需要身份验证的弹出窗口。

如何使用Selenium驱动程序处理弹出窗口,在弹出窗口中输入用户名和密码?

4 个答案:

答案 0 :(得分:0)

你可以使用如下: -

driver.get("http://UserName:Password@Example.com");

使用您的用户名代替用户名,密码相同,并将example.com更改为您的网站

或者还有一个方法,但是在java中你可以通过参考它将它转换成C#。

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

希望它会对你有所帮助:)。

答案 1 :(得分:0)

将其粘贴到.config file

添加键= URL值=" http:// 用户名密码 @ pasteyoururl &#34 ;

将其粘贴到 c#脚本

string `variable` = ConfigurationManager.AppSettings["**URL**"];
driver.Navigate().GoToUrl(**variable**);

尝试上面提到的代码,确定它可以正常工作。

此代码仅在您从app.config/web.config

中读取时才有效

答案 2 :(得分:0)

string siteUser = "testUser";
string sitePass = "testPass";
string siteUrl = "localhost:1980"
string format = @"https://{0}:{1}@{2}/site";
string authURI = String.Format(format, siteUser, sitePass, siteUrl);
driver.Navigate().GoToUrl(authURI);

这对我们有用

答案 3 :(得分:-1)

在导航应用程序网址时,将您的用户名和密码与下面的应用程序网址一起传递:

http://username:passwork@applicationURL