【问题标题】:Webdriver testing and google OAuthWebdriver 测试和谷歌 OAuth
【发布时间】:2016-06-01 12:17:54
【问题描述】:

我对一个相当大的应用程序进行了 e2e 测试。它提供了多种验证用户的方法,其中一种是通过获取 OAuth2 令牌来使用谷歌帐户。今天它通过操纵弹出并输入登录详细信息的登录页面天真地运行。

不出所料,谷歌在某个时候决定把这个扔给我:

如何跳过手动登录过程,获取 Oauth 令牌并继续访问我的重定向 url,并验证我确实使用 selenium 到达了我的应用程序中的正确位置?

Offline authentication 似乎是我正在寻找的东西,但是 webdriver 无法执行 POST 请求。我可以手动获取令牌,但无法以任何有意义的方式将其传递给 webdriver,因为它仍然无法对它做任何事情。

如果可能的话,我宁愿不接触应用程序代码库。

我使用webdriverio 作为我的webdriver 实现,作为nodejs 任务运行。有趣的是,机器人过滤器很少出现在我的本地机器上,但似乎总是在它运行的 circleci 实例上触发。

【问题讨论】:

    标签: webdriver automated-tests google-oauth e2e-testing webdriver-io


    【解决方案1】:

    我只是使用我的应用程序端点从谷歌获取令牌,然后使用 JavaScript 执行器将令牌设置在本地存储中。

    类似的东西。

        driver.manage().deleteAllCookies();
        JavascriptExecutor executor = (JavascriptExecutor) driver;
        executor.executeScript("window.localStorage.setItem('token', ' " + apiRequest.getToken() + "');");
    

    我希望这就是你要找的。​​p>

    【讨论】:

      猜你喜欢
      • 2015-05-17
      • 2012-07-31
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-17
      • 2021-08-11
      • 1970-01-01
      相关资源
      最近更新 更多