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的现象。
EditText fNameInputField = solo.getEditTextWithHint("string")
assertNotNull (“string of error hint”,fNameInputField);
solo.enterText (fNameInputField, "your string")
//getEditTextWithHint的函数定义:
for (EdutText view :getCurrentEditText())
{
CharSequence target=view.getHint();
Pattern pattern=Pattern.compile(hintRegex);
Matcher matcher=pattern.matcher(target);
if (matcher.find())
{
return view;
}
}
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.屏幕上拉至顶
ArrayList<Listview> listviews =solo.getCurrentListViews();
if (listviews.size()>0) { TouchUtils.scrollToTop(this,getActivity,listviews.get(0));
}
assertFalse (solo.searchText(subject));
13.点击下拉框
ArrayList<Spinner> spinner=solo.getCurrentSpinners();
solo.clickOnView(spinners.get(index));
Robotium 测试方法的更多相关文章
- Robotium自动化测试框架实用教程(图)
一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各 ...
- 基于APK的Robotium登录人人网与发状态
搭建好Robotium的环境,大致就是下载安装jdk并配置环境变量,下载并打开Eclipse,下载安装Android SDK Tools并配置环境变量,下载安装ADT插件,创建并打开Android V ...
- Robotium 系列(2) - 简单介绍Monkey和MonkeyRunner
除了Robotium,Android还有其他的自动化测试方法,比如Monkey和MonkeyRunner. 这里就做一个简单的介绍和使用方法. 本文提纲: 1. Android SDK以及SDK中的工 ...
- Robotium学习笔记二
一. 控制测试用例的执行顺序 采用TestSuit方式来控制每条Case的运行顺序 Demo如下 public static Test suite() { TestSuite suite = new ...
- 解决Robotium测试用例crash问题
今天遇到一个棘手的问题 用robotium框架真机测试客户端时 跑到一半会crash 搜了一堆资料终于解决了 我的程序引起crash主要原因有两个: 1.用Robotium测试框架跑多个用例(写在同一 ...
- robotium测试
作者:贺锐链接:https://www.zhihu.com/question/28466134/answer/40921012来源:知乎著作权归作者所有,转载请联系作者获得授权. 直接用自己的手机上就 ...
- 命令行运行Android Robotium自动化用例或单元测试用例
本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动 ...
- robotium—只有apk文件的测试
把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re ...
- robotium学习及整理
一. Robotium 简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手 ...
随机推荐
- string和stringstream用法总结
参考:http://blog.csdn.net/xw20084898/article/details/21939811
- 暑假热身 E. 无聊的LSY
LSY大牛没事就爱玩游戏,包括很多很无聊的游戏.某日,LSY大牛又找到了一个无聊的游戏:每一局游戏的开始,LSY大牛将代表自己的棋子放在一个线性棋盘的最左端(第0个格子,可以认为向右端无限延伸),接着 ...
- c++ const总结
[本文链接] http://www.cnblogs.com/hellogiser/p/cplusplus-const-summay.html 看到const 关键字,C++程序员首先想到的可能是con ...
- 【转】如何调试bash脚本
本文转自:http://coolshell.cn/articles/1379.html Bash 是Linux操作系统的默认Shell脚本.Shell是用来处理操作系统和用户交互的一个程序.Shell ...
- iOS tableView 选中某个cell时 标准的处理方法
以前选中cell时,常常判断选中的行数,但是当cell的顺序发生变化时,就要改动处理函数,特别是行数比较多的时候,很麻烦. 之后运用cell的title的内容判断,但是这种判断与现实的内容密切相关,如 ...
- Linux卸载系统自带的JDK
安装Linux后,一般系统都会自带openjdk,我们开发中都需要自己安装,所以需要卸载之前的,以CentOS为例,卸载方法如下: 首先执行命令查看存在哪些已安装的包 rpm -qa | grep j ...
- codeforces C. Arithmetic Progression 解题报告
题目链接:http://codeforces.com/problemset/problem/382/C 题目意思:给定一个序列,问是否可以通过只插入一个数来使得整个序列成为等差数列,求出总共有多少可能 ...
- 项目总结(二)--- CocoaPods的简单介绍与使用
先谈下,我们为什么要使用CocoaPods,它能为我们做什么吧. 所有开发过iOS应用的小伙伴们都知道,在整个项目中,第三方库的引用必不可少(特别感谢那些优秀第三方开源库的作者,给我们提供了多大的便捷 ...
- sublime text3侧边栏主题不生效问题解决
sublime text3主题插件: Seti_UI 插件安装: 在线安装:需要FQ window: ctrl+shift+p 找install package:之后搜索 Seti_UI 安装完成后需 ...
- jQuery过滤选择器
//基本过滤器$('li:first').css('background','#ccc');//第一个元素$('li:last').css('background','red');//最后一个元素$( ...