2

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

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

甚至在页面加载到浏览器之前,控制台日志消息就会出现。那么如何解决呢?

4

2 回答 2

3

那是因为量角器尝试运行它可以运行的任何东西,因为它适用于异步主体。如果您想在规范完成后控制台记录某些内容,请尝试等到上一步的承诺在规范中得到解决。就是这样 -

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

上面的代码控制台在向元素发送数据后记录您的语句。更多关于 Protractor 的承诺。希望这可以帮助。

于 2015-09-16T12:04:15.660 回答
0

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

driver.executeScript(function rf(a){return a;}, msg).then(function(s) {
    console.log(s);
});
于 2016-07-05T13:41:15.103 回答