有没有一种方法可以缓慢地运行使用 Protractor 编写的Angular E2E测试,以便我可以观察发生了什么?
最佳答案
下面是我的解决方案。因此,基本上,我为当前的控制流execute
函数创建了一个装饰器,该装饰器现在在每个已排队的 Action 之前另外排队100ms的延迟。
这需要在调用任何测试之前运行(在describe
块之外)
var origFn = browser.driver.controlFlow().execute;
browser.driver.controlFlow().execute = function() {
var args = arguments;
// queue 100ms wait
origFn.call(browser.driver.controlFlow(), function() {
return protractor.promise.delayed(100);
});
return origFn.apply(browser.driver.controlFlow(), args);
};