|
Android 自動(dòng)化測(cè)試的相關(guān)方法 測(cè)試手段 1 : CTS用來(lái)確保某設(shè)備符合 Android 兼容性規(guī)范。原來(lái)想擴(kuò)充它,不是正道。 測(cè)試手段 2 : Monkey1) 應(yīng)用程序的開(kāi)發(fā)者可以測(cè)試自己應(yīng)用的魯棒性。 2) 設(shè)備制造商可以使用猴子對(duì)自己的測(cè)試施行壓力測(cè)試??丛O(shè)備能堅(jiān)持多久。 猴子測(cè)試即可以針對(duì)全局,也可以正對(duì)某個(gè)局部(某個(gè) Category, package 等等)。 執(zhí)行簡(jiǎn)單,效果明顯。 測(cè)試手段 3: ASEASE 意思為 Android 腳本環(huán)境, 即我們可以通過(guò)腳本(比如 Python )調(diào)用 Android 的功能,從而定制一些測(cè)試。比如打電話,發(fā)短信,瀏覽網(wǎng)頁(yè),等。
我們可以擴(kuò)充它的 API ( Java 部分) , 并用 python 腳本調(diào)用這些 API, 從而實(shí)現(xiàn)豐富的測(cè)試功能。
用于 API 部分可以訪問(wèn)到 Android 全部 API, python 又能靈活部署測(cè)試,所以 ASE 的擴(kuò)展性非常好。 測(cè)試手段 4: Robotium該工具用于黑盒的自動(dòng)化測(cè)試??梢栽谟性创a或者只有 APK 的情況下對(duì)目標(biāo)應(yīng)用進(jìn)行測(cè)試。 Robotimu 提供了模仿用戶操作行為的 API ,比如在某個(gè)控件上點(diǎn)擊,輸入 Text 等等。 測(cè)試手段 5 : 單元測(cè)試Android 本身帶有很多單元測(cè)試?yán)樱覀兛梢园葱枰7滤鼈?,針?duì)某個(gè)應(yīng)用進(jìn)行單元測(cè)試。 注意 Android 的 Instrument 機(jī)制功能非常強(qiáng)大,可以測(cè)試 UI. 總結(jié)對(duì)于 CTS/Monkey, 我們不需要開(kāi)發(fā),只要執(zhí)行測(cè)試就可以了。 對(duì)于 ASE, 我們可以擴(kuò)充它的現(xiàn)有 API(Java), 用 Python 調(diào)用這些 API 實(shí)現(xiàn)豐富的測(cè)試功能。 Robotium 模仿普通用戶行為,可以試著把一些原來(lái)由測(cè)試工程師做的測(cè)試變成 Robotium 自動(dòng)化實(shí)現(xiàn)。
如何使用robotium進(jìn)行自動(dòng)化測(cè)試Robotium是一個(gè)測(cè)試框架能夠方便你為Android應(yīng)用程序編寫(xiě)強(qiáng)大、健壯的自動(dòng)黑盒測(cè)試用例。 利用Robotium的支持,用例開(kāi)發(fā)人員能夠編 寫(xiě)功能、系統(tǒng)和驗(yàn)收測(cè)試方案Robotium支持Activities、 Dialogs、Toasts、Menus和Context Menus。 1. 創(chuàng)建一個(gè)簡(jiǎn)單的工程 (可參考本人的日志 《第一個(gè)應(yīng)用 HelloWorld 》,需要對(duì)該工程稍做修改)作為被測(cè)程序, 運(yùn)行后顯示如下界面:
2. 創(chuàng)建一個(gè) Test Project 1). 打開(kāi) eclipse ,選擇 File->New->Project…->Android Test Project ,點(diǎn)擊 Next 。
2). 在 Test Project Name 中輸入測(cè)試 工程的名稱,如: HelloWorldTest 。選擇 An existing Android Project ,點(diǎn)擊右邊的 Browse… 按鈕。
3). 選擇被測(cè)工程,如之前創(chuàng)建的 HelloWorldnp ,點(diǎn)擊 OK 按鈕。
4). 會(huì)自動(dòng)選擇和輸入 Build Target 和 Properties ,可以按照默認(rèn)的,不用修改。
5). 一個(gè)新建的測(cè)試工程( HelloWorldTest )就創(chuàng)建好了,如下圖:
3. 創(chuàng)建一個(gè) Test Case 1). 在 HelloWorldTest->src->com.liliandroid.helloworld.test 上,右擊選擇 New->Class ,創(chuàng)建一個(gè) Test Case 。
2). 在 Name 中輸入 Test Case 的名字,如: UITextTest 。
3). 創(chuàng)建好的 Test Case 如下圖:
4. 導(dǎo)入 robotium.jar 1). 選擇測(cè)試工程 HelloWorldTest 右擊,選擇 Build Path->Configure Build Path…
2). 在打開(kāi)的 Properties for HelloWorldTest 中點(diǎn)擊 Add External JARs… 按鈕。
3). 因?yàn)橹皠?chuàng)建的工程的 SDK 是 2.2 的,所以選擇 robotium-solo-1.8.0.jar 。
4). 點(diǎn)擊 OK 按鈕。
5. 修改 Test Case 打開(kāi) UITextTest.java ,輸入以下內(nèi)容并保存:
package com.liliandroid.helloworld.test;
import android.test.ActivityInstrumentationTestCase2;
import com.liliandroid.helloworld.ActivityMain; import com.jayway.android.robotium.solo.Solo;
public class UITextTest extends ActivityInstrumentationTestCase2<ActivityMain>{
private Solo solo ;
public UITextTest() { super ( "com.liliandroid.helloworld" , ActivityMain. class ); }
public void setUp() throws Exception { solo = new Solo(getInstrumentation(), getActivity()); }
public void testUI() throws Exception { boolean expected = true ; boolean actual = solo .searchText( "This" ) && solo .searchText( "is" ); assertEquals ( "This and/or is are not found" , expected, actual);
}
}
注:這個(gè) Case 是測(cè)試運(yùn)行了 ActivityMain 后的界面上是否有 This 和 is 這兩個(gè)文字。
6. 運(yùn)行測(cè)試程序 選擇測(cè)試工程 HelloWorldTest 右擊,選擇 Run As->Android JUnit Test 運(yùn)行測(cè)試程序
運(yùn)行完后的測(cè)試結(jié)果界面( Pass )
運(yùn)行完后的測(cè)試結(jié)果界面( Fail )
參考網(wǎng)址: http://code.google.com/p/robotium/
http://hi.baidu.com/maguowei/home
|
|
|
來(lái)自: 盈盈一書(shū)屋 > 《Android》