[android test]使用命令列工具來進行測試

來源:互聯網
上載者:User

原文地址:https://developer.android.com/tools/testing/testing_otheride.html

這章主要講解使用命令列來創建測試工程、創建測試類、運行測試和使用Instrumentation 命令。

創建測試工程

創建一個新的測試工程的方法為:

android create test-project -m <main_path> -n <project_name> -p <test_path>

下面講述上面命令列所涉及到的參數。

Flag

 Value

Description

-m或--main

 被測試項目的路徑(相對與該項目包的目錄)

舉例:如果被測試項目的路徑是source/HelloAndroid,那麼這個參數後面就應該接 ../HelloAndroid

-n或--name

 測試項目的名字

舉例:如果被測項目的名字是HelloAndroid,那麼我們可以定義為 HelloAndroidTest

-p或--path

 存放測試項目的目錄

存放Android tool產生的檔案和目錄。

舉例如下:

parker@parker:~$ cd /data/workplace/

parker@parker:/data/workplace$ android create test-project -m ../HelloAndroid -n HelloAndroidTest -p HelloAndroidTest

更新測試工程

如果已經創建了一個測試工程,但是我們現在想改變它,我們可以使用:

android update test-project -m <main_path> -p <test_path>

創建測試類

雖然你的測試包可以結合activity、android測試擴充類、Junit擴充或者普通類,但是你應該繼承android測試類別或者Junit類,因為它們提供了最好的測試功能。

如果你通過InstrumentationTestRunner(或者相關的test runner)運行你的測試,它會運行每個類中的所有測試方法。你可以通過使用TestSuit類改變這些行為。

    測試包中有提供了Instrumentation的測試類和一些繼承了TestCase的類。這些類可能要覆寫setUp()和tearDown()方法。setUp()主要是為測試設定環境,你可以在這裡初始化一個Intent對象,可以使用intent開啟測試activity。tearDown()主要在完成所有的測試放法後調用,它在移動到下一組測試之前記憶體回收和重新設定。

     一般來說,我們也經常把testPreConditions()方法添加到測試類別中。這個方法用來正確的初始化測試應用。如果測試失敗,你知道是初始化出現錯誤。當出現這種情況,進一步測試的結果是有疑問的,除非你不管測試是否成功。

運行測試

1. 我們可以通過ant 快速的編譯和運行android 測試項目。我們可以使用ant來運行測試項目中所有的測試。

2. 我們還可以在模擬器和真實設備中運行測試項目。首先要將被測試的應用和測試工程都編譯到設備中,然後調用adb shell 中的am命令。

$ adb shell am instrument -w <test_package_name>/<runner_class>

<test_package_name>為測試項目的包名,<runner_class>為android test runner的名字,一般和androidManifest中<instrumentation>對象中的name一致。

下面講述上面命令列所涉及到的參數。

Flag

Value

Description

-w

None

保持adb shell開啟直至測試完成

-r

None

以原始形式輸出測試結果。該選項通常是在效能測試時與-e perf true一起使用

-e

<test_operation>

提供了以索引值對形式存在的測試選項。Android中提供了多種索引值對,詳細情況可以自己查閱http://developer.android.com/tools/testing/testing_otheride.html#AMSyntax

舉例如下:

root@android:/ # am instrument -w aexp.junit.test/android.test.InstrumentationTestRunner

aexp.junit.ContactTest:...

aexp.junit.MathTest:..

Test results for InstrumentationTestRunner=.....

Time: 0.204

OK (5 tests)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.