2016-09-15 3 views
3

Идея заключается в следующем:Каков наиболее эффективный способ отслеживания памяти браузера, потребляемого при выполнении теста Protractor?

  1. Мера usedJSHeapSize перед началом испытания.
  2. Меры, использованныеJSHeapSize после завершения теста.
  3. Сравнивая значения с 1 и 2, и если размер увеличивается выше определенного порогового значения, то сбой сценария.

До сих пор я пытался:

Любые другие идеи?

+0

Эй, просто хотел проверить, если ниже решение работает для вас – AdityaReddy

+0

@AdityaReddy ваше решение было очень полезно. Я только что отметил ответ. Благодарю. – Tedi

+0

Спасибо. Рад знать, что это сработало! – AdityaReddy

ответ

1

Это может быть сделано путем вызова browser.executeScript()

Использование window.performance.memory для Chrome для извлечения параметров производительности Ниже код работал все хорошо для меня.

https://docs.webplatform.org/wiki/apis/timing/properties/memory

it('Dummy Test', function(){ 
    //Fetch the browser memory parameters before execution 
    browser.executeScript('return window.performance.memory').then(function(memoryInfo){ 
     console.log(memoryInfo) 
     var beforejsHeapSizeLimit = memoryInfo.jsHeapSizeLimit; 
     var beforeusedJSHeapSize = memoryInfo.usedJSHeapSize; 
     var beforetotalJSHeapSize = memoryInfo.totalJSHeapSize; 

     // Have all your code to open browser .. navigate pages etc 
     browser.driver.get("https://wordpress.com/"); 
     browser.driver.get("http://www.adobe.com/software/flash/about/"); 
     // Once you are done compare before and after values 

     //Fetch the browser memory parameters after execution and compare 
     browser.executeScript('return window.performance.memory').then(function(aftermemoryInfo) { 
      console.log(aftermemoryInfo) 
      var afterjsHeapSizeLimit = aftermemoryInfo.jsHeapSizeLimit; 
      var afterusedJSHeapSize = aftermemoryInfo.usedJSHeapSize; 
      var aftertotalJSHeapSize = aftermemoryInfo.totalJSHeapSize; 
      expect((parseInt(afterusedJSHeapSize)-parseInt(beforeusedJSHeapSize))<10000000).toBe.true; 
     }); 
    }); 

}); 
+0

Спасибо! Это было очень полезно – Tedi