<?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>src.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="src.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;src ::
        Package&nbsp;com ::
        Package&nbsp;dtmilano ::
        <a href="src.com.dtmilano.android-module.html">Package&nbsp;android</a> ::
        <a href="src.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="src.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="src.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="src.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">VIEW_SERVER_PORT</span>,
        <span class="summary-sig-arg">remoteport</span>=<span class="summary-sig-default">VIEW_SERVER_PORT</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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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">&quot;ROOT&quot;</span>,
        <span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">&quot;&quot;</span>,
        <span class="summary-sig-arg">transform</span>=<span class="summary-sig-default">View.__str__</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="src.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="src.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="src.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="src.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="src.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="src.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">&quot;ROOT&quot;</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="src.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="src.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">&quot;ROOT&quot;</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="src.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">&quot;ROOT&quot;</span>)</span><br />
      Finds the View with the specified tag</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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">&quot;ROOT&quot;</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="src.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="src.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="src.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">[]</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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">&quot;ROOT&quot;</span>)</span><br />
      Finds the View with the specified attribute and value</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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">&quot;ROOT&quot;</span>)</span><br />
      Finds the View or raise a ViewNotFoundException.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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">&quot;ROOT&quot;</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="src.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">&quot;ROOT&quot;</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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">&quot;ROOT&quot;</span>)</span><br />
      Finds the View or raise a ViewNotFoundException.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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">&quot;ROOT&quot;</span>)</span><br />
      Finds the View with the specified content description</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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">&quot;ROOT&quot;</span>)</span><br />
      Finds the View with the specified content description</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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">&quot;PNG&quot;</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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdAndText"
      class="link">traverseShowClassIdAndText(view)</a></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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="src.com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndUniqueId"
      class="link">traverseShowClassIdTextAndUniqueId(view)</a></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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="src.com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndContentDescription"
      class="link">traverseShowClassIdTextAndContentDescription(view)</a></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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="src.com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextAndCenter"
      class="link">traverseShowClassIdTextAndCenter(view)</a></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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="src.com.dtmilano.android.viewclient.ViewClient-class.html#traverseShowClassIdTextPositionAndSize"
      class="link">traverseShowClassIdTextPositionAndSize(view)</a></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="src.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="src.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="src.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">&quot;&quot;</span>,
        <span class="summary-sig-arg">transform</span>=<span class="summary-sig-default">View.__str__</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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.com.dtmilano.android.viewclient.View-class.html" 
      class="link">View</a>s indexed by their <a 
      href="src.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 name="useUiAutomator"></a><span class="summary-name">useUiAutomator</span><br />
      If UIAutomator is supported by the device it will be used
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="src.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="src.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="src.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">VIEW_SERVER_PORT</span>,
        <span class="sig-arg">remoteport</span>=<span class="sig-default">VIEW_SERVER_PORT</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="src.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="src.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 
  MonkeyDevice 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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdAndText">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>An alias for <a 
  href="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndUniqueId">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>An alias for <a 
  href="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndContentDescription">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>An alias for <a 
  href="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextAndCenter">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>An alias for <a 
  href="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.traverseShowClassIdTextPositionAndSize">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>An alias for <a 
  href="src.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="src.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="src.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="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.setViews">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Sets <a 
  href="src.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="src.com.dtmilano.android.viewclient-pysrc.html#ViewClient.setViewsFromUiAutomatorDump">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Sets <a 
  href="src.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="src.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="src.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="src.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="src.com.dtmilano.android.viewclient.ViewClient-class.html#root" 
  class="link">self.root</a>. This method also assigns <a 
  href="src.com.dtmilano.android.viewclient.ViewClient-class.html#viewsById"
  class="link">self.viewsById</a> values using <a 
  href="src.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="src.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">&quot;ROOT&quot;</span>,
        <span class="sig-arg">indent</span>=<span class="sig-default">&quot;&quot;</span>,
        <span class="sig-arg">transform</span>=<span class="sig-default">View.__str__</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="src.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="src.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="src.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="src.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="src.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">&quot;ROOT&quot;</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="src.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">&quot;ROOT&quot;</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="src.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="src.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">&quot;ROOT&quot;</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="src.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="src.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">&quot;ROOT&quot;</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="src.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="src.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="src.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="src.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="src.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">&quot;PNG&quot;</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="src.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="src.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="src.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="src.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 2.3.21 that uses <code>/dev/tty</code> instead of a file 
  may have turned this variable unnnecessary, 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="src.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="src.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 Fri Aug  9 01:39:54 2013
    </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>
