<?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>
