Watir - Performance della pagina

La funzionalità delle prestazioni di Watir Page consente di tenere traccia delle metriche del tempo di risposta e funziona bene in Chrome, Firefox, IE9 e versioni successive. Il browser Safari non ha il supporto al momento.

Diamo uno sguardo più da vicino su come utilizzare questa funzione. Per utilizzarlo, dobbiamo installare watir-performance usando gem come mostrato di seguito -

Comando

gem install watir-performance

Abbiamo finito con l'installazione di watir-performance. Le metriche supportate sono:

  • summary
  • navigation
  • memory
  • Timing

Un esempio funzionante che utilizza watir-performance è discusso qui. Qui, controlleremo il tempo di risposta per il sito - www.tutorialspoint.com come mostrato di seguito -

require 'watir'
require 'watir-performance'
10.times do
   b = Watir::Browser.new :chrome
   b.goto 'https://www.tutorialspoint.com'
   load_secs = b.performance.summary[:response_time] / 1000
   puts "Load Time: #{load_secs} seconds."
   b.close
end

produzione

Load Time: 7 seconds.
Load Time: 7 seconds.
Load Time: 5 seconds.
Load Time: 5 seconds.
Load Time: 6 seconds.
Load Time: 5 seconds.
Load Time: 5 seconds.
Load Time: 13 seconds.
Load Time: 12 seconds.
Load Time: 5 seconds.

Utilizzando performance.timing

require 'watir'
require 'watir-performance'

b = Watir::Browser.new :chrome
b.goto 'https://www.tutorialspoint.com'
load_secs = b.performance.timing[:response_end] - b.performance.timing[:response_start]
puts "Time taken to respond is #{load_secs} seconds."
b.close

produzione

Time taken to respond is 41 seconds.

Utilizzo di performance.navigation

require 'watir'
require 'watir-performance'

b = Watir::Browser.new :chrome
b.goto 'https://www.tutorialspoint.com'
perf_nav = b.performance.navigation
puts "#{perf_nav}"
b.close

produzione

{:type_back_forward=>2, :type_navigate=>0, :type_reload=>1, 
:type_reserved=>255, :redirect_count=>0, :to_json=>{}, :type=>0}

Utilizzando performance.memory

require 'watir'
require 'watir-performance'

b = Watir::Browser.new :chrome
b.goto 'https://www.tutorialspoint.com'
memory_used = b.performance.memory
puts "#{memory_used}"
b.close

produzione

{:js_heap_size_limit=>2, :type_navigate=>0, :type_reload=>1, :ty2136997888, 
:total_js_heap_size=>2, :type_navigate=>0, :type_reload=>1, :ty12990756, 
:used_js_heap_size=>2, :type_navigate=>0, :type_reload=>1, :ty7127092}