Android開發之Instrumentation(自動化測試)

來源:互聯網
上載者:User

Android在JUnit的之外給我們又提供了Instrumentation測試架構。通過Instrumentation可以類比按鍵按下、抬起、螢幕點擊、滾動等事件,有效地控制Activity進行自動化測試。

Instrumentation是執行application instrumentation代碼的基類。當應用程式啟動並執行時候instrumentation處於開啟,Instrumentation將在任何應用程式運行前初始化,可以通過它監測系統與應用程式之間的互動。

1. Manifest.xml中描述:

<instrumentation

android:name="android.test.InstrumentationTestRunner"

android:label="Tests for My App"

android:targetPackage="com.my.test" />

<span style="font-size:18px;"><uses-permission android:name="android.permission.INJECT_EVENTS" /></span>

 

2.類比發送按鍵:

/**

     * 傳入需要的索引值即可

     * @param keyCode

     */

private void sendKeyCode(final int keyCode){ 

new Thread () { 

public void run() { 

try { 

                    Instrumentation inst = new Instrumentation(); 

                    inst.sendKeyDownUpSync(keyCode); 

                } catch (Exception e) { 

                    Log.e("Exception when sendPointerSync", e.toString()); 

                } 

            } 

        }.start(); 

    } 

}

 

3.類比滑鼠事件:

new Thread () { 

public void run () { 

try { 

                             Instrumentation inst=new Instrumentation(); 

                                     inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), 

                                     SystemClock.uptimeMillis(),  

                                     MotionEvent.ACTION_DOWN, 240, 400, 0)); 

                           inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), 

                                     SystemClock.uptimeMillis(),  

                                     MotionEvent.ACTION_UP, 240, 400, 0));   

                        } catch(Exception e) { 

                            Log.e("Exception when sendPointerSync", e.toString()); 

                        } 

                    } 

         }.start(); 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.