如何解决我如何通过 ATATA 进行登录
在 Selenium 中,以下代码应该可以让您收到警报。具体来说,一个登录弹出窗口:
Alert alert = driver.switchTo().alert();
如何使用 Atata?
解决方法
在 Atata 中,您可以尝试通过 AtataContext.Current.Driver
直接访问驱动程序实例来执行相同操作:
AtataContext.Current.Driver.SwitchTo().Alert().SetAuthenticationCredentials("username","password");
但是这个 WebDriver 的功能似乎在大多数当前浏览器中都不起作用。
另一种方法是以 https://user:pass@example.com/
的形式在 URL 内传递凭据。最近在 Chrome 中进行了测试。
要使用 Atata 执行此操作,您可以将 Atata 基本 URL 设置为 "https://example.com/"
。然后在某处添加以下方法(例如在基夹具类中):
public static void ApplyBasicAuth(string username,string password)
{
Uri currentBaseUri = new Uri(AtataContext.Current.BaseUrl);
if (!string.IsNullOrEmpty(currentBaseUri.UserInfo))
AtataContext.Current.RestartDriver();
UriBuilder uriBuilder = new UriBuilder(currentBaseUri)
{
UserName = username,Password = password
};
AtataContext.Current.BaseUrl = uriBuilder.ToString();
}
此方法将凭据注入基本 URL。
然后在测试中调用它作为第一个安排操作:
[Test]
public void Test()
{
ApplyBasicAuth("atuser","atpass");
Go.To<OrdinaryPage>();
// ...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。