Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在因果报应场景中为angular应用程序调用'sleep'或'pause'会破坏框架_Javascript_Angularjs_Karma Runner_Angularjs E2e - Fatal编程技术网

Javascript 在因果报应场景中为angular应用程序调用'sleep'或'pause'会破坏框架

Javascript 在因果报应场景中为angular应用程序调用'sleep'或'pause'会破坏框架,javascript,angularjs,karma-runner,angularjs-e2e,Javascript,Angularjs,Karma Runner,Angularjs E2e,我有一个angular应用程序,它使用$routeProvider将不同部分加载到ng视图中 因此,在我的e2e场景中,当我调用browser().navigateTo(“/”),我还需要调用sleep(0.5)或其他东西来等待元素实际出现 不幸的是,调用sleep完全破坏了测试!突然之间,框架的行为就好像根本看不到页面一样,并且永远也找不到元素 在e2e测试中,我不必等待加载任何东西,就可以找到我期望的所有元素,但如果我在这些测试中加入了睡眠调用,那么它们也会中断 有人有什么建议吗?如何增加控

我有一个angular应用程序,它使用
$routeProvider
将不同部分加载到
ng视图中

因此,在我的e2e场景中,当我调用
browser().navigateTo(“/”)
,我还需要调用
sleep(0.5)
或其他东西来等待元素实际出现

不幸的是,调用
sleep
完全破坏了测试!突然之间,框架的行为就好像根本看不到页面一样,并且永远也找不到元素

在e2e测试中,我不必等待加载任何东西,就可以找到我期望的所有元素,但如果我在这些测试中加入了睡眠调用,那么它们也会中断

有人有什么建议吗?如何增加控制台的冗长性?有什么办法让测试仪重新聚焦

其他信息:

  • 浏览器控制台或命令行控制台中没有错误输出
  • 我已经直接从angular seed项目中复制了我的业力设置。据我所知,他们是一模一样的
我建议您在进行角度E2E测试时使用。这是有意识的角度和回报的承诺。你可以这样做:

ptor.get('http://localhost/#/my-route').then(function () {
  // Do something
});
您也可以像这样使用
ptor.wait

    var timeout = 10000;

    ptor.wait(function () {
      return {some condition}
    }, timeout);
它将在继续之前等待条件为真

您还可以使用
ptor.waitForAngular()
,它将等待angular解析任何承诺和http请求