2015-02-24 119 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