robotium android,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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值