`
zyueqi
  • 浏览: 144056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Robotium应用与Android自动化测试的研究

阅读更多


      Android的自动测试研究,我相信有很多在接触android的人当中,也在网上不断的所搜和研究究竟有没有能应用android自动化测试手段,我也是如此,经过一番寻找研究有幸接触到了Robotium这个东东,他能一定程度上给我们一些想要的效果,现将小试牛刀的一些东东分享出来.

     

User scenario testing for Android

Robotium is a test framework created to make it easy to write powerful and robust automatic black-box test cases for Android applications. With the support of Robotium, test case developers can write function, system and acceptance test scenarios, spanning multiple Android activities.

Robotium has full support for Activities, Dialogs, Toasts, Menus and Context Menus.

 

上边的一段英文是官方一段文字,也就是我们利用Robotium可以做一些对android的一些自动化测试工作,并且他是可跨越多个Activites,且容易写一些测试case的,一定程度上能做一些黑盒的自动化工作,在这里先简单跑一个notpad的例子,看看跑起来的效果是什么样的,后续继续做些更详细的。

 

官方地址:http://code.google.com/p/robotium/

 

一、确保环境

1.已经安装eclipse

2.Eclipse已经配置好android相关环境

3.存在已经创建模拟器

 

二、步骤

1.启动Eclipse执行 New --> Project --> Android Project --> Create Project from existing sample --> NotePad将自带的例子导入进来.

2.在官方down栏下下载三个文件,两个是所需要的jar包,另一个是notepad的测试例子

(当前最新的是2.1Featured,这里就不提供下载连接了版本更新的还是比较快的

3.然后执行File --> Import --> Existing Project into workspace --> Select archive file --> ExampleTestProject_v2.1.zip将例子导入进来(如果错误可能需要你在这个项目上将刚才说需要的两个jar导入project --> Properties --> Java Build Path --> Add (external) Jar)

4.右键选择刚才导入的test例子执行Run As --> Run As Android JUnit Test.

如果没有意外的话会自动启动模拟器并且运行起来了.

上一张截图看看样子把



 再睹为快测试的代码:

 

private Solo solo;

	public NotePadTest() {
		super("com.example.android.notepad", NotesList.class);
		
	}
	
	 public void setUp() throws Exception {
		 solo = new Solo(getInstrumentation(), getActivity());
		  }

	 
	 @Smoke
	 public void testAddNote() throws Exception {
		 solo.clickOnMenuItem("Add note");
		 solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor"); //Assert that NoteEditor activity is opened
		 solo.enterText(0, "Note 1"); //In text field 0, add Note 1
		 solo.goBack(); //Go back
		 solo.clickOnMenuItem("Add note"); //Clicks on menu item 
		 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
		
	 }
	
	@Smoke 
	public void testEditNote() throws Exception {
		solo.clickInList(2); // Clicks on the second list line
		solo.setActivityOrientation(Solo.LANDSCAPE); // Change orientation of activity
		solo.clickOnMenuItem("Edit title"); // Change title
		solo.enterText(0, " test"); //In first text field (0), add test. 
		solo.goBackToActivity("NotesList");
		boolean expected = true;
		boolean actual = solo.searchText("(?i).*?note 1 test"); // (Regexp) case insensitive												// insensitive
		assertEquals("Note 1 test is not found", expected, actual); //Assert that Note 1 test is found

	}
	

	@Smoke
	 public void testRemoveNote() throws Exception {
		 solo.clickOnText("(?i).*?test.*");   //(Regexp) case insensitive/text that contains "test"
		 solo.clickOnMenuItem("Delete");   //Delete Note 1 test
		 boolean expected = false;   //Note 1 test & Note 2 should not be found
		 boolean actual = solo.searchText("Note 1 test");
		 assertEquals("Note 1 Test is found", expected, actual);  //Assert that Note 1 test is not found
		 solo.clickLongOnText("Note 2");
		 solo.clickOnText("(?i).*?Delete.*");  //Clicks on Delete in the context menu
		 actual = solo.searchText("Note 2");
		 assertEquals("Note 2 is found", expected, actual);  //Assert that Note 2 is not 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();
	} 

 

  • 描述: robotimu
  • 大小: 95.9 KB
1
0
分享到:
评论
1 楼 ljh223 2011-11-22  
顶起!  哈哈   ~~

相关推荐

    robotium Android自动化 测试范例

    在这个“robotium Android自动化测试范例”中,我们将深入探讨如何利用Robotium进行高效的Android应用测试。 首先,让我们理解一下Robotium的基本概念。Robotium的核心在于它可以自动地与Android应用的UI元素进行...

    Android自动化测试手段之Robotium

    Android自动化测试能够显著提高测试效率,减少手动测试的工作量,并确保应用的稳定性和质量。今天我们将深入探讨一个名为Robotium的自动化测试框架,它是专门为Android应用设计的。 **Robotium简介** Robotium是一...

    Android自动化测试工具Robotium的应用与研究.pdf

    【Android自动化测试工具Robotium的应用与研究】 在移动应用开发领域,确保软件的质量和稳定性是至关重要的。Android作为全球最广泛使用的操作系统之一,其应用程序的测试工作也变得日益繁重。这时,自动化测试工具...

    Android自动化测试之Robotium--基础操作

    根据提供的文件信息,接下来详细阐述Android自动化测试工具Robotium的基本知识点。 首先,Robotium是一个开源的自动化测试框架,专门用于Android平台的应用程序。它弥补了ActivityInstrumentationTestCase2在集成...

    robotium自动化测试框架

    Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android...

    Android自动化Robotium

    **Android自动化测试——Robotium详解** 在Android应用开发过程中,测试是不可或缺的一环,它确保了软件的质量和稳定性。Robotium是一款强大的自动化测试框架,专为Android应用设计,提供了全面的功能测试支持。...

    Android自动化测试之Robotium--进阶操作.pdf

    在Android自动化测试的众多工具中,Robotium是目前广泛使用的一款自动化测试框架,专门用于编写Android应用的功能测试用例。 Robotium提供了丰富而强大的API,用于模拟用户的各种交互操作,如点击、长按、滑动、...

    robotium自动化测试android程序

    Robotium是一款专为Android应用程序设计的自动化测试工具,它主要用于进行黑盒测试,即在不考虑内部实现细节的情况下验证应用的功能。Robotium可以在两种情况下工作:一是拥有源代码,二是只有编译后的APK文件。这种...

    android自动化测试robotium之adb shell的使用

    在Android自动化测试中,ADB(Android Debug Bridge)是一个强大的工具,用于与Android设备进行通信,包括模拟器和物理设备。`adb shell`是ADB的一个子命令,它允许开发者在设备上执行shell命令,从而实现对设备的...

    Robotium对于安卓多内核浏览器自动化测试支持的研究.pdf

    Robotium是一个广泛应用于Android平台的自动化测试框架,它能够模拟用户的各种操作行为,包括但不限于点击、滑动、输入文本等,从而实现对应用功能的全面测试。然而,在面对多内核浏览器时,Robotium可能会遇到一些...

    Android自动化测试 robotium-solo-5.2.1 javadoc 样例

    总之,“Android自动化测试(5)<robotium> robotium-solo-5.2.1 javadoc 样例”为我们提供了深入学习和使用Robotium Solo的起点,通过查阅和实践,开发者能够构建强大而可靠的自动化测试套件,为Android应用的质量...

    Android自动化测试框架Robotium的使用

    在Android应用开发中,自动化测试是一项至关重要的任务,它能够帮助开发者确保代码的质量,提高测试效率,减少手动测试的工作量。Robotium是一款强大的自动化测试框架,专为Android平台设计,适用于进行功能测试和UI...

    Android自动化测试robotium.pdf

    在Android开发领域,自动化测试是确保产品质量和提升开发效率的关键环节。Robotium是一款强大的自动化测试框架,特别适合于...对于准备进行Android自动化测试的开发者来说,掌握Robotium的使用是必不可少的技能之一。

    android 自动化 robotium 文档

    在Android自动化测试领域,Robotium是一款非常流行的开源框架,它专为Android应用提供黑盒测试支持。本文档将深入探讨Robotium的相关知识点,帮助你理解并掌握如何利用它进行高效、可靠的自动化测试。 1. **...

    Android应用并行自动化测试技术研究与实现.pdf

    Android应用并行自动化测试技术研究与实现 随着移动互联网行业的迅速发展,以Android为代表的智能手机用户数量激增,应用程序市场也随之呈现出爆炸性的增长趋势。目前,Google Play市场已有数百万个应用,并且数量...

    Robotium自动化测试

    Robotium是一种自动化测试工具,它用于Android平台上的原生和混合应用,支持JUnit测试框架。它能够通过编写简单的测试用例来模拟用户与应用的各种交互操作。Robotium提供的API能够方便地编写功能、系统和验收测试,...

    Robotium 自动化教程

    Robotium是一个专门为Android应用程序测试设计的开源框架,它允许开发者和测试人员编写功能自动化测试用例。Robotium的主要特点包括与Android系统的紧密集成、支持Android UI控件的交互测试、以及提供易于使用的API...

Global site tag (gtag.js) - Google Analytics