转载请注明出自天外归云的博客园: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 JUnit 入门指南

    自动化单元测试可以做许多的事,并帮你节省时间.它也可以被用作快速检验新建工程或进行冒烟测试.始终,单元测试是作为一种有效的.系统的检验应用程序各功能执行的方式.Android SDK支持JUnit的自 ...

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

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

  4. 1.Android JUnit Runner(使用AndroidStudio)

    一.Android JUnit Runner介绍 1.Android JUnit Runner 1)是一个测试运行器,用于运行Junit3和Junit4的Android测试包 2)替换Instrume ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Lintcode: Segment Tree Query II

    For an array, we can build a SegmentTree for it, each node stores an extra attribute count to denote ...

  2. 转:python webdriver API 之浏览器的操作

    1.1.浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟 sikuli 结合,使用 sikuli 操作 flash.# ...

  3. Java基础(51):Super与this的区别

    1.     子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base" ...

  4. PHP内核探索:哈希碰撞攻击是什么?

    最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招.本文结合PHP内核源码,聊一聊这种攻击的原理及实现. 哈希表碰撞攻击的基本 ...

  5. CentOS 5.5 Nginx+JDK+MySQL+Tomcat(jsp)成功安装案例

    在CentOS 5.5中安装Nginx+jdk+mysql+tomcat是非常容易的.只需yum安装环境包和nginx.解压安装jdk和tomcat.配置profile文件.server.xml和ng ...

  6. docker进入容器方法

    更简单的,建议大家下载 .bashrc_docker,并将内容放到 .bashrc 中. $ wget -P ~ https://github.com/yeasy/docker_practice/ra ...

  7. it精英的艰辛路程

    我出生在呼和浩特市,但我并不是蒙古族人,而是彻彻底底的汉族人.我父亲小时候因为家里穷,十八九岁就独自出来闯荡了,后来在呼和浩特市发展的不错,还遇到了我妈,就定居下来了,结婚两年后就有了我. 小时候的家 ...

  8. 手机端js事件支持(event)

    http://blog.163.com/rex_blog/blog/static/1944801012013102743014369/ 所有被测试的浏览器都支持touchstart.touchend和 ...

  9. web标准

    仔细看看所有的前端招聘要求,几乎所有的都要求对web标准有深刻的理解. web标准,是一系列标准的集合.对前端来说,因为网页是由结构.表现和行为组成.对应的就有结构化标准语言,主要包括XHTML和XM ...

  10. viewpager+fragment+HorizontalScrollView

    xml布局 <RelativeLayout        android:id="@+id/rl_column"        android:layout_width=&q ...