通过量角器运行console.log命令

时间:2015-02-24 08:16:58

标签: google-chrome protractor console.log angularjs-e2e

经过一些研究,我发现可以使用' console.log'进行一些断言。 (在Chrome中)测试three.js页面时。 例如:

console.log(scene)
console.log(camera)

在运行这些命令时,我获得了一个JSON数组并可以检查参数。

我的问题是 - 我可以通过量角器来做到这一点吗?意味着运行命令并检查响应?

编辑: 我知道我可以使用console.log来记录测试。但是 - 例如我可以访问浏览器控制台(例如chrome)并输入:

console.log(window)

这样做时,我得到:

 {top: Window, window: Window, location: Location, external: Object, chrome: Object…}Infinity: Infinity$: function (a,b){return new e.fn.init(a,b,h)}AnalyserNode: ...

等等。

我也可以输入

console.log(document.URL)

并获取

http://stackoverflow.com/posts/28690960/edit

当试图在量角器中放入相同的线时:

  console.log(window);

我收到此错误:

 ReferenceError: window is not defined

谢谢!

1 个答案:

答案 0 :(得分:1)

如果你的问题是你是否可以在量角器中使用console.log来记录简单的对象/变量,那么是的,量角器就是javascript。

如果您的问题是如何正确使用console.log for promises(即element(by.xyz).getText()),请记住,量角器返回的所有内容都是promises,因此您需要先解决promise在做console.log(见Protractor console log

编辑:好的,所以你想从浏览器中记录对象。 Protractors在与浏览器不同的进程中运行,因此您需要在执行console.log

之前先检索它
browser.driver.executeScript(function() {
    return window;
}).then(function(result) {
    console.log('result is: ', result);
});