當前位置:編程學習大全網 - 網絡軟體 - robotium 如何測試預裝apk

robotium 如何測試預裝apk

Robotium 測試Android apk安裝包

介紹

要測試apk程序必須和我們編寫的測試程序擁有相同的簽名(signature)。如果沒有apk程序的簽名秘鑰,就要去除apk程序的簽名,然後再使用自己的key對其簽名(這壹步中,我們可以使用debug key),已經有現成的工具可用,下載地址re-sign.jar,這個工具可以去掉apk程序的原簽名,然後使用我們自己的debug key對其簽名。

詳細

編寫測試用例之前,我們需要知道apk程序的包名(package name)和啟動頁面名稱(launcher activity name),這兩個名稱我們可以通過程序啟動時的日誌(adb logcat)來獲取。程序日誌會打印出包名和activity名稱。 日誌格式類似於:Starting activity: Intent { act=android.intent.action.MAIN cat=android.intent.category.LAUNCHER? flg=0x10200000 cmp=com.example.android.notepad/.NotesList。

上面的日誌表明程序包名為:com.example.android.notepad、啟動activity名為:com.example.android.notepad.NotesList,這裏的activity name就是下面代碼中的LAUNCHER_ACTIVITYFULLCLASSNAME。

下面是測試代碼的例子:

package com.yourcompany.yourtestname;

import com.jayway.android.robotium.solo.Solo;

import android.test.ActivityInstrumentationTestCase2;

@SuppressWarnings("rawtypes")

public class ReallyBlackboxTest extends ActivityInstrumentationTestCase2 {

private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.newsrob.DashboardListActivity";

private static Class<?> launcherActivityClass;

static{

try {

launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);

} catch (ClassNotFoundException e) {

throw new RuntimeException(e);

}

}

@SuppressWarnings("unchecked")

public ReallyBlackboxTest() throws ClassNotFoundException {

super(launcherActivityClass);

}

private Solo solo;

@Override

protected void setUp() throws Exception {

solo = new Solo(getInstrumentation(), getActivity());

}

public void testCanOpenSettings(){

solo.pressMenuItem(0);

}

@Override

public void tearDown() throws Exception {

solo.finishOpenedActivities();

}

}

  • 上一篇:介紹壹下德國戰車樂隊的資料?
  • 下一篇:汽車顯示發動機故障是怎麽回事
  • copyright 2024編程學習大全網