Android测试方案

Robotium是一款Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,测试步骤:

  1. 下载Robotium官方例子以及最新的JAR包;
  2. 创建测试工程:选择Android Test Project,并点击下一步,输入工程名,并点击下一步:

    Robotium环境搭建——创建测试工程

  3. 选择被测工程IMaaS,并点击完成:
    Robotium环境搭建——选择被测工程

  4. 导入下载好的Robotium jar包;

  5. 新建junit test case,选择junit4,并输入类名,点击完成。
    Robotium环境搭建——新建测试用例

  6. 打开新建的测试类,修改继承ActivityInstrumentationTestCase2,创建构造方法,并编写测试代码:
    (1)定义一个Solo实例,测试用例的进行,都依赖于这个实例:

    Solo mSolo = null;

    (2)在setUp()方法中为mSolo实例赋值:

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

    (3)创建方法testLoginActivity,这里LoginActivity是被测工程IMaaS的LaunchActivity,在testLoginActivity方法中,实现所需测试的执行操作,例如:

    a)将系统软键盘隐藏:mSolo.hideSoftKeyboard();
    b)获取用户名的输入框对象:

    EditText input = (EditText)mSolo.getCurrentActivity().findViewById(mSolo.getCurrentActivity().getResources().getIdentifier("edittext1","id",mSolo.getCurrentActivity().getPackageName()));

    c)清除输入框中的字符串:mSolo.clearEditText(input);
    d)设置预设好的用户名:input.setText(“15000000000”);
    e)点击登陆按钮:mSolo.clickOnText(“(?i).?登陆.“);
    这里需要注意的是clickOnText方法是让系统执行点击操作,同样使用该方法,可以让系统输入预设的密码,并点击“确定”。
    f)获取main_ui的View对象:

    View view = mSolo.getCurrentActivity().findViewById(mSolo.getCurrentActivity().getResources().getIdentifier("main_ui","id",mSolo.getCurrentActivity().getPackageName()));

    g)获取main_ui中第一个ImageView子对象,即“个人资料”按钮:

    ArrayList<ImageView> childView = mSolo.getCurrentViews(ImageView.class,view);
    ImageView imageview = childView.get(0);

    h)点击“个人资料”按钮,同clickOnText方法一样,clickOnView方法也是让系统执行点击操作,只是点击的对象不同,前者是点击Text对象,后者是View对象:

    mSolo.clickOnView(imageview);

    (4)接下来的操作就不再赘述,均是执行点击操作,只是使用不同的方法操作不同的对象。
    (5)最后在tearDown()方法中,将Activity结束,即执行finish()方法,则完成了整个测试所需的全部操作过程。

  7. 编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android Junit Test。Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果,测试用例成功执行,没有错误或者失败:
    运行结果图


JUnit是一个Java语言的单元测试框架。属于白盒测试的范畴。测试步骤:

  1. 创建测试工程,点击新建工程,选择Android Test Project:
    新建测试工程
  2. 输入测试工程名,建议将名字设为被测工程名加Test,例如IMaaSTest:
    输入测试工程名
  3. 新建junit test case,选择junit4,并输入类名:
    新建测试用例

    输入被测类名后,会让选择测试的函数,选择需要测试的函数点击完成即可。这里不输入被测类名也可以,在代码里同样可以指定。
    如测试showNotice()这个函数,在测试函数里调用

    @Test
    public void testShowNotice() {
        Logger.d("testShowNotice");
        JNITest.showNotice(notice_scene);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值