Robotium查找指定控件
一、通过ID查找控件
- Activity act=solo.getCurrentActivity();
- int id=act.getResources().getIdentifier("id名称","id", act.getPackageName());//id名称通过界面查看器hierarchyviewer.bat查看
- View view=solo.getView(id);
二、相同ID控件区分
1)通过其他子控件先获取到父控件再获取子控件。
如:RelativieLayout下有两个子控件(TextView和ImageView)可以根据TextView文档内容获取到RelativeLayout控件
RelativeLayout parernt=(RelativeLayout)solo.getText("").getParent();
2)再根据子控件在父控件中的位置确定子控件。
ImeViagew search=(ImageView)parernt.getChildAt(0);
如果是子控件ID与其他父控件中的子控件ID相同,而父控件中的ID不同则可以使用
ImeViagew search=(ImageView)parernt.findViewById(id);来获取控件。
三、ListView控件下拉刷新
- //先得到ListView控件
- ListView listview=solo.getView(id);
- //存储坐标的数组
- int location[]=new int[2];
- //获取listiew的坐标
- listview.getLocationScreen(location);
- //坐标是从左上角开始的如果listview铺满整个界面那么坐标可能接近(0,0)
solo.drag(location[0]+10,location[0]+10,location[1],location[1]+listview.getHeight(),3)
四、WebView测试(Robotium很好的支持了webview)
1)首先要看到webview中网页的源码(网址可以通过webview.getWeburl()来获得)
2)获取webview中网页的标题(webview.getTitle()来获取)
注:webview中的所有方法都需要UI线程中操作,不然会抛出异常。
- solo.getCurrentActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- webViewTitle = webView.getTitle();
- Log.i(Constants.LOG_TAG ,"获取对应webview的Title:" + webViewTitle);
- }
- });
Solo中关于webview的方法有
clearText InWebElement(By by)
clickOnWebElement(By by)
enterTextInWebElement(By by,String text)
waitForWebElement(By by)
从这些方法中可以看出来网页中可以通过By类来标识
而By方法有:
By.className() //了解css的应该知道类选择器
By.cssSelector() //这个直接就是根据css选择器来的
By.id()//控件的id
By.name()//控件的名称
By.tagName()// 标签的名称如<p>.
By.TextContent()//控件中的吻别
By.xpath()
例如:solo.clickOnWebElement(By.className("link-ele"),0);//这个是根据类名来的后面的0是位置源码中用到这个类名的控件太多。
Robotium查找指定控件的更多相关文章
- 转载:Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)
来源于:http://blog.csdn.net/zhubaitian/article/details/39803857 1. 背景 为保持这个系列的一致性,我们继续用SDK自带的NotePad实例应 ...
- Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)
本人之前以前撰文描写叙述Appium和UIAutomator框架是怎样定位Android界面上的控件的. UIAutomator定位Android控件的方法实践和建议 Appium基于安卓的各种Fin ...
- Robotium之Android控件定位实践和建议
本人之前曾经撰文描述Appium和UIAutomator框架是如何定位Android界面上的控件的. UIAutomator定位Android控件的方法实践和建议Appium基于安卓的各种FindEl ...
- appium通过index查找目标控件
2.1 通过判断控件属性获取控件 控件的所有属性都可以用作判断,比如它的text,index,resource-id是否clickable等,例如: 2.1.1 通过文本查找目标控件 1 2 el = ...
- WinForm 批量设置指定控件中的控件状态
在开发中常遇到当点击某个按钮的时候,禁用文本框或按钮的的状态,以防止误操作,下面的代码是我已批量设置指定控件中的按钮状态的代码,同理可以延伸出很多操作. /// <summary> /// ...
- 【转】WPF查找子控件和父控件方法
一.查找某种类型的子控件,并返回一个List集合 public List<T> GetChildObjects<T>(DependencyObject obj, Type ty ...
- WPF查找子控件和父控件方法
一.查找某种类型的子控件,并返回一个List集合 public List<T> GetChildObjects<T>(DependencyObject obj, Type ty ...
- GridView绑定数据与隐藏指定控件(模板列)
1.1. GridView绑定数据 1) 可以配置SqlDataSource数据源,修改select语句生成框架(不想手动绑定) 2) 删除DataSourceID属性和 ...
- 初步探讨WPF的ListView控件(涉及模板、查找子控件)
本文结合模板的应用初步介绍ListView的应用 一.Xaml中如何建立数据资源 大部分数据都会来自于后台代码,如何Xaml同样的建立数据源呢?比如建立一个学生List: 首先引入命名空间: xmln ...
随机推荐
- 把sql server 2000的用户表的所有者改成dbo
怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...
- linux开机启动服务和chkconfig使用方法(自定义服务路径启动)
服务概述在linux操作系统下,经常需要创建一些服务,这些服务被做成shell脚本,这些服务需要在系统启动的时候自动启动,关闭的时候自动关闭.将 需要自动启动的脚本/etc/rc.d/init.d目录 ...
- 90天打造日均在线网站1W+的友情链接平台
导读:三个月过去了,好友张森终于把一款默默无名的软件打造出了日均1W+在线的平台,我认为成功的因素很简单,1,找准了用户群体的痛点;2,肯花精力做运营;3,合理的推广.本文是他的自述,打造一款产品,说 ...
- 《C#高级编程》学习笔记------C#中的事件和委托
本文转载自张子阳 目录 委托的作用 将方法绑定到委托 事件的来由 Observer设计模式 .Net Framework中的委托与事件 引言 委托 和 事件在 .Net Framework中的应用 ...
- 一些LUA函数(转载)
转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...
- Cocos2d 中的Sprite大小调整问题
以前用UIImageView,比如 UIImageView *view = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:@"b ...
- codeforces C1. The Great Julya Calendar 解题报告
题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...
- iOS两个框架之间的类型转换--"桥接"技术
话不多说,直接举例说明吧.场景模拟:需要开发一个通讯录相关功能,实现访问以及添加等等.这时,需要使用的框架是Core Foundation.而此框架使用的是C语言,例如:CFArrayRef,CFSt ...
- [] ubuntu 14.04 搜狗拼音输入法安装
1.需要现在ubuntu下安装fcitx和libssh2-1命令如下 sudo apt-get install fcitx sudo apt-get install libssh2-1 注意最好是先卸 ...
- [SVN(ubuntu)] ubuntu使用svn
转载自:http://lee2013.iteye.com/blog/1058047 SVN作为日常开发中不可缺少的工具,Ubuntu下的SVN安装十分简单,sudo apt-get install s ...