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 ...
随机推荐
- [BZOJ3624][Apio2008]免费道路
[BZOJ3624][Apio2008]免费道路 试题描述 输入 输出 输入示例 输出示例 数据规模及约定 见“输入”. 题解 第一步,先尽量加入 c = 1 的边,若未形成一个连通块,则得到必须加入 ...
- 将linux用在开发环境中
我是如何将linux用在开发环境中的 1.为什么不直接安装Linux在主机 一直想深入学习一下linux的使用,于是将家里的笔记本装了linux系统,但是要将自己的系统打造一个适合开发的环境确实是一件 ...
- CSS clearfix
The problem happens when a floated element is within a container box, that element does not automati ...
- ubuntu创建文件夹快捷方式命令
sudo ln -sT /path/to/source/directory /path/to/destination/directory 注意路径一定要用 绝对路径 例: /site-package ...
- 《ASP.NET1200例》未能找到元数据文件解决办法
今天在做一个项目的时候,遇到这样的一个问题,我用的是三层结构的.未能找到元数据文件“D:\SYSTEM\桌面\MyExam\MyExam\MyExamBLL\bin\Debug\BLL.dl ...
- iOS CoreData 的级联删除等操作
关于CoreData 的基本操作在网上有一些中文资料,但是这些资料大多没有涉及CoreData的详细操作,只是简单的演示了最基本用法.像级联删除这种最基本的数据库操作都没有提到.今天在网上看到了一些英 ...
- VC++遇到的错误汇集
1.在程序头添加#include "stdafx.h" 和#include <afx.h>时会出现以下错误 在Win32Project下使用,出现“error C118 ...
- C#模拟百度登录
目录: 1.fiddler解析百度登录地址 2.处理传入参数 1.fiddler解析百度登录地址 因工作需要,所以研究了下百度的登陆.首先打开https://passport.baidu.com/v2 ...
- 好玩儿的expect
前言 1> 借鉴里面的应用思想,使用断言提高代码的健壮性及维护性 2> 实现方式——不采用直接嵌入expect的方式,统一进行重写(提取常用断言方法,重新构造API) 官网介绍 https ...
- Duilib非官方更新贴~
GitHub: https://github.com/movsb/duilib.git 2014-07-20: [76a04d1] [BugFix] 修复无法解析类似<Control/&g ...