Using Appium to manipulate YY speech examples
Last Update:2018-05-31
Source: Internet
Author: User
<span id="Label3"></p><pre><span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">!/usr/bin/env python</span></span><span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">-*-coding:utf-8-*-</span></span><span style="color: #0000ff"><span style="color: #0000ff">Import</span></span><span style="color: #000000"><span style="color: #000000">OS</span></span><span style="color: #0000ff"><span style="color: #0000ff">Import</span></span><span style="color: #000000"><span style="color: #000000">UnitTest</span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> from</span>Appium<span style="color: #0000ff"><span style="color: #0000ff">Import</span></span><span style="color: #000000"><span style="color: #000000">Webdriver</span></span><span style="color: #0000ff"><span style="color: #0000ff">Import</span></span><span style="color: #000000"><span style="color: #000000"></span> time</span><span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">Returns ABS Path relative</span> to This file and not CWD</span>PATH =<span style="color: #0000ff"><span style="color: #0000ff">Lambda</span></span><span style="color: #000000"><span style="color: #000000">P:os.path.abspath (os.path.join (os.path.dirname</span> (</span><span style="color: #800080"><span style="color: #800080">__file__</span></span><span style="color: #000000"><span style="color: #000000">), p))</span></span><span style="color: #0000ff"><span style="color: #0000ff">class</span></span><span style="color: #000000"><span style="color: #000000">YY (unittest. TestCase):</span></span><span style="color: #0000ff"><span style="color: #0000ff">def</span></span><span style="color: #000000"><span style="color: #000000">setUp (self): desired_caps</span></span>=<span style="color: #000000"><span style="color: #000000"> { </span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">PlatformName</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>:<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">Android</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">, </span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">devicename</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>:<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">611AKBPP22HR5</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>,<span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">device name found by ADB devices</span></span> <span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">platformversion</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>:<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">4.4.2</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">, </span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">Apppackage</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>:<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">Com.duowan.mobile</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>,<span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">package name of the app under test</span></span> <span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">appactivity</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>:<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">com.yy.mobile.ui.splash.SplashActivity</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>,<span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">Activity at startup</span></span> <span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">' app ':P ath (' E:\yymobile_client-7.7.1.apk ')</span></span><span style="color: #000000"><span style="color: #000000">} self.driver</span></span>= Webdriver. Remote (<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">Http://localhost:4723/wd/hub</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">, Desired_caps)</span></span><span style="color: #0000ff"><span style="color: #0000ff">def</span></span><span style="color: #000000"><span style="color: #000000">tearDown (self): self.driver.quit ()</span></span><span style="color: #0000ff"><span style="color: #0000ff">def</span></span><span style="color: #000000"><span style="color: #000000">test_index_module (self): self.driver.wait_activity (</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">com.yy.mobile.ui.home.MainActivity</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>, 30<span style="color: #000000"><span style="color: #000000">) El</span></span>= Self.driver.find_element_by_name (<span style="color: #800000"><span style="color: #800000">"</span></span><span style="color: #800000"><span style="color: #800000">Small Video</span></span><span style="color: #800000"><span style="color: #800000">"</span></span><span style="color: #000000"><span style="color: #000000">) self.assertisnotnone (el) el.click () time.sleep (</span></span>3<span style="color: #000000"><span style="color: #000000">) Yuebang</span></span>= Self.driver.find_element_by_name (<span style="color: #800000"><span style="color: #800000">"</span></span><span style="color: #800000"><span style="color: #800000">Play together</span></span><span style="color: #800000"><span style="color: #800000">"</span></span><span style="color: #000000"><span style="color: #000000">) self.assertisnotnone (yuebang) yuebang.click ()</span></span><span style="color: #0000ff"><span style="color: #0000ff">if</span></span> <span style="color: #800080"><span style="color: #800080">__name__</span></span>==<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">__main__</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">: </span></span><span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">Suite = Unittest. Testloader (). loadtestsfromtestcase (YY)</span></span> <span style="color: #008000"><span style="color: #008000">#</span></span><span style="color: #008000"><span style="color: #008000">Unittest. Texttestrunner (verbosity=2). Run (suite)</span></span>Unittest.main ()</pre><p><p></p></p><p><p>View package name and start activity: the AAPT tool is recommended, and AAPT is a tool that comes with the sdk, in the Sdk\build-tools directory</p></p><pre>D:\ANDROID\SDK\BUILD-TOOLS>AAPT dump badging F:\ChromeDownloads\yymobile_client-<span style="color: #800080"><span style="color: #800080">7.7</span></span>.<span style="color: #800080"><span style="color: #800080">1</span></span><span style="color: #000000"><span style="color: #000000">. Apkpackage:name</span></span>=<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">Com.duowan.mobile</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>Versioncode=<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">60513</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>Versionname=<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">7.7.1</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>Platformbuildversionname=<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">6.0-2704002</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">sdkversion:</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000"></span> -</span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">targetsdkversion:</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000"></span> a</span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">uses</span></span>-permission:name=<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">Android.permission.ACCESS_WIFI_STATE</span></span><span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #000000"><span style="color: #000000">... launchable</span></span>-activity:name=<span style="color: #800000"><span style="color: #800000">'</span></span><span style="color: #800000"><span style="color: #800000">com.yy.mobile.ui.splash.SplashActivity</span></span><span style="color: #800000"><span style="color: #800000">'</span></span>Label=<span style="color: #800000"><span style="color: #800000">"'</span></span>icon=<span style="color: #800000"><span style="color: #800000">"'</span></span><span style="color: #000000"><span style="color: #000000">......</span></span></pre><p><p>View current activity: after opening to the corresponding window, execute the command adb Shell dumpsys window w |findstr \ |findstr name=</p></p><pre><pre><span style="color: #0000ff">w</span> |findstr \ |findstr name=<span style="color: #000000"> msurface</span>=surface (name=com.duowan.mobile/ Com.yy.mobile.ui.home.MainActivity)</pre></pre><p><p>Timeout after waiting for activity:driver.wait_activity,30s</p></p><pre><pre>Self.driver.wait_activity (<span style="color: #800000">'</span><span style="color: #800000">com.yy.mobile.ui.home.MainActivity</span><span style="color: #800000">'</span>, 30)</pre></pre><p><p>Locating elements by name</p></p><p><p></p></p><pre><pre>el = Self.driver.find_element_by_name (<span style="color: #800000">"</span> <span style="color: #800000">small video</span> <span style="color: #800000">"</span>)</pre></pre><p><p></p></p><p><p>Using Appium to manipulate YY speech examples</p></p></span>