robotium之测试APK环境搭建

一、        前置处理:

 本文为{robotium之测试环境准备}的后续文章;如果没有准备好可以先去查看我的博客;博客地址为:http://my.oschina.net/marcello/blog

  有了前面的准备我们就开始今天的学习内容:首先下载apkwin9008_innovanepc.apk(再次感谢群成员提供)

二、        APK重签名

因为robotium要求被测应用和测试代码要有一致的签名, 所以我们需要把下载到的apk,通过re-sign.jar来产生debug keyapk,这个重新生成的apk就会跟测试项目签名一致了;如果无re-sign.jar到我上一篇博客中看有下载地址

然后双击打开如图显示

robotium之测试APK环境搭建_第1张图片

  

win9008_innovanepc.apk拖到apk.resigner界面、产生新apk的过程中会弹出一个信息框,记得截下图,因为里面有两个信息我们等会的代码中需要用到

robotium之测试APK环境搭建_第2张图片

点击保存出现:

robotium之测试APK环境搭建_第3张图片

为了大家能够亲自实践我把Package Main Activity都涂掉了;

点击确定后得到一个debugapk如图所示

robotium之测试APK环境搭建_第4张图片

安装win9008_innovanepc_debug.apk到你的手机上,签名的事情就解决了;

三、        创建项目

打开Eclipse,点击File->New一个Android Test Project  win9008_innovanepc_test, 然后点击下一步的时候选择This project(因为我们没有应用的源码),然后选择要在哪个android版本上测试步骤如图所示:

1robotium之测试APK环境搭建_第5张图片

2robotium之测试APK环境搭建_第6张图片

3robotium之测试APK环境搭建_第7张图片

4robotium之测试APK环境搭建_第8张图片

完成以上步骤项目就新建起来了接下来我们来配置

四、配置项目

1、 先添加robotium-solo-4.2.jar包;我提供是是4.2网上有最新的应该是5.2还是5.3需要的同学可以去下载,我这边只做教程使用;

项目右键新建一个文件夹、命名为robotium

robotium之测试APK环境搭建_第9张图片

robotium之测试APK环境搭建_第10张图片

2、 再把robotium-solo-4.2.jar拉到文件夹下面然后点击Build path  Add to Build path

robotium之测试APK环境搭建_第11张图片

3、 添加junit4;点击项目右键Properties然后找到java Build path Libraries页签。点击Add library选择junt,点击确定;再把也签到最后一个,选中所有点击确定;那么jar包就添加完成了;

robotium之测试APK环境搭建_第12张图片

robotium之测试APK环境搭建_第13张图片

robotium之测试APK环境搭建_第14张图片

robotium之测试APK环境搭建_第15张图片

五、        配置AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.jayway.test"
      android:versionCode="2"
      android:versionName="1.0">
    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
    <uses-library android:name="android.test.runner" />
    </application>
    <uses-sdk android:minSdkVersion="10" />
    <instrumentation android:targetPackage="这里填写刚刚截图出来的包名 "
         android:name="android.test.InstrumentationTestRunner" />
</manifest>

六、        配置代码

在该项目下创建一个包,com.test,在该包下创建LoginTest类,代码如下

package com.test,;


//需要导入的包

import android.app.Activity;

import android.test.ActivityInstrumentationTestCase2;


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


@SuppressWarnings("rawtypes")

public class LoginTest extends ActivityInstrumentationTestCase2 {

    // 定义变量

    public Solo solo;

    public Activity activity;

    private static Class<?> launchActivityClass;

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

    private static String mainActiviy = "这里填写截图对应的main Activiy ";

    private static String packageName = "这里填写刚刚截图出来的包名 ";   

    static {
        try {                     

            launchActivityClass = Class.forName(mainActiviy);

            System.out.println(mainActiviy);

        } catch (ClassNotFoundException e) {

            throw new RuntimeException(e);

        }

    }

    @SuppressWarnings("unchecked")

public LoginTest() {

super(packageName, launchActivityClass);

}
    @Override

    protected void setUp() throws Exception {

        super.setUp();

        this.activity = this.getActivity();

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

    }


    public void testLoginWithIncorrentUsernameAndPassword() {

       

            要做的操作的内容

    }


    @Override

    public void tearDown() throws Exception {

        try {

            this.solo.finishOpenedActivities();

        } catch (Throwable e) {

            e.printStackTrace();

        }

        this.activity.finish();

        super.tearDown();

    }

}




七、        个人说明

1.       以上代码可以在我的群中到到对应的包;博客不准留群号需要的可以私聊!

2.       本文仅供学习交流,不得用于学习交流外之任何目的,保留对于侵权行为诉诸法律的权利、转载请注明出处

3.    robotium之测试APK环境搭建_第16张图片 




你可能感兴趣的:(robotium,robotium测试APK,robotium环境搭建)