从Protractor测试访问chromes window.performance

时间:2014-12-03 09:45:33

标签: memory-leaks google-chrome-devtools protractor

我想通过访问

来跟踪Protractor测试中的内存使用情况
window.performance.memory object.

我已经通过添加

将必要的标志添加到protractor.conf.js
capabilities: {
    browserName: 'chrome',
    chromeOptions: {
        args: ['enable-memory-info'],

我可以通过上面的命令访问内存对象。我的问题是如何从量角器测试自己访问窗口对象?

我试过了:

element(by.id('window')).then(function(win){
        theWindow = win;
        console.log("Set the window: " + theWindow);
        var mem = win.performance.memory;
        console.log("Memory: " + mem);

但是这个选择器似乎无法使用此错误:

NoSuchElementError: No element found using locator: By.id("window")

我在Protractor中有哪些选项可以访问浏览器窗口?我也尝试过这里给出的建议Access window object / browser scope from protractor,但没有成功获取内存对象。

1 个答案:

答案 0 :(得分:4)

稍微修改this帖子的代码似乎可以解决问题:

function measurememory() {
    browser.driver.executeScript(function () {
        return window.performance.memory;
    }).then(function (result) {
        console.log("MemoryInfo: jsHeapSizeLimit : " + result.jsHeapSizeLimit);
        console.log("MemoryInfo: usedJSHeapSize : " + result.usedJSHeapSize);
        console.log("MemoryInfo: totalJSHeapSize : " + result.totalJSHeapSize);

    });
}