Robotium使用——只有apk的情况

       通过参考网上的例子和我师父的帮忙,完成下面的操作。。。虽然网上例子很多,但是自己操作还是有好多问题,一点一点来吧,fighting!!!

一.前提准备

1.robotium-solo-5.3.1.jar

2.下载任何一个apk

3.re-sign.jar 用于重新签名

二.重新签名

    在没有源码,只有apk的情况下,利用re-sign.jar重新签名获得package name和mianActivity,这一步是非常重要的。

1.打开re-sign.jar,出现如图的提示,去环境变量中配置一下

  Robotium使用——只有apk的情况

2.在环境变量中配置ANDROID_HOME,变量值是android sdk的路径

Robotium使用——只有apk的情况

3.再次打开re-sign.jar,成功

Robotium使用——只有apk的情况

4.将被测试的apk直接拖入上图中,弹出保存页面,直接保存,出现下图显示,记住package name 和main activity

 

Robotium使用——只有apk的情况

三.安装apk

    这里注意的是:安装的apk不是你下载的那个apk,而是刚才我们在上面操作中重新签名后产生的新的apk

将新的apk直接拖入模拟器中安装

四.新建android test project

   new——android test project ,然后选择this project ,点击next,完成

五.建立junit test case

   1.修改AndroidManifest.xml

 Robotium使用——只有apk的情况

   2.导入jar包

   3.实现代码

package com.raipeng.photograph.test;



import com.robotium.solo.Solo;



import android.app.Activity;

import android.test.ActivityInstrumentationTestCase2;



@SuppressWarnings("rawtypes")

public class Photo extends ActivityInstrumentationTestCase2 {

    public Solo solo;

    public Activity activity;

    private static Class<?>  launchActivityClass;



    //对应re-sign.jar生成出来的信息框里的值



    private static String  mainActiviy      = "com.raipeng.photograph.control.mainfragment.MainActivity";

    



    static {



    try {



    launchActivityClass = Class.forName(mainActiviy);



    } catch (ClassNotFoundException e) {



    throw new RuntimeException(e);



    }



    }

    @SuppressWarnings("unchecked")

    public Photo() {

        super(launchActivityClass);

    }



    



    



    @Override



    protected void  setUp() throws Exception {



    //super.setUp();



    this.activity = this.getActivity();



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



    }

    

    public void testLogin(){

        solo.unlockScreen();

        solo.sleep(5000);

        solo.clickOnText("婚纱");

        }

    

    

    public void tearDown() throws Exception {



        try {



        this.solo.finishOpenedActivities();



        } catch (Throwable e) {



        e.printStackTrace();



        }



        this.activity.finish();



        super.tearDown();



        }



        



    





}
View Code

  4.运行时如果老是报错:class not found:com.robotium.solo.Solo

  1.build path——order and export中勾选robotium-solo-5.3.1.jar

  2.在菜单栏project中点击clean,ok

 

你可能感兴趣的:(robot)