【问题标题】:wait until Angular has finished loading issue等到Angular完成加载问题
【发布时间】:2019-01-11 13:15:41
【问题描述】:

我正在使用与 Salim 在此处发布的 Testing AngularJS with Selenium 类似的实现

但是,在运行时,检查将系统地等待“webdriver 等待”期间。

据我所知,布尔检查将始终返回 false,无论如何。

有人有什么想法吗?

我尝试缩短等待的超时值以及更改池化率,但所做的只是使用这些新值,而不是真正“返回 true”进行检查。

// Will check if Angular still has pending http_requests ongoing and wait if required
public boolean untilAngularHasFinishedProcessing()
{
  until(() ->
    {
      final boolean hasFinishedLoading = Boolean.valueOf(((JavascriptExecutor) driver)
    .executeScript("return (window.angular !== undefined) "
      + "&& (angular.element(document).injector()!==undefined) "
      + "&&(angular.element(document).injector().get('$http')"
      + ".pendingRequests.length===0)").toString());
      log.info("Waiting on angular to finish processing => " + hasFinishedLoading);
      return hasFinishedLoading;
    }
  );
  return true;
}

预期: 只要 Angular 没有任何待处理的 http_requests,等待就应该结束

结果: 无论如何都要达到“超时”

【问题讨论】:

    标签: java angular selenium


    【解决方案1】:

    认为我发现了问题:我们的应用程序使用 Angular 6.x,而此检查是针对 Angular 1.x 应用程序的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-11
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      相关资源
      最近更新 更多