转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/

Android测试三要素

写Android测试用例有三要素,一是我们用的“安卓模拟器device”(用来显示UI),二是“uiautomatorviewer.bat”(用来定位UI上的元素),三是“Robotium”中提供的类(用来与UI元素进行交互)。

批量运行测试分四步

在写好Android的测试用例后,可通过Android JUnit Test批量运行测试代码。一共分四步——

第一步:写一个suite类

第一步:写一个suite类(suite中包含指定的测试用例,如下把SendInfoTest类作为一个测试用例添加进了suite中,LoginTest这个类由于被注释没有被加进suite中):

package com.renren.test.suites;

import com.renren.test.SendInfoTest;
import junit.framework.TestSuite;

public class SuiteForTest {
    public static TestSuite getTestSuite() {
        TestSuite suite = new TestSuite();
        //suite.addTestSuite(LoginTest.class);
        suite.addTestSuite(SendInfoTest.class);
        return suite;
    }
}

第二步:写一个runner类

第二步:写一个runner类,用来运行指定的suite,runner类继承了InstrumentationTestRunner类,并且重写了getAllTests方法:

package com.renren.test.runners;

import com.renren.test.suites.SuiteForTest;
import android.test.InstrumentationTestRunner;
import junit.framework.TestSuite;

public class Runner1 extends InstrumentationTestRunner {

    @Override
    public TestSuite getAllTests() {
        TestSuite suite = new TestSuite();
        suite.addTest(SuiteForTest.getTestSuite());
        return suite;
    }

}

第三步:修改配置文件

第三步:修改AndroidManifest.xml文件,添加一个instrumentation标签,如下图:

其中“android:name”的值填写“项目中的包名+runner类名”,“android:targetPackage”的值填写被测应用app的包名,这个包名不是runner类所在项目中的包名,而是被测app——即被测apk重签名后生成的Package name(随之一起生成的还有Main activity名):

第四步:批量运行测试

第四步:在项目上点击右键->Run As->Run Configurations->选中Android JUnit Test并点击上方的“新建按钮”新建一个叫“ForMyRenren”的Android JUnit Test,Instrumentation runner选择我们自己创建的runner类,点击Run->批量运行测试。

附:获取被测app的包名和活动名的方法

1、下载“apktool.jar”和“apktool.bat”文件->下载地址

2、 在Android的build-tools路径(我的是C:\Users\Administration\AppData\Local\Android \android-sdk\build-tools\)下选择一个高版本的文件夹(我选择了23.0.2)打开,找到“aapt.exe”文件;

3、将“apktool.jar”、“apktool.bat”和“aapt.exe”这三个文件一起复制粘贴到“C:\Windows”目录下:

4、启动cmd命令行,输入“aapt dump badging apk在本地的路径名”(我用的是人人网re-sign后的apk),如下:

以上我们分别找到了apk的package name和activity name,即对应了apk重签名后生成的Package name和Main activity名。

Android JUnit Test——批量运行测试代码的更多相关文章

  1. Android Junit测试框架

    对应用进行单元测试: 使用Junit测试框架,是正规Android开发的必用技术.在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性. 1.配置指令集和函数库: (1)配置指令集,指定 ...

  2. 在Android Studio进行“简单配置”单元测试(Android Junit)

    起因 在Android studio 刚出.本人就想弄单元测试,可惜当时Android studio不知道抽什么风(准确来说,应该是我不会弄而已).无法执行到相应的代码.后来今天突然自己又抽风.又想去 ...

  3. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

  4. 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布

    艾伦 Visual Studio 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ...

  5. 向Android模拟器中批量导入通讯录联系人

    使用adb命令向Android模拟器中批量导入通讯录联系人的方法: 使用adb提供的命令, 可以非常方便地从PC中将通讯录批量导入android模拟器中. 首先要先准备好固定格式的vcf文件, 该文件 ...

  6. Android Stduio统计项目的代码行数

    android studio统计项目的代码行数的步骤如下: 1)按住Ctrl+Shift+A,在弹出的框输入‘find’,然后选择Find in Path.(或者使用快捷键Ctrl+Shift+F) ...

  7. Xamarin.Android提示aapt退出,代码为255

    Xamarin.Android提示aapt退出,代码为255 错误信息:”aapt.exe”已退出,代码为255.出现这种问题,通常是由于该项目所使用Android SDK不完整.通过SDK Mana ...

  8. 【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

    转自:http://mrfufufu.github.io/android/2015/07/01/Codelab_Android_Design_Support_Library.html [翻]Andro ...

  9. Android WebView中的JavaScript代码使用

    在WebView中使用JavaScript 如果你想要载入的页面中用了JavaScript,你必须为你的WebView使能JavaScript. 一旦使能之后,你也可以自己创建接口在你的应用和Java ...

随机推荐

  1. storm 集群配置

    配置storm集群的过程中出现写问题,记录下来 1.storm是通过zookeeper管理的,先要安装zookeeper,从zk官网上下来,我这里下下来的的3.4.9,下载后移动到/usr/local ...

  2. windows下使用C#获取特定进程网络流量

    最近老板接了一个中船重工的项目,需要做一个有关海军软件系统的组件评估项目,项目中有一个子项目需要获取特定进程的各种系统参数,项目使用.NET平台.在获取特定进程各种系统参数时,其它诸如进程ID,进程名 ...

  3. StartUML反向(逆向)Java工程通过代码生成类图

     在软件工程中,通过都是先了详细设计,然后按照详细设计来进行开发.在编写详细设计的时候,通常都会画一些类图.时序图.流程图等等UML设计,然后通过uml类图生成代码,这个属于正向工程生成代码,然而在实 ...

  4. android ListView 九大重要属性详细分析、

    android ListView 九大重要属性详细分析. 1.android ListView 一些重要属性详解,兄弟朋友可以参考一下. 首先是stackFromBottom属性,这只该属性之后你做好 ...

  5. Scala 深入浅出实战经典 第60讲:Scala中隐式参数实战详解以及在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  6. 干净的停止tomcat/java应用程序

    通常在使用了jdbc或者netty的应用程序中,当shutdown tomcat或java应用程序时,会出现无法停止的情况,报类似如下错误: 严重: The web application [] re ...

  7. java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。

    //------------------------------------------------我是代码的分割线 // 首选是一个工具类,在该工具类里面,定义了一个方法,public void s ...

  8. Linux-如何添加路由表

    linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 19 ...

  9. linux概念之进程分析

    http://blog.csdn.net/kevinx_xu/article/details/8178746 /proc 详解 内核线程分析报告 进程层次 [root@109-com1 scripts ...

  10. 【读jQuery源码有感系列一】callee

    <script type="text/javascript"> /*调用自身*/ function calleeDemo() { try{ } catch (error ...