2015-02-24 40 views
1

经过一番研究,我发现我可以在测试three.js页面时使用'console.log'(在Chrome中)进行一些断言。 例如:在运行这些命令时,我得到一个JSON阵列,并且可以检查参数通过量角器运行console.log命令

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

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

编辑: 我知道我可以使用console.log记录测试。但是 - 我能,例如将浏览器控制台(铬例如),然后输入:

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

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

如果你的问题是如何妥善使用console.log承诺(即元素(by.xyz).getText()),请记住,量角器返回的一切都是承诺,所以你需要解决承诺之前做console.log(见Protractor console log

编辑:好的,所以你想从你的浏览器中记录对象,量角器运行在不同的过程从你的浏览器,所以你需要先检索它之前做console.log

browser.driver.executeScript(function() { 
    return window; 
}).then(function(result) { 
    console.log('result is: ', result); 
}); 
+0

我会优化我的问题 – user2880391 2015-02-24 10:34:00

+0

好的,我现在了解您的问题了。查看回答 – hankduan 2015-02-24 18:20:16

+0

嘿,我已经试过了,我的测试只是暂停,当达到那个。 – user2880391 2015-02-25 12:16:20