Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)