转载请注明出自天外归云的博客园: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. powershell 参数 [String]Service

    此种情况,去掉前面的[String] 在里面操作的时候就会认为是string,并可以自动操作了,否则限定为String类型时,就无法将输入的a,b当作String了, 或者需要添加'a,b'单引号来变 ...

  2. acm算法模板(2)

    数学问题: 1.精度计算——大数阶乘 2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数) 4.精度计算——加法 5.精度计算——减法 6.任意进制转换 7.最大公约数.最小公倍数 ...

  3. android开发之如何使TabHost的TabWidget位于屏幕下方

    更改TabHost里的第一个LinearLayout为RelativeLayout.并在TabWidget中添加android:layout_alignParentBottom="true& ...

  4. ThinkPHP 中实现 Rewrite 模式

    ThinkPHP中默认的URL地址是形如这样的:http://localhost/Myapp/index.php/Index/index/ Myapp是我的项目文件名,默认的访问地址是上面这样的.为了 ...

  5. scala2.10.x case classes cannot have more than 22 parameters

    问题 这个错误出现在case class参数超出22个的时候. case classes cannot have more than 22 parameters 在scala 2.11.x版本以下时c ...

  6. 夺命雷公狗—angularjs—14—$location的作用

    废话不多说看下,我们直接来走代码看下效果如何 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  7. Android_adb详解

    adb定义:adb(android debug bridge)是android系统中的一种命令行工具,通过它可以和android设备或模拟器通信. adb工具位置: <path-to-sdk&g ...

  8. Openstack的删除错误网桥,虚拟网络

    在实验openstack的各种网络模式时,可能会产生一些错误的网络指向,需要删除那些网桥. 执行前 [root@node-9 ~]# ifconfig br40 Link encap:Ethernet ...

  9. IE浏览器相关的问题及解决方案[转]

    seleniumquery和IE的司机 本网页是关于seleniumquery和IE(Internet Explorer)作为驱动/ WebDriver /浏览器. 首先,确保你检查internete ...

  10. webservice 错误::无法加载协定为的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。

    转自网络 错误::无法加载协定为“ServiceReference1.INetbankUpdateService”的终结点配置部分,因为找到了该协定的多个终结点配置.请按名称指示首选的终结点配置部分. ...