blob: d94ae3381e8727dc1326fa24d9d9ef69feea6f04 [file] [log] [blame]
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>com.dtmilano.android.viewclient.ViewClient</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="com.dtmilano.android-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
><a class="navbar" target="_top" href="http://dtmilano.com/viewclient">Project Homepage</a></th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
Package&nbsp;com ::
Package&nbsp;dtmilano ::
<a href="com.dtmilano.android-module.html">Package&nbsp;android</a> ::
<a href="com.dtmilano.android.viewclient-module.html">Module&nbsp;viewclient</a> ::
Class&nbsp;ViewClient
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="com.dtmilano.android.viewclient.ViewClient-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class ViewClient</h1><p class="nomargin-top"><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient">source&nbsp;code</a></span></p>
<p>ViewClient is a <i>ViewServer</i> client.</p>
<h1 class="heading">ViewServer backend</h1>
<p>If not running the ViewServer is started on the target device or
emulator and then the port mapping is created.</p>
<h1 class="heading">UiAutomator backend</h1>
<p>No service is started.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">device</span>,
<span class="summary-sig-arg">serialno</span>,
<span class="summary-sig-arg">adb</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">autodump</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">forceviewserveruse</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">localport</span>=<span class="summary-sig-default">4939</span>,
<span class="summary-sig-arg">remoteport</span>=<span class="summary-sig-default">4939</span>,
<span class="summary-sig-arg">startviewserver</span>=<span class="summary-sig-default">True</span>,
<span class="summary-sig-arg">ignoreuiautomatorkilled</span>=<span class="summary-sig-default">False</span>)</span><br />
Constructor</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__del__"></a><span class="summary-sig-name">__del__</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__del__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#assertServiceResponse" class="summary-sig-name">assertServiceResponse</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">response</span>)</span><br />
Checks whether the response received from the server is correct or
raises and Exception.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.assertServiceResponse">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#serviceResponse" class="summary-sig-name">serviceResponse</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">response</span>)</span><br />
Checks the response received from the <i>ViewServer</i>.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.serviceResponse">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#setViews" class="summary-sig-name">setViews</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">received</span>)</span><br />
Sets <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#views"
class="link">self.views</a> to the received value splitting it into
lines.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.setViews">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#setViewsFromUiAutomatorDump" class="summary-sig-name">setViewsFromUiAutomatorDump</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">received</span>)</span><br />
Sets <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#views"
class="link">self.views</a> to the received value parsing the
received XML.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.setViewsFromUiAutomatorDump">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#__splitAttrs" class="summary-sig-name" onclick="show_private();">__splitAttrs</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">strArgs</span>)</span><br />
Splits the <code>View</code> attributes in <code>strArgs</code> and
optionally adds the view id to the <code>viewsById</code> list.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__splitAttrs">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#__parseTree" class="summary-sig-name" onclick="show_private();">__parseTree</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">receivedLines</span>)</span><br />
Parses the View tree contained in <code
class="link">receivedLines</code>.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__parseTree">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__parseTreeFromUiAutomatorDump"></a><span class="summary-sig-name">__parseTreeFromUiAutomatorDump</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">receivedXml</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__parseTreeFromUiAutomatorDump">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#getRoot" class="summary-sig-name">getRoot</a>(<span class="summary-sig-arg">self</span>)</span><br />
Gets the root node of the <code>View</code> tree</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getRoot">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#traverse" class="summary-sig-name">traverse</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">indent</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">transform</span>=<span class="summary-sig-default">&lt;unbound method View.__str__&gt;</span>,
<span class="summary-sig-arg">stream</span>=<span class="summary-sig-default">sys.stdout</span>)</span><br />
Traverses the <code>View</code> tree and prints its nodes.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverse">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#dump" class="summary-sig-name">dump</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">window</span>=<span class="summary-sig-default">-1</span>,
<span class="summary-sig-arg">sleep</span>=<span class="summary-sig-default">1</span>)</span><br />
Dumps the window content.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.dump">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#list" class="summary-sig-name">list</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">sleep</span>=<span class="summary-sig-default">1</span>)</span><br />
List the windows.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.list">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#findViewById" class="summary-sig-name">findViewById</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">viewId</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">viewFilter</span>=<span class="summary-sig-default">None</span>)</span><br />
Finds the View with the specified viewId.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewById">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#findViewByIdOrRaise" class="summary-sig-name">findViewByIdOrRaise</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">viewId</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">viewFilter</span>=<span class="summary-sig-default">None</span>)</span><br />
Finds the View or raise a ViewNotFoundException.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewByIdOrRaise">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewByTag"></a><span class="summary-sig-name">findViewByTag</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">tag</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View with the specified tag</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewByTag">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewByTagOrRaise"></a><span class="summary-sig-name">findViewByTagOrRaise</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">tag</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View with the specified tag or raise a
ViewNotFoundException</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewByTagOrRaise">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__findViewWithAttributeInTree"></a><span class="summary-sig-name">__findViewWithAttributeInTree</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">attr</span>,
<span class="summary-sig-arg">val</span>,
<span class="summary-sig-arg">root</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__findViewWithAttributeInTree">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__findViewWithAttributeInTreeOrRaise"></a><span class="summary-sig-name">__findViewWithAttributeInTreeOrRaise</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">attr</span>,
<span class="summary-sig-arg">val</span>,
<span class="summary-sig-arg">root</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__findViewWithAttributeInTreeOrRaise">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__findViewWithAttributeInTreeThatMatches"></a><span class="summary-sig-name">__findViewWithAttributeInTreeThatMatches</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">attr</span>,
<span class="summary-sig-arg">regex</span>,
<span class="summary-sig-arg">root</span>,
<span class="summary-sig-arg">rlist</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__findViewWithAttributeInTreeThatMatches">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewWithAttribute"></a><span class="summary-sig-name">findViewWithAttribute</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">attr</span>,
<span class="summary-sig-arg">val</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View with the specified attribute and value</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithAttribute">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#findViewWithAttributeOrRaise" class="summary-sig-name">findViewWithAttributeOrRaise</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">attr</span>,
<span class="summary-sig-arg">val</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View or raise a ViewNotFoundException.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithAttributeOrRaise">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewWithAttributeThatMatches"></a><span class="summary-sig-name">findViewWithAttributeThatMatches</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">attr</span>,
<span class="summary-sig-arg">regex</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the list of Views with the specified attribute matching regex</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithAttributeThatMatches">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewWithText"></a><span class="summary-sig-name">findViewWithText</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">text</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithText">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#findViewWithTextOrRaise" class="summary-sig-name">findViewWithTextOrRaise</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">text</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View or raise a ViewNotFoundException.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithTextOrRaise">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewWithContentDescription"></a><span class="summary-sig-name">findViewWithContentDescription</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">contentdescription</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View with the specified content description</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithContentDescription">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewWithContentDescriptionOrRaise"></a><span class="summary-sig-name">findViewWithContentDescriptionOrRaise</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">contentdescription</span>,
<span class="summary-sig-arg">root</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span><br />
Finds the View with the specified content description</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithContentDescriptionOrRaise">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="findViewsContainingPoint"></a><span class="summary-sig-name">findViewsContainingPoint</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">(x, y)</span>,
<span class="summary-sig-arg">filter</span>=<span class="summary-sig-default">None</span>)</span><br />
Finds the list of Views that contain the point (x, y).</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewsContainingPoint">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#getViewIds" class="summary-sig-name">getViewIds</a>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getViewIds">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#getViewsById" class="summary-sig-name">getViewsById</a>(<span class="summary-sig-arg">self</span>)</span><br />
Returns the Views map.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getViewsById">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__getFocusedWindowPosition"></a><span class="summary-sig-name">__getFocusedWindowPosition</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__getFocusedWindowPosition">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="getSdkVersion"></a><span class="summary-sig-name">getSdkVersion</span>(<span class="summary-sig-arg">self</span>)</span><br />
Gets the SDK version.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getSdkVersion">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="isKeyboardShown"></a><span class="summary-sig-name">isKeyboardShown</span>(<span class="summary-sig-arg">self</span>)</span><br />
Whether the keyboard is displayed.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.isKeyboardShown">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#writeImageToFile" class="summary-sig-name">writeImageToFile</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">filename</span>,
<span class="summary-sig-arg">format</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">PNG</code><code class="variable-quote">'</code></span>)</span><br />
Write the View image to the specified filename in the specified
format.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.writeImageToFile">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#distance" class="summary-sig-name">distance</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">tree</span>)</span><br />
Calculates the distance between this tree and the tree passed as
argument.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.distance">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="hammingDistance"></a><span class="summary-sig-name">hammingDistance</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">tree</span>)</span><br />
Finds the Hamming distance between this tree and the one passed as
argument.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.hammingDistance">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="levenshteinDistance"></a><span class="summary-sig-name">levenshteinDistance</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">tree</span>)</span><br />
Finds the Levenshtein distance between this tree and the one passed
as argument.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.levenshteinDistance">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== STATIC METHODS ==================== -->
<a name="section-StaticMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Static Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-StaticMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__obtainAdbPath"></a><span class="summary-sig-name">__obtainAdbPath</span>()</span><br />
Obtains the ADB path attempting know locations for different OSs</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__obtainAdbPath">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__mapSerialNo"></a><span class="summary-sig-name">__mapSerialNo</span>(<span class="summary-sig-arg">serialno</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__mapSerialNo">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__obtainDeviceSerialNumber"></a><span class="summary-sig-name">__obtainDeviceSerialNumber</span>(<span class="summary-sig-arg">device</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__obtainDeviceSerialNumber">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="setAlarm"></a><span class="summary-sig-name">setAlarm</span>(<span class="summary-sig-arg">timeout</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.setAlarm">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#connectToDeviceOrExit" class="summary-sig-name">connectToDeviceOrExit</a>(<span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">60</span>,
<span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">ignoresecuredevice</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">serialno</span>=<span class="summary-sig-default">None</span>)</span><br />
Connects to a device which serial number is obtained from the script
arguments if available or using the default regex <code>.*</code>.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.connectToDeviceOrExit">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdAndText" class="summary-sig-name">traverseShowClassIdAndText</a>(<span class="summary-sig-arg">view</span>,
<span class="summary-sig-arg">extraInfo</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">noextrainfo</span>=<span class="summary-sig-default">None</span>)</span><br />
Shows the View class, id and text if available.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdAndText">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndUniqueId" class="summary-sig-name">traverseShowClassIdTextAndUniqueId</a>(<span class="summary-sig-arg">view</span>)</span><br />
Shows the View class, id, text if available and unique id.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndUniqueId">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndContentDescription" class="summary-sig-name">traverseShowClassIdTextAndContentDescription</a>(<span class="summary-sig-arg">view</span>)</span><br />
Shows the View class, id, text if available and unique id.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndContentDescription">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndCenter" class="summary-sig-name">traverseShowClassIdTextAndCenter</a>(<span class="summary-sig-arg">view</span>)</span><br />
Shows the View class, id and text if available.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndCenter">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextPositionAndSize" class="summary-sig-name">traverseShowClassIdTextPositionAndSize</a>(<span class="summary-sig-arg">view</span>)</span><br />
Shows the View class, id and text if available.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextPositionAndSize">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#TRAVERSE_CIT" class="summary-sig-name">TRAVERSE_CIT</a>(<span class="summary-sig-arg">view</span>,
<span class="summary-sig-arg">extraInfo</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">noextrainfo</span>=<span class="summary-sig-default">None</span>)</span><br />
An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdAndText"
class="link">traverseShowClassIdAndText(view)</a></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdAndText">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#TRAVERSE_CITUI" class="summary-sig-name">TRAVERSE_CITUI</a>(<span class="summary-sig-arg">view</span>)</span><br />
An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndUniqueId"
class="link">traverseShowClassIdTextAndUniqueId(view)</a></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndUniqueId">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#TRAVERSE_CITCD" class="summary-sig-name">TRAVERSE_CITCD</a>(<span class="summary-sig-arg">view</span>)</span><br />
An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndContentDescription"
class="link">traverseShowClassIdTextAndContentDescription(view)</a></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndContentDescription">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#TRAVERSE_CITC" class="summary-sig-name">TRAVERSE_CITC</a>(<span class="summary-sig-arg">view</span>)</span><br />
An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndCenter"
class="link">traverseShowClassIdTextAndCenter(view)</a></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndCenter">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#TRAVERSE_CITPS" class="summary-sig-name">TRAVERSE_CITPS</a>(<span class="summary-sig-arg">view</span>)</span><br />
An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextPositionAndSize"
class="link">traverseShowClassIdTextPositionAndSize(view)</a></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextPositionAndSize">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#sleep" class="summary-sig-name">sleep</a>(<span class="summary-sig-arg">secs</span>=<span class="summary-sig-default">1.0</span>)</span><br />
Sleeps for the specified number of seconds.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.sleep">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__traverse"></a><span class="summary-sig-name">__traverse</span>(<span class="summary-sig-arg">root</span>,
<span class="summary-sig-arg">indent</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">transform</span>=<span class="summary-sig-default">&lt;unbound method View.__str__&gt;</span>,
<span class="summary-sig-arg">stream</span>=<span class="summary-sig-default">sys.stdout</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__traverse">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__pickleable"></a><span class="summary-sig-name">__pickleable</span>(<span class="summary-sig-arg">tree</span>)</span><br />
Makes the tree pickleable.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__pickleable">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#__hammingDistance" class="summary-sig-name" onclick="show_private();">__hammingDistance</a>(<span class="summary-sig-arg">s1</span>,
<span class="summary-sig-arg">s2</span>)</span><br />
Finds the Hamming distance between two strings.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__hammingDistance">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="com.dtmilano.android.viewclient.ViewClient-class.html#__levenshteinDistance" class="summary-sig-name" onclick="show_private();">__levenshteinDistance</a>(<span class="summary-sig-arg">s</span>,
<span class="summary-sig-arg">t</span>)</span><br />
Find the Levenshtein distance between two Strings.</td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__levenshteinDistance">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="excerpt"></a><span class="summary-sig-name">excerpt</span>(<span class="summary-sig-arg">str</span>,
<span class="summary-sig-arg">execute</span>=<span class="summary-sig-default">False</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.excerpt">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== INSTANCE VARIABLES ==================== -->
<a name="section-InstanceVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="device"></a><span class="summary-name">device</span><br />
The <code>MonkeyDevice</code> device instance
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="serialno"></a><span class="summary-name">serialno</span><br />
The serial number of the device
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="adb"></a><span class="summary-name">adb</span><br />
The adb command
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="root"></a><span class="summary-name">root</span><br />
The root node
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="viewsById"></a><span class="summary-name">viewsById</span><br />
The map containing all the <a
href="com.dtmilano.android.viewclient.View-class.html"
class="link">View</a>s indexed by their <a
href="com.dtmilano.android.viewclient.View-class.html#getUniqueId"
class="link">View.getUniqueId()</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="display"></a><span class="summary-name">display</span><br />
The map containing the device's display properties: width, height and
density
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="build"></a><span class="summary-name">build</span><br />
The map containing the device's build properties: version.sdk,
version.release
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="ro"></a><span class="summary-name">ro</span><br />
The map containing the device's ro properties: secure, debuggable
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="forceViewServerUse"></a><span class="summary-name">forceViewServerUse</span><br />
Force the use of ViewServer even if the conditions to use UiAutomator
are satisfied
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="com.dtmilano.android.viewclient.ViewClient-class.html#ignoreUiAutomatorKilled" class="summary-name">ignoreUiAutomatorKilled</a><br />
On some devices (i.e.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="windows"></a><span class="summary-name">windows</span><br />
The list of windows as obtained by <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#list"
class="link">ViewClient.list()</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="com.dtmilano.android.viewclient.ViewClient-class.html#views" class="summary-name">views</a><br />
The list of Views represented as <code>str</code> obtained after
splitting it into lines after being received from the server.
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">device</span>,
<span class="sig-arg">serialno</span>,
<span class="sig-arg">adb</span>=<span class="sig-default">None</span>,
<span class="sig-arg">autodump</span>=<span class="sig-default">True</span>,
<span class="sig-arg">forceviewserveruse</span>=<span class="sig-default">False</span>,
<span class="sig-arg">localport</span>=<span class="sig-default">4939</span>,
<span class="sig-arg">remoteport</span>=<span class="sig-default">4939</span>,
<span class="sig-arg">startviewserver</span>=<span class="sig-default">True</span>,
<span class="sig-arg">ignoreuiautomatorkilled</span>=<span class="sig-default">False</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Constructor</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>device</code></strong> (MonkeyDevice) - The device running the <code>View server</code> to which this
client will connect</li>
<li><strong class="pname"><code>serialno</code></strong> (str) - the serial number of the device or emulator to connect to</li>
<li><strong class="pname"><code>adb</code></strong> (str) - the path of the <code>adb</code> executable or None and
<code>ViewClient</code> will try to find it</li>
<li><strong class="pname"><code>autodump</code></strong> (boolean) - whether an automatic dump is performed at the end of this
constructor</li>
<li><strong class="pname"><code>forceviewserveruse</code></strong> (boolean) - Force the use of <code>ViewServer</code> even if the conditions
to use <code>UiAutomator</code> are satisfied</li>
<li><strong class="pname"><code>localport</code></strong> (int) - the local port used in the redirection</li>
<li><strong class="pname"><code>remoteport</code></strong> (int) - the remote port used to start the <code>ViewServer</code> in the
device or emulator</li>
<li><strong class="pname"><code>startviewserver</code></strong> (boolean) - Whether to start the <b>global</b> ViewServer</li>
<li><strong class="pname"><code>ignoreuiautomatorkilled</code></strong> (boolean) - Ignores received <b>Killed</b> message from
<code>uiautomator</code></li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="connectToDeviceOrExit"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">connectToDeviceOrExit</span>(<span class="sig-arg">timeout</span>=<span class="sig-default">60</span>,
<span class="sig-arg">verbose</span>=<span class="sig-default">False</span>,
<span class="sig-arg">ignoresecuredevice</span>=<span class="sig-default">False</span>,
<span class="sig-arg">serialno</span>=<span class="sig-default">None</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.connectToDeviceOrExit">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Connects to a device which serial number is obtained from the script
arguments if available or using the default regex <code>.*</code>.</p>
<p>If the connection is not successful the script exits. <code
class="link">MonkeyRunner.waitForConnection()</code> returns a <code
class="link">MonkeyDevice</code> even if the connection failed. Then, to
detect this situation, <code>device.wake()</code> is attempted and if it
fails then it is assumed the previous connection failed.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>timeout</code></strong> (int) - timeout for the connection</li>
<li><strong class="pname"><code>verbose</code></strong> (bool) - Verbose output</li>
<li><strong class="pname"><code>ignoresecuredevice</code></strong> (bool) - Ignores the check for a secure device</li>
<li><strong class="pname"><code>serialno</code></strong> (str) - The device or emulator serial number</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the device and serialno used for the connection</dd>
</dl>
</td></tr></table>
</div>
<a name="traverseShowClassIdAndText"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">traverseShowClassIdAndText</span>(<span class="sig-arg">view</span>,
<span class="sig-arg">extraInfo</span>=<span class="sig-default">None</span>,
<span class="sig-arg">noextrainfo</span>=<span class="sig-default">None</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdAndText">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Shows the View class, id and text if available. This function can be
used as a transform function to <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverse"
class="link">ViewClient.traverse()</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
<li><strong class="pname"><code>extraInfo</code></strong> (method) - the View method to add extra info</li>
<li><strong class="pname"><code>noextrainfo</code></strong> (bool) - Don't add extra info</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available</dd>
</dl>
</td></tr></table>
</div>
<a name="traverseShowClassIdTextAndUniqueId"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">traverseShowClassIdTextAndUniqueId</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndUniqueId">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Shows the View class, id, text if available and unique id. This
function can be used as a transform function to <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverse"
class="link">ViewClient.traverse()</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available and unique
Id</dd>
</dl>
</td></tr></table>
</div>
<a name="traverseShowClassIdTextAndContentDescription"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">traverseShowClassIdTextAndContentDescription</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndContentDescription">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Shows the View class, id, text if available and unique id. This
function can be used as a transform function to <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverse"
class="link">ViewClient.traverse()</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available and the
content description</dd>
</dl>
</td></tr></table>
</div>
<a name="traverseShowClassIdTextAndCenter"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">traverseShowClassIdTextAndCenter</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndCenter">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Shows the View class, id and text if available. This function can be
used as a transform function to <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverse"
class="link">ViewClient.traverse()</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available</dd>
</dl>
</td></tr></table>
</div>
<a name="traverseShowClassIdTextPositionAndSize"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">traverseShowClassIdTextPositionAndSize</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextPositionAndSize">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Shows the View class, id and text if available. This function can be
used as a transform function to <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverse"
class="link">ViewClient.traverse()</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available</dd>
</dl>
</td></tr></table>
</div>
<a name="TRAVERSE_CIT"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">TRAVERSE_CIT</span>(<span class="sig-arg">view</span>,
<span class="sig-arg">extraInfo</span>=<span class="sig-default">None</span>,
<span class="sig-arg">noextrainfo</span>=<span class="sig-default">None</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdAndText">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdAndText"
class="link">traverseShowClassIdAndText(view)</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
<li><strong class="pname"><code>extraInfo</code></strong> (method) - the View method to add extra info</li>
<li><strong class="pname"><code>noextrainfo</code></strong> (bool) - Don't add extra info</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available</dd>
</dl>
</td></tr></table>
</div>
<a name="TRAVERSE_CITUI"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">TRAVERSE_CITUI</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndUniqueId">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndUniqueId"
class="link">traverseShowClassIdTextAndUniqueId(view)</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available and unique
Id</dd>
</dl>
</td></tr></table>
</div>
<a name="TRAVERSE_CITCD"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">TRAVERSE_CITCD</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndContentDescription">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndContentDescription"
class="link">traverseShowClassIdTextAndContentDescription(view)</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available and the
content description</dd>
</dl>
</td></tr></table>
</div>
<a name="TRAVERSE_CITC"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">TRAVERSE_CITC</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndCenter">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndCenter"
class="link">traverseShowClassIdTextAndCenter(view)</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available</dd>
</dl>
</td></tr></table>
</div>
<a name="TRAVERSE_CITPS"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">TRAVERSE_CITPS</span>(<span class="sig-arg">view</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextPositionAndSize">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>An alias for <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextPositionAndSize"
class="link">traverseShowClassIdTextPositionAndSize(view)</a></p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>view</code></strong> (<i>View</i>) - the View</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the string containing class, id, and text if available</dd>
</dl>
</td></tr></table>
</div>
<a name="sleep"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">sleep</span>(<span class="sig-arg">secs</span>=<span class="sig-default">1.0</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.sleep">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Sleeps for the specified number of seconds.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>secs</code></strong> (float) - number of seconds</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="assertServiceResponse"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">assertServiceResponse</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">response</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.assertServiceResponse">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Checks whether the response received from the server is correct or
raises and Exception.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>response</code></strong> (str) - Response received from the server</li>
</ul></dd>
<dt>Raises:</dt>
<dd><ul class="nomargin-top">
<li><code><strong class='fraise'>Exception</strong></code> - If the response received from the server is invalid</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="serviceResponse"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">serviceResponse</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">response</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.serviceResponse">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Checks the response received from the <i>ViewServer</i>.</p>
<dl class="fields">
<dt>Returns:</dt>
<dd><code>True</code> if the response received matches <code
class="link">PARCEL_TRUE</code>, <code>False</code> otherwise</dd>
</dl>
</td></tr></table>
</div>
<a name="setViews"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">setViews</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">received</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.setViews">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Sets <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#views"
class="link">self.views</a> to the received value splitting it into
lines.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>received</code></strong> (str) - the string received from the <i>View Server</i></li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="setViewsFromUiAutomatorDump"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">setViewsFromUiAutomatorDump</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">received</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.setViewsFromUiAutomatorDump">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Sets <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#views"
class="link">self.views</a> to the received value parsing the received
XML.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>received</code></strong> (str) - the string received from the <i>UI Automator</i></li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="__splitAttrs"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__splitAttrs</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">strArgs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__splitAttrs">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Splits the <code>View</code> attributes in <code>strArgs</code> and
optionally adds the view id to the <code>viewsById</code> list.</p>
<h1 class="heading">Unique Ids</h1>
<p>It is very common to find <code>View</code>s having <b>NO_ID</b> as
the Id. This turns very difficult to use <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#findViewById"
class="link">self.findViewById()</a>. To help in this situation this
method assigns <b>unique Ids</b>.</p>
<p>The <b>unique Ids</b> are generated using the pattern
<code>id/no_id/&lt;number&gt;</code> with <code>&lt;number&gt;</code>
starting at 1.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>strArgs</code></strong> (str) - the string containing the raw list of attributes and values</li>
</ul></dd>
<dt>Returns:</dt>
<dd>Returns the attributes map.</dd>
</dl>
</td></tr></table>
</div>
<a name="__parseTree"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__parseTree</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">receivedLines</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__parseTree">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Parses the View tree contained in <code
class="link">receivedLines</code>. The tree is created and the root node
assigned to <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#root"
class="link">self.root</a>. This method also assigns <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#viewsById"
class="link">self.viewsById</a> values using <a
href="com.dtmilano.android.viewclient.View-class.html#getUniqueId"
class="link">View.getUniqueId</a> as the key.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>receivedLines</code></strong> (str) - the string received from <b>View Server</b></li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="getRoot"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getRoot</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getRoot">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Gets the root node of the <code>View</code> tree</p>
<dl class="fields">
<dt>Returns:</dt>
<dd>the root node of the <code>View</code> tree</dd>
</dl>
</td></tr></table>
</div>
<a name="traverse"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">traverse</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">root</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">indent</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
<span class="sig-arg">transform</span>=<span class="sig-default">&lt;unbound method View.__str__&gt;</span>,
<span class="sig-arg">stream</span>=<span class="sig-default">sys.stdout</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverse">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Traverses the <code>View</code> tree and prints its nodes.</p>
<p>The nodes are printed converting them to string but other
transformations can be specified by providing a method name as the
<code>transform</code> parameter.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>root</code></strong> (<a href="com.dtmilano.android.viewclient.View-class.html"
class="link">View</a>) - the root node from where the traverse starts</li>
<li><strong class="pname"><code>indent</code></strong> (str) - the indentation string to use to print the nodes</li>
<li><strong class="pname"><code>transform</code></strong> (method) - a method to use to transform the node before is printed</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="dump"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">dump</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">window</span>=<span class="sig-default">-1</span>,
<span class="sig-arg">sleep</span>=<span class="sig-default">1</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.dump">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Dumps the window content.</p>
<p>Sleep is useful to wait some time before obtaining the new content
when something in the window has changed.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>window</code></strong> (int or str) - the window id or name of the window to dump. The <b>name</b> is
the package name or the window name (i.e. StatusBar) for system
windows. The window id can be provided as <code>int</code> or
<code>str</code>. The <code>str</code> should represent and
<code>int</code> in either base 10 or 16. Use -1 to dump all
windows. This parameter only is used when the backend is
<b>ViewServer</b> and it's ignored for <b>UiAutomator</b>.</li>
<li><strong class="pname"><code>sleep</code></strong> (int) - sleep in seconds before proceeding to dump the content</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the list of Views as <code>str</code> received from the server
after being split into lines</dd>
</dl>
</td></tr></table>
</div>
<a name="list"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">list</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">sleep</span>=<span class="sig-default">1</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.list">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>List the windows.</p>
<p>Sleep is useful to wait some time before obtaining the new content
when something in the window has changed. This also sets <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#windows"
class="link">self.windows</a> as the list of windows.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>sleep</code></strong> (int) - sleep in seconds before proceeding to dump the content</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the list of windows</dd>
</dl>
</td></tr></table>
</div>
<a name="findViewById"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">findViewById</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">viewId</span>,
<span class="sig-arg">root</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">viewFilter</span>=<span class="sig-default">None</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewById">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Finds the View with the specified viewId.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>viewId</code></strong> (str) - the ID of the view to find</li>
<li><strong class="pname"><code>root</code></strong> (str) - the root node of the tree where the View will be searched</li>
<li><strong class="pname"><code>viewFilter</code></strong> - a function that will be invoked providing the candidate View as a
parameter and depending on the return value (<code>True</code> or
<code>False</code>) the View will be selected and returned as the
result of <code>findViewById()</code> or ignored. This can be
<code>None</code> and no extra filtering is applied.</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the <code>View</code> found or <code>None</code></dd>
</dl>
</td></tr></table>
</div>
<a name="findViewByIdOrRaise"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">findViewByIdOrRaise</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">viewId</span>,
<span class="sig-arg">root</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">viewFilter</span>=<span class="sig-default">None</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewByIdOrRaise">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Finds the View or raise a ViewNotFoundException.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>viewId</code></strong> (str) - the ID of the view to find</li>
<li><strong class="pname"><code>root</code></strong> (str) - the root node of the tree where the View will be searched</li>
<li><strong class="pname"><code>viewFilter</code></strong> - a function that will be invoked providing the candidate View as a
parameter and depending on the return value (<code>True</code> or
<code>False</code>) the View will be selected and returned as the
result of <code>findViewById()</code> or ignored. This can be
<code>None</code> and no extra filtering is applied.</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the View found</dd>
<dt>Raises:</dt>
<dd><ul class="nomargin-top">
<li><code><strong class='fraise'><a href="com.dtmilano.android.viewclient.ViewNotFoundException-class.html">ViewNotFoundException</a></strong></code> - raise the exception if View not found</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="findViewWithAttributeOrRaise"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">findViewWithAttributeOrRaise</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">attr</span>,
<span class="sig-arg">val</span>,
<span class="sig-arg">root</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithAttributeOrRaise">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Finds the View or raise a ViewNotFoundException.</p>
<dl class="fields">
<dt>Returns:</dt>
<dd>the View found</dd>
<dt>Raises:</dt>
<dd><ul class="nomargin-top">
<li><code><strong class='fraise'><a href="com.dtmilano.android.viewclient.ViewNotFoundException-class.html">ViewNotFoundException</a></strong></code> - raise the exception if View not found</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="findViewWithTextOrRaise"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">findViewWithTextOrRaise</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">text</span>,
<span class="sig-arg">root</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">ROOT</code><code class="variable-quote">'</code></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.findViewWithTextOrRaise">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Finds the View or raise a ViewNotFoundException.</p>
<dl class="fields">
<dt>Returns:</dt>
<dd>the View found</dd>
<dt>Raises:</dt>
<dd><ul class="nomargin-top">
<li><code><strong class='fraise'><a href="com.dtmilano.android.viewclient.ViewNotFoundException-class.html">ViewNotFoundException</a></strong></code> - raise the exception if View not found</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="getViewIds"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getViewIds</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getViewIds">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<dl class="fields">
</dl>
<div class="fields"> <p><strong>Deprecated:</strong>
Use <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#getViewsById"
class="link">getViewsById</a> instead.
<p>Returns the Views map.</p>
</p>
</div></td></tr></table>
</div>
<a name="getViewsById"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">getViewsById</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.getViewsById">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Returns the Views map. The keys are <code>uniqueIds</code> and the
values are <code>View</code>s.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="writeImageToFile"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">writeImageToFile</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">filename</span>,
<span class="sig-arg">format</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">PNG</code><code class="variable-quote">'</code></span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.writeImageToFile">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Write the View image to the specified filename in the specified
format.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>filename</code></strong> (str) - Absolute path and optional filename receiving the image. If this
points to a directory, then the filename is determined by the
serialno of the device and format extension.</li>
<li><strong class="pname"><code>format</code></strong> (str) - Image format (default format is PNG)</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="distance"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">distance</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">tree</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.distance">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Calculates the distance between this tree and the tree passed as
argument.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>tree</code></strong> (list of Views) - Tree of Views</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the distance</dd>
</dl>
</td></tr></table>
</div>
<a name="__hammingDistance"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__hammingDistance</span>(<span class="sig-arg">s1</span>,
<span class="sig-arg">s2</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__hammingDistance">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Finds the Hamming distance between two strings.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>s1</code></strong> - string</li>
<li><strong class="pname"><code>s2</code></strong> - string</li>
</ul></dd>
<dt>Returns:</dt>
<dd>the distance</dd>
<dt>Raises:</dt>
<dd><ul class="nomargin-top">
<li><code><strong class='fraise'>ValueError</strong></code> - if the lenght of the strings differ</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="__levenshteinDistance"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__levenshteinDistance</span>(<span class="sig-arg">s</span>,
<span class="sig-arg">t</span>)</span>
<br /><em class="fname">Static Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="com.dtmilano.android.viewclient-pysrc.html#ViewClient.__levenshteinDistance">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Find the Levenshtein distance between two Strings.</p>
<p>Python version of Levenshtein distance method implemented in Java at
<a
href="http://www.java2s.com/Code/Java/Data-Type/FindtheLevenshteindistancebetweentwoStrings.htm"
target="_top">http://www.java2s.com/Code/Java/Data-Type/FindtheLevenshteindistancebetweentwoStrings.htm</a>.</p>
<p>This is the number of changes needed to change one String into
another, where each change is a single character modification (deletion,
insertion or substitution).</p>
<p>The previous implementation of the Levenshtein distance algorithm was
from <a href="http://www.merriampark.com/ld.htm"
target="_top">http://www.merriampark.com/ld.htm</a></p>
<p>Chas Emerick has written an implementation in Java, which avoids an
OutOfMemoryError which can occur when my Java implementation is used with
very large strings. This implementation of the Levenshtein distance
algorithm is from <a href="http://www.merriampark.com/ldjava.htm"
target="_top">http://www.merriampark.com/ldjava.htm</a>:</p>
<pre class="literalblock">
StringUtils.getLevenshteinDistance(null, *) = IllegalArgumentException
StringUtils.getLevenshteinDistance(*, null) = IllegalArgumentException
StringUtils.getLevenshteinDistance(&quot;&quot;,&quot;&quot;) = 0
StringUtils.getLevenshteinDistance(&quot;&quot;,&quot;a&quot;) = 1
StringUtils.getLevenshteinDistance(&quot;aaapppp&quot;, &quot;&quot;) = 7
StringUtils.getLevenshteinDistance(&quot;frog&quot;, &quot;fog&quot;) = 1
StringUtils.getLevenshteinDistance(&quot;fly&quot;, &quot;ant&quot;) = 3
StringUtils.getLevenshteinDistance(&quot;elephant&quot;, &quot;hippo&quot;) = 7
StringUtils.getLevenshteinDistance(&quot;hippo&quot;, &quot;elephant&quot;) = 7
StringUtils.getLevenshteinDistance(&quot;hippo&quot;, &quot;zzzzzzzz&quot;) = 8
StringUtils.getLevenshteinDistance(&quot;hello&quot;, &quot;hallo&quot;) = 1
</pre>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>s</code></strong> - the first String, must not be null</li>
<li><strong class="pname"><code>t</code></strong> - the second String, must not be null</li>
</ul></dd>
<dt>Returns:</dt>
<dd>result distance</dd>
<dt>Raises:</dt>
<dd><ul class="nomargin-top">
<li><code><strong class='fraise'>ValueError</strong></code> - if either String input <code>null</code></li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== INSTANCE VARIABLE DETAILS ==================== -->
<a name="section-InstanceVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Variable Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceVariableDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="ignoreUiAutomatorKilled"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">ignoreUiAutomatorKilled</h3>
<p>On some devices (i.e. Nexus 7 running 4.2.2) uiautomator is killed
just after generating the dump file. In many cases the file is already
complete so we can ask to ignore the 'Killed' message by setting <code
class="link">ignoreuiautomatorkilled</code> to <code>True</code>.</p>
<p>Changes in v2.3.21 that uses <code>/dev/tty</code> instead of a file
may have turned this variable unnecessary, however it has been kept for
backward compatibility.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="views"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">views</h3>
<p>The list of Views represented as <code>str</code> obtained after
splitting it into lines after being received from the server. Done by <a
href="com.dtmilano.android.viewclient.ViewClient-class.html#setViews"
class="link">self.setViews()</a>.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="com.dtmilano.android-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
><a class="navbar" target="_top" href="http://dtmilano.com/viewclient">Project Homepage</a></th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu May 22 01:36:01 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>