robotium 进行android自动化测试初体验,本文包含的内容:
一,只有APK,没有源码的情况下robotium测试:
二 有待测试apk的源码测试:
robotium网址: http://code.google.com/p/robotium/
一,只有APK,没有源码的情况下robotium测试:
1)确保apk是debug签名;
下载re-sign.jar,下载地址:http://www.troido.de/re-sign.jar;下载之后双击jar,拖拽apk到上面根据提示操作即可的到myApp_debug.apk;同时也会得到包名等信息;
2)新建测试工程;
(1)新建工程,选择 Android Test Project ;
(2)Test Target 选择“This Project”:
(3)包名写同测试的apk同样的包名,或者加上.test 均可;
例如,待测试的apk包名是 com.myapk ,则测试工程的包名可以是com.myapk 或者 com.myapk.tset
3)加载 robotium-solo-2.1.jar;
Download Robotium jar from http://code.google.com/p/robotium/downloads/list
4)写测试类;
如下:
- package com.trunk.ticket.act.test;
- import com.jayway.android.robotium.solo.Solo;
- import android.test.ActivityInstrumentationTestCase2;
- public class TestApk extends ActivityInstrumentationTestCase2 {
- private static final String TARGET_PACKAGE_ID = "com.trunk.ticket.act";
- private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.trunk.ticket.act.MainActivity";
- private static Class launcherActivityClass;
- static {
- try {
- launcherActivityClass = Class
- .forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
- } catch (ClassNotFoundException e) {
- throw new RuntimeException(e);
- }
- }
- public TestApk() throws ClassNotFoundException {
- super(TARGET_PACKAGE_ID, launcherActivityClass);
- }
- private Solo solo;
- @Override
- protected void setUp() throws Exception {
- solo = new Solo(getInstrumentation(), getActivity());
- }
- /*
- * 我的测试函数
- */
- public void testDisplayBlackBox() { // Enter any integer/decimal value for
- // first editfield, we are writing 10
- solo.enterText(0, "10"); // Enter any interger/decimal value for first
- // editfield, we are writing 20
- solo.clickOnButton("查询");
- // Verify that resultant of 10 x 20
- // assertTrue(solo.searchText("200"));
- }
- @Override
- public void tearDown() throws Exception {
- try {
- solo.finalize(); //Robotium will finish all the activities that have been open
- } catch (Throwable e) {
- e.printStackTrace();
- }
- getActivity().finish();
- super.tearDown();
- }
- }
5)修改AndroidManifest.xml文件
<instrumentation android:targetPackage="com.myapk" android:name="android.test.InstrumentationTestRunner" />
instrumentation android:targetPackage 必须是待测试的包。
在手机上安装待测试的apk,然后Run As AndroidJUnit Test 即可。
参考资料:http://code.google.com/p/robotium/wiki/RobotiumForAPKFiles
二 有待测试apk的源码测试:
1) 新建测试工程,同上,在选择Test Target 的时候选择待测试工程:
其它信息会默认写好,点击 “Finish”即可。
2)写测试类
如下:
- /*
- * This is an example test project created in Eclipse to test NotePad which is a sample
- * project located in AndroidSDK/samples/android-9/NotePad
- * Just click on File --> New --> Project --> Android Project --> Create Project from existing source and
- * select NotePad.
- *
- * Then you can run these test cases either on the emulator or on device. You right click
- * the test project and select Run As --> Run As Android JUnit Test
- *
- * @author Renas Reda, renas.reda@jayway.com
- *
- */
- package com.mytest.app.test;
- import com.mytest.app.test.MainActivity;
- import com.jayway.android.robotium.solo.Solo;
- import android.test.ActivityInstrumentationTestCase2;
- import android.test.suitebuilder.annotation.Smoke;
- import android.util.Log;
- public class MyTest extends ActivityInstrumentationTestCase2<MainActivity>{
- private Solo solo;
- public MyTest() {
- super("com.mytest.app", MainActivity.class);
- }
- public void setUp() throws Exception {
- solo = new Solo(getInstrumentation(), getActivity());
- }
- /*
- * 我的测试函数
- */
- @Smoke
- public void testAddNote() throws Exception {
- solo.clickOnMenuItem("Add note");
- solo.enterText(0, "Note 2"); //In text field 0, add Note 2
- solo.goBackToActivity("NotesList"); //Go back to first activity named "NotesList"
- boolean expected = true;
- boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2");
- assertEquals("Note 1 and/or Note 2 are not found", expected, actual); //Assert that Note 1 & Note 2 are found
- }
- @Override
- public void tearDown() throws Exception {
- try {
- solo.finalize(); //Robotium will finish all the activities that have been open
- } catch (Throwable e) {
- e.printStackTrace();
- }
- getActivity().finish();
- super.tearDown();
- }
- }
3)AndroidManifest.xml 文件已经自动配置好,不用做修改,直接运行即可;
http://blog.csdn.net/actual_/article/details/7083093
相关推荐
**Android自动化测试——Robotium详解** 在Android应用开发过程中,测试是不可或缺的一环,它确保了软件的质量和稳定性。...理解并熟练运用Robotium,将极大地助力于Android应用的稳定性和用户体验的提升。
Robotium 是一个强大的自动化测试框架,专为Android应用设计,尤其适合进行黑盒测试和UI测试。这个"robotium-master.zip...这是一个宝贵的资源,对于任何想深入了解Android测试的开发者来说都是一次宝贵的学习体验。
本教程将基于"robotium自动化例子",帮助初学者理解如何利用Robotium进行Android应用的自动化测试。 首先,让我们了解Robotium的核心概念。Robotium提供了一个简洁的API,允许测试人员编写可读性强且易于维护的测试...
Robotium是一款强大的自动化测试框架,专门用于Android应用的UI测试。它使得开发者和测试工程师能够编写出自动化的黑盒测试用例,以确保应用程序的功能性和稳定性。Robotium 5.1是该框架的一个版本,提供了丰富的API...
Robotium是一款用于Android平台的自动化测试框架,它可以帮助测试人员通过模拟各种手势操作(如点击、长按、滑动等)对Android应用进行黑盒测试。Robotium为测试人员提供了丰富的API,用以查找和断言界面中的各种...
Robotium Solo 3.1 是一个专为Android应用自动化测试设计的开源库。这个版本的发布,主要聚焦在提升测试的稳定性和效率,以及增强对Android应用的控制能力。Robotium Solo提供了一套全面的API,使得开发者可以方便地...
【Robotium Solo Demo】是一个专为Android应用自动化测试设计的示例项目,它结合了Android Studio和Eclipse两个开发环境的测试案例。Robotium是一款强大的自动化测试框架,它使得开发者可以编写出跨越多个Activity的...
【Robotium教程】 Robotium是一款强大的自动化测试框架,专为Android应用设计,它使得开发者能够创建功能丰富的黑盒测试,无需深入源代码。本教程针对Eclipse平台,旨在帮助初学者快速掌握Robotium的使用,建立自己...
总的来说,Robotium作为一款强大的Android黑盒测试工具,极大地简化了UI自动化测试的流程,提高了测试效率,使得开发者能更专注于应用的功能和用户体验。通过深入学习和熟练运用Robotium,开发者可以确保其Android...
Robotium 是一个强大的自动化测试框架,专为 Android 应用程序设计,允许开发者编写全面的黑盒测试用例。这个框架特别适合初学者,因为它降低了编写功能测试、系统测试和验收测试的复杂度,即便对应用程序内部结构...
本资源"Robotium测试记事本源码"是针对那些希望学习或已经使用Robotium进行自动化测试的学生或专业人士。 首先,我们来深入理解Robotium的基本概念。Robotium的核心在于它的自动化测试脚本编写,它允许开发者使用...
Robotium是一款广泛应用于Android自动化测试框架,它使得开发者和测试工程师能够轻松地为Android应用程序编写自动测试用例。Robotium的出现极大地简化了UI测试,尤其是对于那些具有复杂交互的多活动应用。在这个...
**Android自动化测试工具Robotium 4.3源码与API文档详解** 在移动应用开发过程中,测试是确保软件质量的关键环节。Robotium是一款强大的自动化测试框架,专为Android应用程序设计,它提供了简单且灵活的方式来编写...
robotium 最新版本5.0.1 robotium-solo-5.0.1.jar
**Android自动化测试范例——基于Robotium** 在移动应用开发中,确保软件的质量和稳定性是至关重要的。...通过实践,你将能够更好地理解和掌握Android自动化测试的技巧,从而提升应用的质量和用户体验。
一、测试目的 1、回归测试稳定版本功能。 2、提高工作效率。 二、测试对象 1、Robotium在APK(米聊)文件下进行java junit Test...7.插件:re-sign.jar,robotium-solo-3.3,robotium-solo-3.3-javadoc(官方文档)。
在Android自动化测试领域,Robotium是一款非常流行的开源框架,它专为Android应用提供黑盒测试支持。本文档将深入探讨Robotium的相关知识点,帮助你理解并掌握如何利用它进行高效、可靠的自动化测试。 1. **...
Robotium是一款专为Android平台设计的自动化测试框架,它使得开发者能够轻松地创建针对原生以及混合应用程序的黑盒测试。Robotium的核心理念是通过模拟用户与应用的交互,如点击按钮、输入文本等,来验证应用的功能...
android自动化测试工具robotium 3.1