Robotium 测试方法

1.检查CheckBox 是否选上,用solo.isCheckBoxChecked( “text” )。

  有时候checkBox 没有相关的text,这时要用solo.isCheckBoxChecked(index) 。 
2. 如果页面上相同的string有多个,可以用index来区分。

  如solo.clickOnText(text,index),第一次匹配index=1,第N次匹配index=n。
3.发送sendkey命令时,用sendKeys (String keysSequence)可以指定发送动作重复的次数,唯一需要注意的就是这里面KeysSequence不用想普通命令时写上 KeyEvent.KEYCODE_这些,直接写sendKeys(i*KEYEVENT),比如sendKeys(256*DEL)就是重复256次删除动作

4. InstrumentationTestCase可以用来模拟触摸屏和按键的处理,为了避免误操作,在测需要触摸和按键的case前最好关闭模拟器或设备的触摸功能:setActivityInitialTouchMode(false);

5. 触摸和按键可以通过TouchUtils.clickView(this, button/view);来实现

6、断言  assert:

assertEquals(“string”,expect,actual):判断实际值与期待值是否相等,相等判定为真,否则为false,并报错string。

8.EditText 处理

用solo.enterText(0,"text"), 有时会发生无法输入string的现象。

 1 EditText fNameInputField = solo.getEditTextWithHint("string")
 2
 3 assertNotNull (“string of error hint”,fNameInputField);
 4
 5 solo.enterText (fNameInputField, "your string")
 6
 7 //getEditTextWithHint的函数定义:
 8
 9  for (EdutText view :getCurrentEditText())
10
11 {
12     CharSequence target=view.getHint();
13
14     Pattern pattern=Pattern.compile(hintRegex);
15
16     Matcher matcher=pattern.matcher(target);
17
18     if (matcher.find())
19
20     {
21         return view;
22     }
23 }
24     

10.View 处理:

ArrayList<View> viewList =getCurrentViews();

index=viewList.indexOf(view);//当前view对应的index

如果要得到其他View  viewList.get(index+othernumber)

11.instrumentation 对key的处理  private instrumentation instru;instru.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK)

solo实例的创建方法 helloinstrumentation=getInstrumentation   solo =new Solo(helloinstrumentation)

12.屏幕上拉至顶

1 ArrayList<Listview> listviews =solo.getCurrentListViews();
2 if (listviews.size()>0)  {
3
4     TouchUtils.scrollToTop(this,getActivity,listviews.get(0));
5 }
6 assertFalse (solo.searchText(subject));

13.点击下拉框

1 ArrayList<Spinner> spinner=solo.getCurrentSpinners();
2 solo.clickOnView(spinners.get(index));
时间: 2024-10-18 15:10:17

Robotium 测试方法的相关文章

基于APK的Robotium登录人人网与发状态

搭建好Robotium的环境,大致就是下载安装jdk并配置环境变量,下载并打开Eclipse,下载安装Android SDK Tools并配置环境变量,下载安装ADT插件,创建并打开Android Virtual Device,下载.apk重签名并安装到该device,手动打开人人网应用没问题后环境就算是准备好了.(我学习Robotium时买了杨志伟编著的<手机测试Robotium实战教程>,我自己也总结了一份学习笔记,考虑到作者出书不易我就不上传了,这本书挺好的.) 一些常用的cmd命令,来

robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re-sign.jar进行签名 注意事项: (1)官网直接搜就行: (2)对Android 4.4.2(API19)的好像签名有问题,从表象看能够签名成功,去程序里run as android junit test的时候就会提示类似这样的Error: Test run failed: Permissio

Robotium自动化测试框架实用教程(图)

一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各种控件进行操作.Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试.另外,Robotium 4.0版本已经支持对WebView的操作.Robotium 对Activity,Dialog,Toast,Menu 都是支持的. 二.相关下载 源码获取:http://code

robotium脚本封装为APK,实现脱离手机数据线,使用按钮点击控制用例运行的小功能

最近一直在完成一些robotium的小功能,用来更方便的完成一些小功能的测试,或者可以说用来娱乐吧,幸得群内大神思路指点,就此引申,终于把这个功能得以实现 ---------------将robotium脚本封装为APK,使用按钮控制用例运行覆盖程度,测试结果以简单的xml文件输入到手机SD卡目录下---------------------- 废话不多说,转正题: 一.首先明确一点,这篇文章,是在你所编写的robotium脚本运行无异常的前提下实施 二.阐明思路: 1.我们需要一个运行良好的,逻

命令行运行Android Robotium自动化用例或单元测试用例

本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动化用例或单元测试用例 1.运行所有的测试用例 举个栗子:运行测试工程下的所有用例 1 adb shell am instrument -w com.taobao.taobao.test/android.test.InstrumentationTestRunner 2.运行单个测试类或某个TestSu

Robotium和Espresso大PK——速度篇

引言 Espresso和Robotium都是android UI自动化测试框架,且都是开源库.Robotium作为早期Android世界里用得最为广泛的测试框架,基于JUnit扩展了大量关于Android UI的有效测试方法. Espresso是一个新工具,相对来说,API更加精确,有助于开发者写出更简洁的针对APP的UI测试代码.Espresso的诞生,最大的优势就在于“快”.Robotium的测试代码中,通常会有大量的Sleep,waitFor,以此来等待控件的加载,否则极有可能失败.而Es

Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键】

本文为转载文章,原文地址为:http://blog.sina.com.cn/s/blog_6abda9bc01015zoc.html Keyword:Android,Robotium,自动化测试,黑盒测试,已知id如何模拟按键 纯属爱好,最近学习了Android及其自动化测试,总算对Android有了个大概的了解. 毕业后就是用的C,从未用过java,并且最近4年几乎没怎么摸过代码,现在学习android还是有点费劲:不过还好,自我觉得理解的很快,别人碰到的问题我都碰到了,很多网上都有答案.其中

【转载】robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re-sign.jar进行签名 注意事项: (1)官网直接搜就行: (2)对Android 4.4.2(API19)的好像签名有问题,从表象看能够签名成功,去程序里run as android junit test的时候就会提示类似这样的Error: Test run failed: Permissio

Robotium 自动化测试

Robotium 自动化测试 一.Setup Android Studio环境下,在所要测试的Module的build.gradle文件下添加, compile 'com.jayway.android.robotium:robotium-solo:5.4.1' 然后Sync下. 二.Start Robotium即是对Instrumentation框架方法的封装,所以使用之前需要继承测试类,重写构造器,setUp()和tearDown()方法. public class SplashActivit