console.log消息在执行实际任务之前出现

时间:2015-09-16 10:27:28

标签: javascript asynchronous jasmine protractor webdriverjs

我使用console.log编写一些关于当前任务/期望由量角器执行的详细信息,但我在控制台上发现这些消息在浏览器中执行实际任务之前出现。这样做 -

it('should validate all labels', function() {
    ....
    element.sendKey('name');
    console.log('name entered to user input');
    ...
});

即使在浏览器中加载页面,控制台日志也会出现。那么如何解决呢?

2 个答案:

答案 0 :(得分:3)

那是因为Protractor试图尽可能地运行,因为它适用于异步主体。如果你想在规范完成后调试console.log,那么试着等到规范中解决了上一步的承诺。这是怎样的 -

it('should validate all labels', function() {
    ....
    element.sendKeys('name').then(function(){
        console.log('name entered to user input');
    });
    ...
});

上面的代码控制台在将数据发送到元素后记录您的语句。 More on Protractor promises。希望这会有所帮助。

答案 1 :(得分:0)

我同意Girish的回答,但如果你真的想要独立于其他承诺记录某些东西,你可以做一些像这样的“hacky”:

import React from 'react';