491 lines
32 KiB
HTML
491 lines
32 KiB
HTML
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<html><head><title>Python: package telemetry</title>
|
|
</head><body bgcolor="#f0f0f8">
|
|
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
|
|
<tr bgcolor="#7799ee">
|
|
<td valign=bottom> <br>
|
|
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>telemetry</strong></big></big></font></td
|
|
><td align=right valign=bottom
|
|
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/__init__.py">telemetry/__init__.py</a></font></td></tr></table>
|
|
<p><tt>A library for cross-platform browser tests.</tt></p>
|
|
<p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#aa55cc">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
|
|
|
|
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
|
|
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="telemetry.core.html"><strong>core</strong> (package)</a><br>
|
|
<a href="telemetry.page.html"><strong>page</strong> (package)</a><br>
|
|
</td><td width="25%" valign=top><a href="telemetry.test.html">test</a><br>
|
|
<a href="telemetry.test_runner.html">test_runner</a><br>
|
|
</td><td width="25%" valign=top><a href="telemetry.unittest.html"><strong>unittest</strong> (package)</a><br>
|
|
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#ee77aa">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
|
|
|
|
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
|
|
<td width="100%"><dl>
|
|
<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
|
|
</font></dt><dd>
|
|
<dl>
|
|
<dt><font face="helvetica, arial"><a href="telemetry.core.browser.html#Browser">telemetry.core.browser.Browser</a>
|
|
</font></dt></dl>
|
|
</dd>
|
|
<dt><font face="helvetica, arial"><a href="optparse.html#Values">optparse.Values</a>
|
|
</font></dt><dd>
|
|
<dl>
|
|
<dt><font face="helvetica, arial"><a href="telemetry.core.browser_options.html#BrowserOptions">telemetry.core.browser_options.BrowserOptions</a>
|
|
</font></dt></dl>
|
|
</dd>
|
|
<dt><font face="helvetica, arial"><a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
|
|
</font></dt><dd>
|
|
<dl>
|
|
<dt><font face="helvetica, arial"><a href="telemetry.core.tab.html#Tab">telemetry.core.tab.Tab</a>
|
|
</font></dt></dl>
|
|
</dd>
|
|
<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>)
|
|
</font></dt><dd>
|
|
<dl>
|
|
<dt><font face="helvetica, arial"><a href="telemetry.page.page_measurement.html#PageMeasurement">telemetry.page.page_measurement.PageMeasurement</a>
|
|
</font></dt></dl>
|
|
</dd>
|
|
</dl>
|
|
<p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#ffc8d8">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#000000" face="helvetica, arial"><a name="Browser">class <strong>Browser</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
|
|
|
|
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
|
|
<td colspan=2><tt>A running browser instance that can be controlled in a limited way.<br>
|
|
<br>
|
|
To create a browser instance, use browser_finder.FindBrowser.<br>
|
|
<br>
|
|
Be sure to clean up after yourself by calling <a href="#Browser-Close">Close</a>() when you are done with<br>
|
|
the browser. Or better yet:<br>
|
|
browser_to_create = FindBrowser(options)<br>
|
|
with browser_to_create.Create() as browser:<br>
|
|
... do all your operations on browser here<br> </tt></td></tr>
|
|
<tr><td> </td>
|
|
<td width="100%">Methods defined here:<br>
|
|
<dl><dt><a name="Browser-Close"><strong>Close</strong></a>(self)</dt><dd><tt>Closes this browser.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Browser-GetStackTrace"><strong>GetStackTrace</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-GetStandardOutput"><strong>GetStandardOutput</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-GetTraceResultAndReset"><strong>GetTraceResultAndReset</strong></a>(self)</dt><dd><tt>Returns the result of the trace, as TraceResult <a href="__builtin__.html#object">object</a>.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Browser-SetHTTPServerDirectories"><strong>SetHTTPServerDirectories</strong></a>(self, paths)</dt><dd><tt>Returns True if the HTTP server was started, False otherwise.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Browser-SetReplayArchivePath"><strong>SetReplayArchivePath</strong></a>(self, archive_path, append_to_existing_wpr<font color="#909090">=False</font>, make_javascript_deterministic<font color="#909090">=True</font>)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-StartProfiling"><strong>StartProfiling</strong></a>(self, options, base_output_file)</dt><dd><tt>Starts profiling using |options|.profiler_tool. Results are saved to<br>
|
|
|base_output_file|.<process_name>.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Browser-StartTracing"><strong>StartTracing</strong></a>(self, custom_categories<font color="#909090">=None</font>, timeout<font color="#909090">=10</font>)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-StopProfiling"><strong>StopProfiling</strong></a>(self)</dt><dd><tt>Stops all active profilers and saves their results.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Browser-StopTracing"><strong>StopTracing</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-__enter__"><strong>__enter__</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-__exit__"><strong>__exit__</strong></a>(self, *args)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-__init__"><strong>__init__</strong></a>(self, backend, platform_backend)</dt></dl>
|
|
|
|
<dl><dt><a name="Browser-is_profiler_active"><strong>is_profiler_active</strong></a>(self, profiler_name)</dt></dl>
|
|
|
|
<hr>
|
|
Data descriptors defined here:<br>
|
|
<dl><dt><strong>__dict__</strong></dt>
|
|
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>__weakref__</strong></dt>
|
|
<dd><tt>list of weak references to the object (if defined)</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>browser_type</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>extensions</strong></dt>
|
|
<dd><tt>Returns the extension dictionary if it exists.</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>http_server</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>io_stats</strong></dt>
|
|
<dd><tt>Returns a dict of IO statistics for the browser:<br>
|
|
{ 'Browser': {<br>
|
|
'ReadOperationCount': W,<br>
|
|
'WriteOperationCount': X,<br>
|
|
'ReadTransferCount': Y,<br>
|
|
'WriteTransferCount': Z<br>
|
|
},<br>
|
|
'Gpu': {<br>
|
|
'ReadOperationCount': W,<br>
|
|
'WriteOperationCount': X,<br>
|
|
'ReadTransferCount': Y,<br>
|
|
'WriteTransferCount': Z<br>
|
|
},<br>
|
|
'Renderer': {<br>
|
|
'ReadOperationCount': W,<br>
|
|
'WriteOperationCount': X,<br>
|
|
'ReadTransferCount': Y,<br>
|
|
'WriteTransferCount': Z<br>
|
|
}<br>
|
|
}</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>is_content_shell</strong></dt>
|
|
<dd><tt>Returns whether this browser is a content shell, only.</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>memory_stats</strong></dt>
|
|
<dd><tt>Returns a dict of memory statistics for the browser:<br>
|
|
{ 'Browser': {<br>
|
|
'VM': S,<br>
|
|
'VMPeak': T,<br>
|
|
'WorkingSetSize': U,<br>
|
|
'WorkingSetSizePeak': V,<br>
|
|
'ProportionalSetSize': W,<br>
|
|
'PrivateDirty': X<br>
|
|
},<br>
|
|
'Gpu': {<br>
|
|
'VM': S,<br>
|
|
'VMPeak': T,<br>
|
|
'WorkingSetSize': U,<br>
|
|
'WorkingSetSizePeak': V,<br>
|
|
'ProportionalSetSize': W,<br>
|
|
'PrivateDirty': X<br>
|
|
},<br>
|
|
'Renderer': {<br>
|
|
'VM': S,<br>
|
|
'VMPeak': T,<br>
|
|
'WorkingSetSize': U,<br>
|
|
'WorkingSetSizePeak': V,<br>
|
|
'ProportionalSetSize': W,<br>
|
|
'PrivateDirty': X<br>
|
|
},<br>
|
|
'SystemCommitCharge': Y,<br>
|
|
'ProcessCount': Z,<br>
|
|
}<br>
|
|
Any of the above keys may be missing on a per-platform basis.</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>platform</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>supports_extensions</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>supports_tab_control</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>supports_tracing</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>tabs</strong></dt>
|
|
</dl>
|
|
</td></tr></table> <p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#ffc8d8">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#000000" face="helvetica, arial"><a name="BrowserOptions">class <strong>BrowserOptions</strong></a>(<a href="optparse.html#Values">optparse.Values</a>)</font></td></tr>
|
|
|
|
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
|
|
<td colspan=2><tt>Options to be used for discovering and launching a browser.<br> </tt></td></tr>
|
|
<tr><td> </td>
|
|
<td width="100%">Methods defined here:<br>
|
|
<dl><dt><a name="BrowserOptions-AppendExtraBrowserArg"><strong>AppendExtraBrowserArg</strong></a>(self, arg)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-Copy"><strong>Copy</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-CreateParser"><strong>CreateParser</strong></a>(self, *args, **kwargs)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-__init__"><strong>__init__</strong></a>(self, browser_type<font color="#909090">=None</font>)</dt></dl>
|
|
|
|
<hr>
|
|
Methods inherited from <a href="optparse.html#Values">optparse.Values</a>:<br>
|
|
<dl><dt><a name="BrowserOptions-__cmp__"><strong>__cmp__</strong></a>(self, other)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-__repr__"><strong>__repr__</strong></a> = _repr(self)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-__str__"><strong>__str__</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-ensure_value"><strong>ensure_value</strong></a>(self, attr, value)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-read_file"><strong>read_file</strong></a>(self, filename, mode<font color="#909090">='careful'</font>)</dt></dl>
|
|
|
|
<dl><dt><a name="BrowserOptions-read_module"><strong>read_module</strong></a>(self, modname, mode<font color="#909090">='careful'</font>)</dt></dl>
|
|
|
|
</td></tr></table> <p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#ffc8d8">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#000000" face="helvetica, arial"><a name="PageMeasurement">class <strong>PageMeasurement</strong></a>(<a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>)</font></td></tr>
|
|
|
|
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
|
|
<td colspan=2><tt>Glue code for running a measurement across a set of pages.<br>
|
|
<br>
|
|
To use this, subclass from the measurement and override MeasurePage. For<br>
|
|
example:<br>
|
|
<br>
|
|
class BodyChildElementMeasurement(<a href="#PageMeasurement">PageMeasurement</a>):<br>
|
|
def <a href="#PageMeasurement-MeasurePage">MeasurePage</a>(self, page, tab, results):<br>
|
|
body_child_count = tab.EvaluateJavaScript(<br>
|
|
'document.body.children.length')<br>
|
|
results.Add('body_children', 'count', body_child_count)<br>
|
|
<br>
|
|
if __name__ == '__main__':<br>
|
|
page_measurement.Main(BodyChildElementMeasurement())<br>
|
|
<br>
|
|
To add test-specific options:<br>
|
|
<br>
|
|
class BodyChildElementMeasurement(<a href="#PageMeasurement">PageMeasurement</a>):<br>
|
|
def <a href="#PageMeasurement-AddCommandLineOptions">AddCommandLineOptions</a>(parser):<br>
|
|
parser.add_option('--element', action='store', default='body')<br>
|
|
<br>
|
|
def <a href="#PageMeasurement-MeasurePage">MeasurePage</a>(self, page, tab, results):<br>
|
|
body_child_count = tab.EvaluateJavaScript(<br>
|
|
'document.querySelector('%s').children.length')<br>
|
|
results.Add('children', 'count', child_count)<br> </tt></td></tr>
|
|
<tr><td> </td>
|
|
<td width="100%"><dl><dt>Method resolution order:</dt>
|
|
<dd><a href="telemetry.page.page_measurement.html#PageMeasurement">PageMeasurement</a></dd>
|
|
<dd><a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a></dd>
|
|
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
|
|
</dl>
|
|
<hr>
|
|
Methods defined here:<br>
|
|
<dl><dt><a name="PageMeasurement-AddOutputOptions"><strong>AddOutputOptions</strong></a>(self, parser)</dt></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-MeasurePage"><strong>MeasurePage</strong></a>(self, page, tab, results)</dt><dd><tt>Override to actually measure the page's performance.<br>
|
|
<br>
|
|
page is a page_set.Page<br>
|
|
tab is an instance of telemetry.core.<a href="#Tab">Tab</a><br>
|
|
<br>
|
|
Should call results.Add(name, units, value) for each result, or raise an<br>
|
|
exception on failure. The name and units of each Add() call must be<br>
|
|
the same across all iterations. The name 'url' must not be used.<br>
|
|
<br>
|
|
Prefer field names that are in accordance with python variable style. E.g.<br>
|
|
field_name.<br>
|
|
<br>
|
|
Put together:<br>
|
|
<br>
|
|
def <a href="#PageMeasurement-MeasurePage">MeasurePage</a>(self, page, tab, results):<br>
|
|
res = tab.EvaluateJavaScript('2+2')<br>
|
|
if res != 4:<br>
|
|
raise Exception('Oh, wow.')<br>
|
|
results.Add('two_plus_two', 'count', res)</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-PrepareResults"><strong>PrepareResults</strong></a>(self, options)</dt></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-__init__"><strong>__init__</strong></a>(self, action_name_to_run<font color="#909090">=''</font>, needs_browser_restart_after_each_run<font color="#909090">=False</font>, discard_first_result<font color="#909090">=False</font>, clear_cache_before_each_run<font color="#909090">=False</font>)</dt></dl>
|
|
|
|
<hr>
|
|
Data descriptors defined here:<br>
|
|
<dl><dt><strong>output_format_choices</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>results_are_the_same_on_every_page</strong></dt>
|
|
<dd><tt>By default, measurements are assumed to output the same values for every<br>
|
|
page. This allows incremental output, for example in CSV. If, however, the<br>
|
|
measurement discovers what values it can report as it goes, and those values<br>
|
|
may vary from page to page, you need to override this function and return<br>
|
|
False. Output will not appear in this mode until the entire pageset has<br>
|
|
run.</tt></dd>
|
|
</dl>
|
|
<hr>
|
|
Methods inherited from <a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>:<br>
|
|
<dl><dt><a name="PageMeasurement-AddCommandLineOptions"><strong>AddCommandLineOptions</strong></a>(self, parser)</dt><dd><tt>Override to expose command-line options for this test.<br>
|
|
<br>
|
|
The provided parser is an optparse.OptionParser instance and accepts all<br>
|
|
normal results. The parsed options are available in Run as<br>
|
|
self.<strong>options</strong>.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-CanRunForPage"><strong>CanRunForPage</strong></a>(self, page)</dt><dd><tt>Override to customize if the test can be ran for the given page.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-CreatePageSet"><strong>CreatePageSet</strong></a>(self, args, options)</dt><dd><tt>Override to make this test generate its own page set instead of<br>
|
|
allowing arbitrary page sets entered from the command-line.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-CustomizeBrowserOptions"><strong>CustomizeBrowserOptions</strong></a>(self, options)</dt><dd><tt>Override to add test-specific options to the <a href="#BrowserOptions">BrowserOptions</a> <a href="__builtin__.html#object">object</a></tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-CustomizeBrowserOptionsForPage"><strong>CustomizeBrowserOptionsForPage</strong></a>(self, page, options)</dt><dd><tt>Add options specific to the test and the given page.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-DidNavigateToPage"><strong>DidNavigateToPage</strong></a>(self, page, tab)</dt><dd><tt>Override to do operations right after the page is navigated, but before<br>
|
|
any waiting for completion has occurred.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-DidRunAction"><strong>DidRunAction</strong></a>(self, page, tab, action)</dt><dd><tt>Override to do operations after running the action on the page.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-DidRunPageSet"><strong>DidRunPageSet</strong></a>(self, tab, results)</dt><dd><tt>Override to do operations after page set is completed, but before browser<br>
|
|
is torn down.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-DidStartHTTPServer"><strong>DidStartHTTPServer</strong></a>(self, tab)</dt><dd><tt>Override to do operations after the HTTP server is started.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-NeedsBrowserRestartAfterEachRun"><strong>NeedsBrowserRestartAfterEachRun</strong></a>(self, tab)</dt><dd><tt>Override to specify browser restart after each run.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-Run"><strong>Run</strong></a>(self, options, page, tab, results)</dt></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-SetUpBrowser"><strong>SetUpBrowser</strong></a>(self, browser)</dt><dd><tt>Override to customize the browser right after it has launched.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-WillNavigateToPage"><strong>WillNavigateToPage</strong></a>(self, page, tab)</dt><dd><tt>Override to do operations before the page is navigated.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-WillRunAction"><strong>WillRunAction</strong></a>(self, page, tab, action)</dt><dd><tt>Override to do operations before running the action on the page.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="PageMeasurement-WillRunPageSet"><strong>WillRunPageSet</strong></a>(self, tab)</dt><dd><tt>Override to do operations before the page set is navigated.</tt></dd></dl>
|
|
|
|
<hr>
|
|
Data descriptors inherited from <a href="telemetry.page.page_test.html#PageTest">telemetry.page.page_test.PageTest</a>:<br>
|
|
<dl><dt><strong>__dict__</strong></dt>
|
|
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>__weakref__</strong></dt>
|
|
<dd><tt>list of weak references to the object (if defined)</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>action_name_to_run</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>clear_cache_before_each_run</strong></dt>
|
|
<dd><tt>When set to True, the browser's disk and memory cache will be cleared<br>
|
|
before each run.</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>discard_first_result</strong></dt>
|
|
<dd><tt>When set to True, the first run of the test is discarded. This is<br>
|
|
useful for cases where it's desirable to have some test resource cached so<br>
|
|
the first run of the test can warm things up.</tt></dd>
|
|
</dl>
|
|
</td></tr></table> <p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#ffc8d8">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#000000" face="helvetica, arial"><a name="Tab">class <strong>Tab</strong></a>(<a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>)</font></td></tr>
|
|
|
|
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
|
|
<td colspan=2><tt>Represents a tab in the browser<br>
|
|
<br>
|
|
The important parts of the <a href="#Tab">Tab</a> <a href="__builtin__.html#object">object</a> are in the runtime and page objects.<br>
|
|
E.g.:<br>
|
|
# Navigates the tab to a given url.<br>
|
|
tab.<a href="#Tab-Navigate">Navigate</a>('<a href="http://www.google.com/">http://www.google.com/</a>')<br>
|
|
<br>
|
|
# Evaluates 1+1 in the tab's JavaScript context.<br>
|
|
tab.Evaluate('1+1')<br> </tt></td></tr>
|
|
<tr><td> </td>
|
|
<td width="100%"><dl><dt>Method resolution order:</dt>
|
|
<dd><a href="telemetry.core.tab.html#Tab">Tab</a></dd>
|
|
<dd><a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a></dd>
|
|
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
|
|
</dl>
|
|
<hr>
|
|
Methods defined here:<br>
|
|
<dl><dt><a name="Tab-Activate"><strong>Activate</strong></a>(self)</dt><dd><tt>Brings this tab to the foreground asynchronously.<br>
|
|
<br>
|
|
Not all browsers or browser versions support this method.<br>
|
|
Be sure to check browser.supports_tab_control.<br>
|
|
<br>
|
|
Please note: this is asynchronous. There is a delay between this call<br>
|
|
and the page's documentVisibilityState becoming 'visible', and yet more<br>
|
|
delay until the actual tab is visible to the user. None of these delays<br>
|
|
are included in this call.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-ClearCache"><strong>ClearCache</strong></a>(self)</dt><dd><tt>Clears the browser's HTTP disk cache and the tab's HTTP memory cache.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-CollectGarbage"><strong>CollectGarbage</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Tab-GetCookieByName"><strong>GetCookieByName</strong></a>(self, name, timeout<font color="#909090">=60</font>)</dt><dd><tt>Returns the value of the cookie by the given |name|.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-Navigate"><strong>Navigate</strong></a>(self, url, script_to_evaluate_on_commit<font color="#909090">=None</font>, timeout<font color="#909090">=60</font>)</dt><dd><tt>Navigates to url.<br>
|
|
<br>
|
|
If |script_to_evaluate_on_commit| is given, the script source string will be<br>
|
|
evaluated when the navigation is committed. This is after the context of<br>
|
|
the page exists, but before any script on the page itself has executed.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-PerformActionAndWaitForNavigate"><strong>PerformActionAndWaitForNavigate</strong></a>(self, action_function, timeout<font color="#909090">=60</font>)</dt><dd><tt>Executes action_function, and waits for the navigation to complete.<br>
|
|
<br>
|
|
action_function must be a Python function that results in a navigation.<br>
|
|
This function returns when the navigation is complete or when<br>
|
|
the timeout has been exceeded.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-Screenshot"><strong>Screenshot</strong></a>(self, timeout<font color="#909090">=60</font>)</dt><dd><tt>Capture a screenshot of the window for rendering validation</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-__del__"><strong>__del__</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Tab-__init__"><strong>__init__</strong></a>(self, inspector_backend)</dt></dl>
|
|
|
|
<hr>
|
|
Data descriptors defined here:<br>
|
|
<dl><dt><strong>browser</strong></dt>
|
|
<dd><tt>The browser in which this tab resides.</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>dom_stats</strong></dt>
|
|
<dd><tt>A dictionary populated with measured DOM statistics.<br>
|
|
<br>
|
|
Currently this dictionary contains:<br>
|
|
{<br>
|
|
'document_count': integer,<br>
|
|
'node_count': integer,<br>
|
|
'event_listener_count': integer<br>
|
|
}</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>screenshot_supported</strong></dt>
|
|
<dd><tt>True if the browser instance is capable of capturing screenshots</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>url</strong></dt>
|
|
</dl>
|
|
<hr>
|
|
Methods inherited from <a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>:<br>
|
|
<dl><dt><a name="Tab-Close"><strong>Close</strong></a>(self)</dt><dd><tt>Closes this page.<br>
|
|
<br>
|
|
Not all browsers or browser versions support this method.<br>
|
|
Be sure to check browser.supports_tab_control.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-Disconnect"><strong>Disconnect</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Tab-EvaluateJavaScript"><strong>EvaluateJavaScript</strong></a>(self, expr, timeout<font color="#909090">=60</font>)</dt><dd><tt>Evalutes expr in JavaScript and returns the JSONized result.<br>
|
|
<br>
|
|
Consider using ExecuteJavaScript for cases where the result of the<br>
|
|
expression is not needed.<br>
|
|
<br>
|
|
If evaluation throws in JavaScript, a Python EvaluateException will<br>
|
|
be raised.<br>
|
|
<br>
|
|
If the result of the evaluation cannot be JSONized, then an<br>
|
|
EvaluationException will be raised.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-ExecuteJavaScript"><strong>ExecuteJavaScript</strong></a>(self, expr, timeout<font color="#909090">=60</font>)</dt><dd><tt>Executes expr in JavaScript. Does not return the result.<br>
|
|
<br>
|
|
If the expression failed to evaluate, EvaluateException will be raised.</tt></dd></dl>
|
|
|
|
<dl><dt><a name="Tab-StartTimelineRecording"><strong>StartTimelineRecording</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Tab-StopTimelineRecording"><strong>StopTimelineRecording</strong></a>(self)</dt></dl>
|
|
|
|
<dl><dt><a name="Tab-WaitForDocumentReadyStateToBeComplete"><strong>WaitForDocumentReadyStateToBeComplete</strong></a>(self, timeout<font color="#909090">=60</font>)</dt></dl>
|
|
|
|
<dl><dt><a name="Tab-WaitForDocumentReadyStateToBeInteractiveOrBetter"><strong>WaitForDocumentReadyStateToBeInteractiveOrBetter</strong></a>(self, timeout<font color="#909090">=60</font>)</dt></dl>
|
|
|
|
<hr>
|
|
Data descriptors inherited from <a href="telemetry.core.web_contents.html#WebContents">telemetry.core.web_contents.WebContents</a>:<br>
|
|
<dl><dt><strong>__dict__</strong></dt>
|
|
<dd><tt>dictionary for instance variables (if defined)</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>__weakref__</strong></dt>
|
|
<dd><tt>list of weak references to the object (if defined)</tt></dd>
|
|
</dl>
|
|
<dl><dt><strong>message_output_stream</strong></dt>
|
|
</dl>
|
|
<dl><dt><strong>timeline_model</strong></dt>
|
|
</dl>
|
|
</td></tr></table></td></tr></table><p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#eeaa77">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
|
|
|
|
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
|
|
<td width="100%"><dl><dt><a name="-RunPage"><strong>RunPage</strong></a> = Run(test, page_set, options)</dt><dd><tt>Runs a given test against a given page_set with the given options.</tt></dd></dl>
|
|
</td></tr></table><p>
|
|
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
|
|
<tr bgcolor="#55aa55">
|
|
<td colspan=3 valign=bottom> <br>
|
|
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
|
|
|
|
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
|
|
<td width="100%"><strong>__all__</strong> = ['Browser', 'BrowserOptions', 'PageMeasurement', 'RunPage', 'Tab']</td></tr></table>
|
|
</body></html> |