def get_page_metrics_from_cached_session(self, page_url): """Returns a PageSessionMetrics domain object for a given page URL while simulating a cached session i.e, a return user. Note: This method is stand-alone and does not require `get_page_session_metrics_for_url` to be called before it. """ server, proxy = self._setup_proxy_server() driver = self._setup_driver(proxy=proxy, use_proxy=True) # Fetch the page once. This leads to caching of various resources. driver.get(page_url) self._wait_until_page_load_is_finished() # Start recording har data for the next page fetch. proxy.new_har(page_url, options={'captureHeaders': True}) driver.get(page_url) self._wait_until_page_load_is_finished() har_dict = proxy.har self._stop_proxy_server(server) self._stop_driver(driver) return perf_domain.PageSessionMetrics(page_session_stats=har_dict, page_session_timings=None)
def get_page_timings_from_uncached_session(self, page_url): """Returns a PageSessionMetrics domain object initialized using page load timings for a page URL. """ driver = self._setup_driver(proxy=None, use_proxy=False) driver.get(page_url) self._wait_until_page_load_is_finished() page_session_timings = ( driver.execute_script("return window.performance")) self._stop_driver(driver) return perf_domain.PageSessionMetrics( page_session_stats=None, page_session_timings=page_session_timings)
def get_page_metrics_from_uncached_session(self, page_url): """Returns a PageSessionMetrics domain object for a given page URL. """ server, proxy = self._setup_proxy_server() driver = self._setup_driver(proxy=proxy, use_proxy=True) proxy.new_har(page_url, options={'captureHeaders': True}) driver.get(page_url) self._wait_until_page_load_is_finished() har_dict = proxy.har self._stop_proxy_server(server) self._stop_driver(driver) return perf_domain.PageSessionMetrics(page_session_stats=har_dict, page_session_timings=None)
def get_page_timings_from_cached_session(self, page_url): """Returns a PageSessionMetrics domain object initialized using page load timings for a page URL while simulating a cached session i.e, a return user. """ driver = self._setup_driver(proxy=None, use_proxy=False) # Fetch the page once. This leads to caching of various resources. driver.get(page_url) self._wait_until_page_load_is_finished() driver.get(page_url) self._wait_until_page_load_is_finished() page_session_timings = ( driver.execute_script("return window.performance")) self._stop_driver(driver) return perf_domain.PageSessionMetrics( page_session_stats=None, page_session_timings=page_session_timings)