1 2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 3<html><head><title>Python: module telemetry.web_perf.timeline_based_page_test</title> 4<meta charset="utf-8"> 5</head><body bgcolor="#f0f0f8"> 6 7<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> 8<tr bgcolor="#7799ee"> 9<td valign=bottom> <br> 10<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry.web_perf.html"><font color="#ffffff">web_perf</font></a>.timeline_based_page_test</strong></big></big></font></td 11><td align=right valign=bottom 12><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/web_perf/timeline_based_page_test.py">telemetry/web_perf/timeline_based_page_test.py</a></font></td></tr></table> 13 <p><tt># Copyright (c) 2015 The Chromium Authors. All rights reserved.<br> 14# Use of this source code is governed by a BSD-style license that can be<br> 15# found in the LICENSE file.</tt></p> 16<p> 17<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 18<tr bgcolor="#aa55cc"> 19<td colspan=3 valign=bottom> <br> 20<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> 21 22<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> 23<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="telemetry.page.page_test.html">telemetry.page.page_test</a><br> 24</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p> 25<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 26<tr bgcolor="#ee77aa"> 27<td colspan=3 valign=bottom> <br> 28<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> 29 30<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> 31<td width="100%"><dl> 32<dt><font face="helvetica, arial"><a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>(<a href="__builtin__.html#object">__builtin__.object</a>) 33</font></dt><dd> 34<dl> 35<dt><font face="helvetica, arial"><a href="telemetry.web_perf.timeline_based_page_test.html#TimelineBasedPageTest">TimelineBasedPageTest</a> 36</font></dt></dl> 37</dd> 38</dl> 39 <p> 40<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 41<tr bgcolor="#ffc8d8"> 42<td colspan=3 valign=bottom> <br> 43<font color="#000000" face="helvetica, arial"><a name="TimelineBasedPageTest">class <strong>TimelineBasedPageTest</strong></a>(<a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>)</font></td></tr> 44 45<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> 46<td colspan=2><tt>Page test that collects metrics with TimelineBasedMeasurement.<br> 47 <br> 48WillRunStory(), Measure() and DidRunStory() are all done in story_runner<br> 49explicitly. We still need this wrapper around <a href="telemetry.page.page_test.html#PageTest">PageTest</a> because it executes<br> 50some browser related functions in the parent class, which is needed by<br> 51Timeline Based Measurement benchmarks. This class will be removed after<br> 52page_test's hooks are fully removed.<br> </tt></td></tr> 53<tr><td> </td> 54<td width="100%"><dl><dt>Method resolution order:</dt> 55<dd><a href="telemetry.web_perf.timeline_based_page_test.html#TimelineBasedPageTest">TimelineBasedPageTest</a></dd> 56<dd><a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a></dd> 57<dd><a href="__builtin__.html#object">__builtin__.object</a></dd> 58</dl> 59<hr> 60Methods defined here:<br> 61<dl><dt><a name="TimelineBasedPageTest-ValidateAndMeasurePage"><strong>ValidateAndMeasurePage</strong></a>(self, page, tab, results)</dt><dd><tt>Collect all possible metrics and added them to results.</tt></dd></dl> 62 63<dl><dt><a name="TimelineBasedPageTest-__init__"><strong>__init__</strong></a>(self, tbm)</dt></dl> 64 65<hr> 66Data descriptors defined here:<br> 67<dl><dt><strong>measurement</strong></dt> 68</dl> 69<hr> 70Methods inherited from <a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>:<br> 71<dl><dt><a name="TimelineBasedPageTest-CustomizeBrowserOptions"><strong>CustomizeBrowserOptions</strong></a>(self, options)</dt><dd><tt>Override to add test-specific options to the BrowserOptions object</tt></dd></dl> 72 73<dl><dt><a name="TimelineBasedPageTest-DidNavigateToPage"><strong>DidNavigateToPage</strong></a>(self, page, tab)</dt><dd><tt>Override to do operations right after the page is navigated and after<br> 74all waiting for completion has occurred.</tt></dd></dl> 75 76<dl><dt><a name="TimelineBasedPageTest-DidRunPage"><strong>DidRunPage</strong></a>(self, platform)</dt><dd><tt>Called after the test run method was run, even if it failed.</tt></dd></dl> 77 78<dl><dt><a name="TimelineBasedPageTest-DidStartBrowser"><strong>DidStartBrowser</strong></a>(self, browser)</dt><dd><tt>Override to customize the browser right after it has launched.</tt></dd></dl> 79 80<dl><dt><a name="TimelineBasedPageTest-RestartBrowserBeforeEachPage"><strong>RestartBrowserBeforeEachPage</strong></a>(self)</dt><dd><tt>Should the browser be restarted for the page?<br> 81 <br> 82This returns true if the test needs to unconditionally restart the<br> 83browser for each page. It may be called before the browser is started.</tt></dd></dl> 84 85<dl><dt><a name="TimelineBasedPageTest-RunNavigateSteps"><strong>RunNavigateSteps</strong></a>(self, page, tab)</dt><dd><tt>Navigates the tab to the page URL attribute.<br> 86 <br> 87Runs the 'navigate_steps' page attribute as a compound action.</tt></dd></dl> 88 89<dl><dt><a name="TimelineBasedPageTest-SetOptions"><strong>SetOptions</strong></a>(self, options)</dt><dd><tt>Sets the BrowserFinderOptions instance to use.</tt></dd></dl> 90 91<dl><dt><a name="TimelineBasedPageTest-StopBrowserAfterPage"><strong>StopBrowserAfterPage</strong></a>(self, browser, page)</dt><dd><tt>Should the browser be stopped after the page is run?<br> 92 <br> 93This is called after a page is run to decide whether the browser needs to<br> 94be stopped to clean up its state. If it is stopped, then it will be<br> 95restarted to run the next page.<br> 96 <br> 97A test that overrides this can look at both the page and the browser to<br> 98decide whether it needs to stop the browser.</tt></dd></dl> 99 100<dl><dt><a name="TimelineBasedPageTest-TabForPage"><strong>TabForPage</strong></a>(self, page, browser)</dt><dd><tt>Override to select a different tab for the page. For instance, to<br> 101create a new tab for every page, return browser.tabs.New().</tt></dd></dl> 102 103<dl><dt><a name="TimelineBasedPageTest-WillNavigateToPage"><strong>WillNavigateToPage</strong></a>(self, page, tab)</dt><dd><tt>Override to do operations before the page is navigated, notably Telemetry<br> 104will already have performed the following operations on the browser before<br> 105calling this function:<br> 106* Ensure only one tab is open.<br> 107* Call WaitForDocumentReadyStateToComplete on the tab.</tt></dd></dl> 108 109<dl><dt><a name="TimelineBasedPageTest-WillStartBrowser"><strong>WillStartBrowser</strong></a>(self, platform)</dt><dd><tt>Override to manipulate the browser environment before it launches.</tt></dd></dl> 110 111<hr> 112Data descriptors inherited from <a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>:<br> 113<dl><dt><strong>__dict__</strong></dt> 114<dd><tt>dictionary for instance variables (if defined)</tt></dd> 115</dl> 116<dl><dt><strong>__weakref__</strong></dt> 117<dd><tt>list of weak references to the object (if defined)</tt></dd> 118</dl> 119<dl><dt><strong>clear_cache_before_each_run</strong></dt> 120<dd><tt>When set to True, the browser's disk and memory cache will be cleared<br> 121before each run.</tt></dd> 122</dl> 123<dl><dt><strong>close_tabs_before_run</strong></dt> 124<dd><tt>When set to True, all tabs are closed before running the test for the<br> 125first time.</tt></dd> 126</dl> 127<dl><dt><strong>is_multi_tab_test</strong></dt> 128<dd><tt>Returns True if the test opens multiple tabs.<br> 129 <br> 130If the test overrides TabForPage, it is deemed a multi-tab test.<br> 131Multi-tab tests do not retry after tab or browser crashes, whereas,<br> 132single-tab tests too. That is because the state of multi-tab tests<br> 133(e.g., how many tabs are open, etc.) is unknown after crashes.</tt></dd> 134</dl> 135</td></tr></table></td></tr></table> 136</body></html>