Javascript 使用手动日志调试量角器

Javascript 使用手动日志调试量角器,javascript,protractor,es6-promise,Javascript,Protractor,Es6 Promise,有时我会在测试中遇到奇怪的错误,我想调试它。 我尝试使用诸如getAttribute()或getText()之类的函数来实现这一点,但这些函数返回一个承诺。 我发现不做一个预期就很难兑现承诺。 举个例子: console.log(servicePage.services.get(0).getAttribute('class')); 我希望它只输出类的值,但是会返回一个承诺。我怎样才能解决这个承诺? 我试着使用then(函数(elem)…函数,但下一步该怎么做? 当我在elem上执行像getTe

有时我会在测试中遇到奇怪的错误,我想调试它。 我尝试使用诸如getAttribute()或getText()之类的函数来实现这一点,但这些函数返回一个承诺。 我发现不做一个预期就很难兑现承诺。 举个例子:

console.log(servicePage.services.get(0).getAttribute('class'));
我希望它只输出类的值,但是会返回一个承诺。我怎样才能解决这个承诺? 我试着使用then(函数(elem)…函数,但下一步该怎么做? 当我在elem上执行像getText()这样的操作时,我再次被一个承诺所困扰

提前谢谢!
关于

你可以随时为你创建一个记录日志的助手函数:
函数日志(msg){console.log(msg)};
你可以用
添加到任何承诺中。然后(log)
你可以随时为你创建一个记录日志的助手函数:
函数日志(msg){console.log(msg)};
您可以使用
将其添加到任何承诺中。然后(log)
。非常感谢。result是映射到承诺结果的预定义关键字吗?不,我只是使用result作为承诺的返回值。这是我期望的文本,我会放置类似“txt”的内容在这里…它只是让人们更容易理解您的控制台日志记录是什么…在这种情况下,getAttribute('class')承诺的结果OK,所以这纯粹是then()这就解决了承诺?我建议在这里阅读jmcollins的答案,这对我有很大帮助!效果很好,非常感谢。result是映射到承诺结果的预定义关键字吗?不,我只是使用result作为承诺的返回值。这是我期望的文本,我会放一些类似“txt”的东西在这里…它只是让人们更容易理解你的控制台日志记录是什么…在这种情况下,getAttribute('class')承诺的结果好吧,所以纯粹是then()解决了这个承诺?我建议在这里阅读jmcollins的答案,这对我很有帮助!
servicePage.services.get(0).getAttribute('class')).then(function(result){
    console.log(result);
});

//an example of a random function getting the text from a promise...
page.someElement.getText().then(function(txt){
    console.log(txt);
});