微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何通过 ATATA 进行登录

如何解决我如何通过 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 举报,一经查实,本站将立刻删除。