通过量角器运行console.log命令
问题描述:
经过一番研究,我发现我可以在测试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
谢谢!
答
如果你的问题是你是否可以在量角器中使用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);
});
我会优化我的问题 – user2880391 2015-02-24 10:34:00
好的,我现在了解您的问题了。查看回答 – hankduan 2015-02-24 18:20:16
嘿,我已经试过了,我的测试只是暂停,当达到那个。 – user2880391 2015-02-25 12:16:20