android 自动化测试的傻瓜实践之旅(UI篇) -----小试身手

导言

  很早以前就开始折腾android的自动化测试,不过,本人毫无测试基础,只能,从google那里搜索到仅有的一些资源,和目前,唯一一本讲android测试的书(应该是吧,如果还有希望告之).

  从google那里搜来的资源大多都是介绍类的文章,比较少有实例操作,关于,android自动化测试,优酷上有个淘宝的框架叫做----TMS的视频演示,因为,那里说不让转载,所以,感兴趣的话就去google一下,就能看到.

  顺便说一下,这个专题不是一个专业,严格的android测试博文,所以,不要以专业的测试眼光去评论,这是,简单的运用一下测试,让我们的程序员编出更好的代码…

自动化的 UI 测试

  目前能免费进行android UI的自动化测试的方法有以下三种:

 Monkey&MonkeyRunnerandroid 的Junit 测试框架Robotium
入门难度一般困难非常简单
功能方面很一般无所不能基本满足

 

关于Monkey & MonkeyRunner可以参考本人写的另外两篇

android实用测试方法之Monkey与MonkeyRunner (评论部分有些常见问题及部分解决有兴趣的可以大概浏览一下)

增强型MonkeyRunner 脚本计划 (算是一个小小的实践吧)

说下,Monkey&MonkeyRunner

优点: 上手简单,只需要apk

缺点: 文档少,容易出错,编写脚本需要python基础.

android 的Junit

关于这个内容我曾经做个一个小小的视频,后来上传到了优酷

Android 测试入门教程之activity简单测试 (慎入,声音比较蛋疼,画面被优酷压缩得不像样..)

说下, android for Junit

优点: 无所不能…

缺点: 上手不容易,需要源码.

 

Robotium

  本文重点简介的方法….

说下,Robotium

优点: 足够简单,足够强大,支持apk测试

缺点: 还不能替代android for Junit

愉快的UI测试之旅 by Robotium

Robotium 是一个开源项目:

http://code.google.com/p/robotium/

目前最新版本:Robotium 3.1 is now released!

竟然,要做测试,我们要新建一个用于测试的项目:

直接下载项目吧….

http://vdisk.weibo.com/s/3feB5

然后,创建一个android的测试项目..

1,创建项目

image

2,选择要测试的项目

image

3,完成

image

4,把Robotium导入到测试项目里面,顺便说一下:ADT 17 预览版 4已经支持自动把libs下的jar包导入到依赖环境中…用之前版本的朋友手动添加吧…

image

编写第一个UI测试方法

public class FootTabClickTest extends ActivityInstrumentationTestCase2<TabViewActivity> {
	
	//1,创建一个自动化测试对象
	private Solo tabSolo;
	
	
	public FootTabClickTest () {
		super("com.achai",TabViewActivity.class);
	}
	
	@Override
	protected void setUp() throws Exception {
		// TODO Auto-generated method stub
		super.setUp();
//2,初始化我们的测试对象		

tabSolo = new Solo(getInstrumentation(), getActivity());
	}
	
	@Smoke
	public void testClickEachTab(){
		
		//3,获取我们view 中所有的单选按钮,没错就是这么简单…
		ArrayList<RadioButton> radioGroup =  tabSolo.getCurrentRadioButtons();
		//4,自动点击每个单选按钮
		for(int i=0; i < radioGroup.size(); i++){
			tabSolo.clickOnRadioButton(i);
//5,暂停1s 用来看效果的…

 tabSolo.sleep(1000);
		}
//6,又一个强大的功能,直接识别点击当前view中匹配的文本,与控件无关!!!!!!!

	     tabSolo.clickOnText("(?i).*?我的收藏.*");
		tabSolo.sleep(1000);
//7,这个是长按,注意留意动画

		tabSolo.clickLongOnText("返回");
		tabSolo.sleep(2000);
//		tabSolo.clickOnRadioButton(1);
	}
	
	@Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		super.tearDown();
			}
	
	
	
}

效果动画:

test2

转载自: http://www.cnblogs.com/youxilua/archive/2012/03/17/2402833.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值