下面是点击一个字段中某个值进入测试的一个简单的例子:有没有办法给Protractor的控制流添加定时器事件来测量特定任务的执行时间?
it('should enter someValue into field', function() {
var field = $('.someField');
// Insert timer start function here
field.click();
this.switchToActiveElement().sendKeys('someValue');
this.hitEnter();
// Insert timer stop function here and output result!
assert.eventually.equal(field.getText(), 'someValue');
});
我希望做的是时间需要多久单击该字段,然后在一定的价值,然后输出不知何故这个执行时间。我原本以为我可以插入console.time()
和console.timeEnd()
函数,但当然这不适用于量角器的控制流程,对吧?
任何与此有关的帮助将非常感激。谢谢!
您可以定义自己的time_begin变量和time_end变量,并通过比较它们来衡量已用时间吗?例如。读取系统时间并将其分配给time_begin,然后再单击并读取系统时间并将其分配给time_end,从time_end中减去time_begin。 –
那么,如果你使用[jasmine-spec-reporter](https://www.npmjs.com/package/jasmine-spec-reporter),它有'displayStackDuration'选项 - 但是,捕获每个“它”块的时间,而不是包含在该块下的单个操作。不知道这是你想要的。 – Gunderson
@YuZhang感谢您的评论!在注释行中插入time_begin和time_end变量以测量时间的问题是量角器实际上还没有执行任何操作,因为它们是被添加到控制流队列中的promise。所以定时器会立即启动并停止,这是没有用的。 – jjelly