Robotium基于APK自动化测试,只有APK文件,没有源代码。

Eclipse 默认的debug keystore可以在Windows->Preferences->Android->Build中设置,如下:

去掉APK的签名后,然后为其重新签名。

可通过re-sign.jar,其下载地址如下:

http://recorder.Robotium.com/downloads/re-sign.jar.

双击运行re-sign.jar,将“去哪儿旅行”的APK拖至其上,

若出现错误如下:ERROR:Cannot run program"D:\android-sdk/tools/zipalign":createProcess error=2,the system cannot find the file specified.

解决方法,在Android SDK的platforms文件夹底下选择一个高版本的文件夹,单击进入该文件夹,将该文件夹下的zipalign.exe复制到tools文件夹底下。

成功如下:

2.创建基于APK测试的测试工程

Eclipse中新建Android Test Project,并命名为QunarTest,在select test target 窗口选择“this project”项,

然后新建一个libs文件夹,然后将下载好的jar文件放到该文件夹下,

用鼠标右键单击该jar,依次选择BuildPath->Add To Build Path。

src右击新建包和类,新建一个包com.qunar.test,新建第一个测试类FirstQunarTest,然后编写代码如下:

package com.qunar.test;

import com.robotium.solo.Solo;

import android.test.ActivityInstrumentationTestCase2;

import android.util.Log;

import android.view.View;

@SuppressWarnings("rawtypes")

public class FirstQunarTest extends ActivityInstrumentationTestCase2 {

private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.Qunar.NoteActivity";

private static Class<?> LauncherActivityClass;

private static final String TAG = "MyResult";

static {

try {

LauncherActivityClass = Class

.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);

} catch (ClassNotFoundException e) {

throw new RuntimeException(e);

}

}

@SuppressWarnings("unchecked")

public FirstQunarTest() {

super(LauncherActivityClass);  }

private Solo solo;

@Override

protected void setUp() throws Exception {

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

}

public void testCanOpenSettings() throws InterruptedException {

waitForText("软件更新");

if (solo.searchText("软件更新")) {

View view = solo.getView("com.Qunar:id/btn_download");

solo.clickOnView(view);

}

solo.pressMenuItem(0);

}

private void waitForText(String string) throws InterruptedException {

while (!solo.searchText(string)) {

Thread.sleep(1000);

}

}

@Override

public void tearDown() throws Exception {

solo.finishOpenedActivities();

}

}

//插入知识,在编写代码时,可以设置eclipse自动补全,

//最简单的修改方式是:Windows——>Preferences——>Java-->Editor-->Content Asist,

//在Auto activation triggers for Java后面的文本框里只有一个“.”。

//现在你将其改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可。

//然后你再试试,会发现,现在的补全功能跟VS差不多了。

//你还可以在Advanced和Favorite里进行高级的设置。

然后将AndroidMainfest.xml以Text Edite 打开,修改package name 和 package,编辑如下:

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.qunar.test"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<instrumentation

android:name="android.test.InstrumentationTestRunner"

android:targetPackage="com.Qunar" />

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

<uses-library android:name="android.test.runner" />

</application>

</manifest>

然后在FirstQunarTest上单击鼠标右键,Run as ->Android JUnit Test,观察结果,自动更新为成功。

最新文章

  1. [Java入门笔记] 面向对象编程基础(一):类和对象
  2. Linux-4.4-x86_64 内核配置选项简介【转】
  3. 【Leafletjs】7.结合echart图表展示信息
  4. PowerShell定时记录操作系统行为
  5. Unitils集成DBUnit、Spring-单元测试
  6. linux下基本命令总结
  7. iOS开发之网络编程--2、NSURLSessionDownloadTask文件下载
  8. 你我公益模式系统APP开发
  9. 20160128_关于SVN提交不了并且还提示升级的解决方法
  10. nessus重置密码
  11. Oracle——多表查询
  12. Git一些简单但非常重要并常用的操作命令
  13. flex总结一下
  14. 宝塔面板安装在根目录www下
  15. 使用C语言实现一个自动刷弹幕的程序
  16. Service插件化解决方案
  17. pass parameter by endpoint, this is for websocket
  18. 微软补丁安装工具wusa报错。
  19. Android2.2+opencv3.1配置实现
  20. NULLIF与ISNULL的交叉使用

热门文章

  1. MySQL高级——课程大纲
  2. 20155203 《信息安全技术》 实验2 Windows口令破解
  3. 20155218 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
  4. 实验楼学习linux第一章第三节用户及文件权限管理
  5. 20155318 2016-2017-2《Java程序设计》课程总结
  6. 20155321 2016-2017-2 《Java程序设计》第九周学习总结
  7. kali更新源相关 -- 没有release文件、签名无效、404
  8. 【BZOJ4008】[HNOI2015]亚瑟王
  9. HBase 第四章 HBase原理
  10. 验证码示例代码演示——以php为例