qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          安卓自動化測試工具MonkeyRunner之使用ID

            把前段時間的研究成果記錄一下。主要是通過調用應用軟件的ID進行操作軟件,此操作需要用到以下類和工具:

            1、安卓自有目錄\tools\hierarchyviewer.bat工具可以用來查看應用程序的ID。

            操作hierarchyviewer.bat工具步驟:

           ?。?)、啟動安卓模擬器,打開需要查看ID的軟件界面。此處以google搜索界面為例。然后雙擊打開hierarchyviewer.bat,顯示搜索界面的activity,即下圖左側被選中的項,表示搜索界面的完整包名。

            (2)點擊Load View Hierarchy按鈕,展現該搜索界面的層級圖。選中指定的控件,查看ID名稱。

            在屬性顯示區域可以看到各個控件所處的坐標位置,以及可以查看模擬器上任務欄的高度,這些信息可以用于坐標計算中。

            2、通過EasyMonkeyDevice類和By類來調用控件ID。

            一些常用控件的寫法如下:

           ?。?)輸入框的ID寫法:

            easy_device.type(By.id('id/name_text),'zhangsan')

            (2)復選框/單選/按鈕的ID寫法:

            easy_device.touch(By.id('id/login_button'),MonkeyDevice.DOWN_AND_UP)

           ?。?)當兩個ID名稱相同時,可以使用層級進行定位

            easy_device.touch(By.id('id/parent_button'),MonkeyDevice.DOWN_AND_UP,By.id('id/current_button'),MonkeyDevice.DOWN_AND_UP)

            通過ID進行計算器操作示例calculator.py:

          from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
          from com.android.monkeyrunner.easy import EasyMonkeyDevice
          from com.android.monkeyrunner.easy import By
          from com.android.chimpchat.hierarchyviewer import HierarchyViewer
          from com.android.hierarchyviewerlib.device import ViewNode
          device = MonkeyRunner.waitForConnection()
          package = 'com.android.calculator2'
          activity = 'com.android.calculator2.Calculator'
          runComponent = package + '/' + activity
          device.startActivity(component=runComponent)
          MonkeyRunner.sleep(3.0)
          easy_device = EasyMonkeyDevice(device)  #init easymonkeydevice object must start activity at first.Because the init method
          will getHierarchyViewer();
          easy_device.touch(By.id('id/digit7'),MonkeyDevice.DOWN_AND_UP)
          easy_device.touch(By.id('id/mul'),MonkeyDevice.DOWN_AND_UP)
          easy_device.touch(By.id('id/digit8'),MonkeyDevice.DOWN_AND_UP)
          easy_device.touch(By.id('id/equal'),MonkeyDevice.DOWN_AND_UP)
          MonkeyRunner.sleep(1.0)
          pic = device.takeSnapshot()
          pic.writeToFile('D:\\monkeyrunner\\result.png','png')
          print 'test finished!'

            3、運行文件模擬計算7*8=56,生成result.png。monkeyrunner   calculator.py

            用ID進行參數差不多都是這個思路。但是對于列表、或者彈出框則無法直接通過點擊ID操作成功,需要計算ID的坐標。

          posted on 2013-07-09 09:56 順其自然EVO 閱讀(782) 評論(0)  編輯  收藏 所屬分類: android

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 五原县| 定远县| 漯河市| 新邵县| 湖州市| 玛曲县| 炎陵县| 富裕县| 阿克陶县| 郯城县| 西丰县| 乌审旗| 聂拉木县| 建平县| 黄浦区| 颍上县| 太仆寺旗| 和林格尔县| 南召县| 绥阳县| 丹凤县| 法库县| 山东| 泊头市| 平谷区| 开鲁县| 顺义区| 盐边县| 汤阴县| 吉林市| 财经| 福贡县| 上饶市| 家居| 稻城县| 慈利县| 专栏| 高陵县| 邢台县| 永修县| 华坪县|