<html>
  <head>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <table>
      <tbody>
        <tr>
          <td class="postcell">
            <div>
              <div class="post-text" itemprop="description">
                <p>i am new to python and just now started developing an
                  linux application automation.</p>
                <p>scenario i am trying is</p>
                <p>thread.py --- will invoke all primary device threads
                  and load test from testcase</p>
                <p>admincase.py --- hold my tests for the case..</p>
                <p>what i am unable to do is i want to pass certain
                  objects from thread.py to admincase.py when loading
                  the test. how do i do that..</p>
                <p>object which i am tryin to pass is (<strong>EppQueue</strong>)</p>
                <p>thread.py code</p>
                <pre class="default prettyprint"><code><span class="kwd">import</span><span class="pln"> threading
</span><span class="kwd">import</span><span class="pln"> sys
</span><span class="kwd">import</span><span class="pln"> time
</span><span class="kwd">import</span><span class="pln"> logging
</span><span class="kwd">import</span><span class="pln"> os
</span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Queue</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> EPP </span><span class="kwd">import</span><span class="pln"> EPP
</span><span class="kwd">import</span><span class="pln"> ldtp
</span><span class="kwd">import</span><span class="pln"> ldtputils
</span><span class="kwd">from</span><span class="pln"> functions </span><span class="kwd">import</span><span class="pln"> functions
</span><span class="kwd">from</span><span class="pln"> admincases </span><span class="kwd">import</span><span class="pln"> admincases
</span><span class="kwd">import</span><span class="pln"> unittest

</span><span class="com">#logging.basicConfig(level=logging.DEBUG,</span><span class="pln">
</span><span class="com">#                    format='(%(threadName)-10s) %(message)s',</span><span class="pln">
</span><span class="com">#                    )</span><span class="pln">
</span><span class="kwd">class</span><span class="pln"> inittest</span><span class="pun">(</span><span class="pln">unittest</span><span class="pun">.</span><span class="typ">TestCase</span><span class="pun">):</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> fun
    </span><span class="kwd">global</span><span class="pln"> </span><span class="typ">EppQueue</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> window_name

    </span><span class="kwd">def</span><span class="pln"> cleanup</span><span class="pun">(</span><span class="pln">epp_port</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">exists</span><span class="pun">(</span><span class="pln">epp_port</span><span class="pun">):</span><span class="pln">
            os</span><span class="pun">.</span><span class="pln">unlink</span><span class="pun">(</span><span class="pln">epp_port</span><span class="pun">)</span><span class="pln">

    </span><span class="kwd">def</span><span class="pln"> start_threads</span><span class="pun">(</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="pln">server_ip</span><span class="pun">,</span><span class="pln">epp_port</span><span class="pun">):</span><span class="pln">
        epp </span><span class="pun">=</span><span class="pln"> EPP
        EPP1 </span><span class="pun">=</span><span class="pln"> threading</span><span class="pun">.</span><span class="typ">Thread</span><span class="pun">(</span><span class="pln">name</span><span class="pun">=</span><span class="str">'EPP'</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">=</span><span class="pln">epp</span><span class="pun">,</span><span class="pln"> args</span><span class="pun">=(</span><span class="pln">server_ip</span><span class="pun">,</span><span class="lit">54321</span><span class="pun">,</span><span class="pln">epp_port</span><span class="pun">,</span><span class="typ">EppQueue</span><span class="pun">,))</span><span class="pln">
        EPP1</span><span class="pun">.</span><span class="pln">setDaemon</span><span class="pun">(</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
        EPP1</span><span class="pun">.</span><span class="pln">start</span><span class="pun">()</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> epp 
    fun </span><span class="pun">=</span><span class="pln"> functions</span><span class="pun">()</span><span class="pln">
    </span><span class="typ">EppQueue</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Queue</span><span class="pun">.</span><span class="typ">Queue</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
    server_ip </span><span class="pun">=</span><span class="str">'192.168.10.125'</span><span class="pln">
    epp_port</span><span class="pun">=</span><span class="str">'/dev/ttyS17'</span><span class="pln">
    </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"Starting"</span><span class="pln">
    cleanup</span><span class="pun">(</span><span class="pln">epp_port</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"Clean up Over"</span><span class="pln">
    epp </span><span class="pun">=</span><span class="pln"> start_threads</span><span class="pun">(</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="pln">server_ip</span><span class="pun">,</span><span class="pln">epp_port</span><span class="pun">)</span><span class="pln">
    raw_input</span><span class="pun">(</span><span class="str">"###### Please Start the main appilcation in the ATM and hit a KEY to continue ############"</span><span class="pun">)</span><span class="pln">
    check </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> check </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
        window_name </span><span class="pun">=</span><span class="pln"> fun</span><span class="pun">.</span><span class="pln">start_up_verify</span><span class="pun">(</span><span class="str">'atm_main_app'</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> any</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">):</span><span class="pln">
            check </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pln">
        </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
            check </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> any</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"Please start the application and run the test"</span><span class="pln">
        sys</span><span class="pun">.</span><span class="kwd">exit</span><span class="pun">(</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> 
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pln"> window_name
        </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"SYSTEM IS READY TO PERFORM TEST"</span><span class="pln">
        raw_input</span><span class="pun">(</span><span class="str">"###### HIT ANY KEY TO START UNIT TEST ############"</span><span class="pun">)</span><span class="pln">
        raw_input</span><span class="pun">(</span><span class="str">"kkk"</span><span class="pun">)</span><span class="pln">    
        test </span><span class="pun">=</span><span class="pln"> unittest</span><span class="pun">.</span><span class="pln">defaultTestLoader</span><span class="pun">.</span><span class="pln">loadTestsFromName</span><span class="pun">(</span><span class="str">"admincases"</span><span class="pun">)</span><span class="pln">
        unittest</span><span class="pun">.</span><span class="typ">TextTestRunner</span><span class="pun">(</span><span class="pln">verbosity</span><span class="pun">=</span><span class="lit">2</span><span class="pun">).</span><span class="pln">run</span><span class="pun">(</span><span class="pln">test</span><span class="pun">)</span><span class="pln">
    raw_input</span><span class="pun">(</span><span class="str">"keyy"</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"final"</span><span class="pln">
</span></code></pre>
                <p>admincase.py code</p>
                <pre class="default prettyprint"><code><span class="kwd">import</span><span class="pln"> unittest
</span><span class="kwd">from</span><span class="pln"> functions </span><span class="kwd">import</span><span class="pln"> functions
</span><span class="kwd">import</span><span class="pln"> time
</span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Queue</span><span class="pln">

</span><span class="kwd">class</span><span class="pln"> admincases</span><span class="pun">(</span><span class="pln">unittest</span><span class="pun">.</span><span class="typ">TestCase</span><span class="pun">):</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> fun
    </span><span class="kwd">global</span><span class="pln"> </span><span class="typ">EppQueue</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> window_name

    </span><span class="kwd">def</span><span class="pln"> test_case_1</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">print</span><span class="pln"> </span><span class="str">"test case 1"</span><span class="pln">
        window_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">'frmatm_main_app'</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,&&&&&"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">verify_screen</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">,</span><span class="str">"ico0"</span><span class="pun">)</span><span class="pln"> 
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,C"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">verify_screen</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">,</span><span class="str">"ManagementFunctions"</span><span class="pun">)</span><span class="pln"> 
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,001234"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">verify_screen</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">,</span><span class="str">"MainMenu"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,1"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">verify_screen</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">,</span><span class="str">"Diagnostics"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,1"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">verify_screen</span><span class="pun">(</span><span class="pln">window_name</span><span class="pun">,</span><span class="str">"TerminalStatus"</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,2"</span><span class="pun">)</span><span class="pln">
        time</span><span class="pun">.</span><span class="pln">sleep</span><span class="pun">(</span><span class="lit">10</span><span class="pun">)</span><span class="pln">
        fun</span><span class="pun">.</span><span class="pln">send_queue</span><span class="pun">(</span><span class="kwd">self</span><span class="pun">.</span><span class="typ">EppQueue</span><span class="pun">,</span><span class="str">"send_keys,####****"</span><span class="pun">)</span><span class="pln">


    fun </span><span class="pun">=</span><span class="pln"> functions</span><span class="pun">()</span><span class="pln">
    </span><span class="com">#EppQueue = Queue.Queue(1)</span><span class="pln">
</span></code></pre>
                <p>Need some assistance on this... </p>
              </div>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
    <pre class="moz-signature" cols="72">-- 
Regards
Venkat.S</pre>
  </body>
</html>