繁体   English   中英

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

[英]How to handle authentication popup window in UI automation using Selenium in C#

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

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

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

你可以像下面这样使用:-

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**));

希望它会帮助你:)

将此粘贴到您的.config file

添加 key= URL value="http:// username : password @ pasteyoururl "

将此粘贴到您的c# 脚本中

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

试试上面提到的代码,确定它会起作用。

仅当您从app.config/web.config读取密钥时,此代码才有效

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);

这对我们有用

在导航应用程序 url 时,使用如下所示的应用程序 url 传递您的用户名和密码:

http://username:passwork@applicationURL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM