我有几个地方使用 $timeout 或 $interval 在 UI 中发生延迟。这是一个简化的示例:
控制器代码:
$timeout(function() {
$scope.showElement = true;
}, 10000);
HTML:
<div id="myElement" ng-show="showElement"></div>
我希望能够创建一个端到端量角器测试,以测试 #myElement 在等待 10 秒后是否显示。我发现这样做的唯一方法是调用 browser.sleep(10000),这会导致我的测试实际延迟 10 秒。这行得通,但是这些暂停加起来会显着增加我的测试持续时间。想象一下,您想测试一个模态是否在 30 分钟不活动后弹出。
有没有办法模拟特定时间的流逝,类似于茉莉花测试中的 $timeout.flush() ?