博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
robotium之测试APK环境搭建
阅读量:6124 次
发布时间:2019-06-21

本文共 2647 字,大约阅读时间需要 8 分钟。

hot3.png

一、        前置处理:

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

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

二、        APK重签名

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

然后双击打开如图显示

  

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

点击保存出现:

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

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

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

三、        创建项目

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

1

2

3

4

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

四、配置项目

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

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

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

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

anchor.gifanchor.gif五、        配置AndroidManifest.xml

六、        配置代码

在该项目下创建一个包,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.     

转载于:https://my.oschina.net/marcello/blog/402578

你可能感兴趣的文章
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
cmake总结
查看>>
数据加密插件
查看>>
linux后台运行程序
查看>>