<button id="u2w23"></button>

<tbody id="u2w23"><track id="u2w23"></track></tbody><dd id="u2w23"><track id="u2w23"></track></dd><button id="u2w23"><acronym id="u2w23"></acronym></button> <tbody id="u2w23"><noscript id="u2w23"></noscript></tbody>

  • <button id="u2w23"></button><li id="u2w23"><acronym id="u2w23"><cite id="u2w23"></cite></acronym></li>

  • android.app.instrumentation解析

    [來源] 達內    [編輯] 達內   [時間]2012-12-03

    對于第二個問題,我在Cview中似乎找到了答案,Cview中提供一些界面操作的函數,例如:performClick(),看來Android SDK還是提供了一些這方面的函數來模擬各種操作。對于第一個問題,本篇對這個問題幅詳細說明下

      已經在Android SDK中學習了很多關于JUnit的內容,但是感覺一直有幾個問題沒有解決(不知道大家是否有同樣的感受)JUnit的測試都自動化的,完全是不需要任何 操作的,有2個問題我一直都還沒有找到答案,這2個問題如下:

      JUnit可以用來測試Android的基本組成元素:Activity、Service、Provider,那么我們如何控制這些基本元素運行 的,這需要Android系統提供一些底層操作的接口才可以做到。

      如何模擬界面操作,比如說:單擊界面上的按鈕、選擇菜單等。

      對于第二個問題,我在Cview中似乎找到了答案,Cview中提供一些界面操作的函數,例如:performClick(),看來Android SDK還是提供了一些這方面的函數來模擬各種操作。對于第一個問題,本篇對這個問題幅詳細說明下。

      首先我們先想下,如果要實現對Activity的測試需要些什么?首先需要創建Activity(這個Android SDK中已經提供了),然后可以控制Activity的生命周期,這些是最基本的。在Android SDK中說明過Activity的創建是異步的,也就是說當我們調用 startActivty()后,這個函數立刻返回,而不是等待Activity創建 好后才返回,這就需要一些同步方面的操作。將前面的概括起來就是2個方面:控制Activity的生命周期與同步方面的問題。Android SDK為我們提供了 instrument,在android.test包中InstrumentationTestCase 類有個函數getInstrumentation()以及通過adb shell am instrument啟動測試例子的方法中,都提到了instrument,下面就對instrumentation詳細說明。

      什么是Instrumentation?

      Instrumentation是執行application instrumentation代碼的基類。當應用程序運行的時候instrumentation處于開啟,Instrumentation將在任何應用 程序運行前初始化,可以通過它監測系統與應用程序之間的交互。Instrumentation implementation通過的AndroidManifest.xml中的標簽進行描述。

      Instrumentation似乎有些類似與window中的“鉤子(Hook)函數”,在系統與應用程序之間安裝了個“竊聽器”。達內科技 http://www.tarena.com.cn

    資源下載

    ?