Доступ к chromes window.performance из теста 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 для доступа к окну браузера? Я также попробовал совет, данный здесь Доступ к объекту окна/области браузера из транспортира, но не смог получить объект памяти.


person Carl    schedule 03.12.2014    source источник


Ответы (1)


Небольшая модификация кода этого сообщения кажется сделать трюк:

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);

    });
}
person Carl    schedule 03.12.2014