【问题标题】:How to handle HTTP basic Authentication on selenium using C#如何使用 C# 在 selenium 上处理 HTTP 基本身份验证
【发布时间】:2016-06-08 06:38:27
【问题描述】:

我在使用 C# 对 selenium 进行自动化测试时遇到问题。我的应用程序使用 IP 地址作为基本 URL,并使用 HTTP 身份验证警报消息作为登录。然后我在我的应用程序上测试的功能是我需要更改 IP 地址的 LAN 功能,所以每次我更改 IP 地址时,它都会再次询问我该应用程序的身份验证。我使用的代码是这样的:

在我的应用程序第一次运行时,我调用此代码并且它可以工作,它在 HTTP Auth 文本框中输入用户名和密码。

 SendKeys.SendWait("user");
 SendKeys.SendWait("{TAB}");
 SendKeys.SendWait("pass");
 SendKeys.SendWait("{Enter}");

然后在我调用更改IP的方法后,再次调用此代码。

 SendKeys.SendWait("user");
 SendKeys.SendWait("{TAB}");
 SendKeys.SendWait("pass");
 SendKeys.SendWait("{Enter}");

它不再起作用了,它显示弹出窗口但不输入用户名和密码。更改 IP 后如何使用该代码?

【问题讨论】:

  • 专注于弹出窗口,是吗?
  • 是的,专注于弹出窗口并在弹出文本框中输入用户名和密码。我在第一个实例上创建,但在第二次调用后它不再工作了
  • 你能发布代码块吗?谢谢
  • 这是我的代码块: public void TestMethod1() { DriverContext.Driver.Navigate().GotURL("URL"); // 我的登录首先调用它工作 SendKeys.SendWait("admin"); SendKeys.SendWait("{TAB}"); SendKeys.SendWait("admin"); SendKeys.SendWait("{Enter}");改变IP(); // 更改 IP 的方法 // 更改 IP 后 HTTP Auth 再次出现,我再次使用 Sendkeys.SendwWait 输入登录,但它不再起作用了,什么也没发生 }

标签: c# selenium


【解决方案1】:

在方法的开头插入一个延迟。

using System.Threading.Tasks ... Task.Delay(5000).Wait();

【讨论】:

  • 您好,感谢您的回答,但我已经这样做了,但它不起作用
猜你喜欢
  • 1970-01-01
  • 2016-03-01
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
  • 2020-06-03
  • 2011-06-20
  • 2017-06-03
  • 1970-01-01
相关资源
最近更新 更多