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 ...
随机推荐
- Stanford机器学习---第四讲. 神经网络的表示 Neural Networks representation
原文 http://blog.csdn.net/abcjennifer/article/details/7749309 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- C语言课程2——我们交流的工具:Coding.net
各位同学,大家好,在我们本学期既有老师的课堂授课,同样也有我与你们在线的辅导:那么问题来了,我与你们之间是通过何种方式进行交流,比如你的代码我怎么修改,怎样看到修改了哪些地方,我对你们的代码怎样批注, ...
- Truncate table、Delete与Drop table的区别
Truncate table.Delete与Drop table的区别 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNC ...
- Subarray Sum & Maximum Size Subarray Sum Equals K
Subarray Sum Given an integer array, find a subarray where the sum of numbers is zero. Your code sho ...
- iOS NSURLConnection和异步网络请求
在日常应用中,我们往往使用AFNetworking等第三方库来实现网络请求部分.这篇文章会简要地介绍一下如何使用NSURLConnection来进行异步的网络请求. 我们先看一个小demo - (vo ...
- 【USACO】milk3
倒牛奶的问题, 开始看感觉跟倒水的问题很像, 想直接找规律, 写个类似于循环取余的代码. 但后来发现不行,因为这道题有三个桶,水量也是有限制的.只好用模拟的方法把所有的情况都试一遍. 建一个state ...
- 【USACO】clocks 遇到各种问题 最后还是参考别人的思路
//放在USACO上一直通不过 不知道哪里出了问题 输出的n总是等于1 但是BFS递归的次数是对的 <----这个问题解决了 局部变量压入queue中返回就是对的了 #include<io ...
- 组合数(codevs 1631)
1631 组合数 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 组合数C(N, K)表示 ...
- jQuery过滤选择器
//基本过滤器$('li:first').css('background','#ccc');//第一个元素$('li:last').css('background','red');//最后一个元素$( ...
- linux常见问题集锦-2
http://zhangge.net/1986.html 在此感谢作者分享 1.linux如何挂在windows下的共享目录 Shell 1 mount.cifs //192.168.1.3/serv ...