已知控件的id,在Robotium中如何模拟按键
2014-10-23 10:36
225 查看
http://blog.sina.com.cn/s/blog_6abda9bc01015zoc.html
1. 根据button上面的文字。这个很简单,直接solo.clickOnButton("Multiply");即可。
2. 根据控件的坐标。hierarchyviewer是可以查看每个点的坐标的。但是使用起来不是很直观,尤其是对不同分辨率屏幕的手机时,使用起来可能还存在兼容性问题。
如果控件上没有文字,clickOnButton就用不了,例如很多应用用图片作为button的说明,clickOnButton就不奏效。用坐标又很麻烦不直观。可否用控件的id呢?
怎么用id,我也纠缠这个问题好几天,网上中文资料搜不到,搜英文,英文搜不到换关键字搜,始终找不到一个比较完整的使用说明。我只好自己一个个命令的试,搞了2天总算找到一个方法,这个方法对于java高手可能不值一提,但对我从未用过java的人来说,确实费了不少周折。
我的方法如下,先获取到控件的view:
solo.getCurrentActivity().getResources().getIdentifier,
然后再用solo.clickOnView即可。
我在使用的时候,简单的封装了下,封装函数如下:
例如已知某个控件的id(字符串格式)为"btn_dialpad_5",调用方法如下:
clickCtrlById("btn_dialpad_5",400);
1. 根据button上面的文字。这个很简单,直接solo.clickOnButton("Multiply");即可。
2. 根据控件的坐标。hierarchyviewer是可以查看每个点的坐标的。但是使用起来不是很直观,尤其是对不同分辨率屏幕的手机时,使用起来可能还存在兼容性问题。
如果控件上没有文字,clickOnButton就用不了,例如很多应用用图片作为button的说明,clickOnButton就不奏效。用坐标又很麻烦不直观。可否用控件的id呢?
怎么用id,我也纠缠这个问题好几天,网上中文资料搜不到,搜英文,英文搜不到换关键字搜,始终找不到一个比较完整的使用说明。我只好自己一个个命令的试,搞了2天总算找到一个方法,这个方法对于java高手可能不值一提,但对我从未用过java的人来说,确实费了不少周折。
我的方法如下,先获取到控件的view:
solo.getCurrentActivity().getResources().getIdentifier,
然后再用solo.clickOnView即可。
我在使用的时候,简单的封装了下,封装函数如下:
private int clickCtrlById(String s, int t ){ intctrl; View v; if( s == ""){ return -1; } ctrl = solo.getCurrentActivity().getResources().getIdentifier(s,"id",TARGET_PACKAGE_ID); v = solo.getView(ctrl); solo.clickOnView(v); solo.sleep(t); return 0; }
例如已知某个控件的id(字符串格式)为"btn_dialpad_5",调用方法如下:
clickCtrlById("btn_dialpad_5",400);
相关文章推荐
- Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键】
- 如何通过想窗口控件发消息模拟点击按键
- Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键】
- Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键】
- 用户控件中如何用javascript获得页面上的元素ID(CSDN朋友帮助解决的)
- 用ENTER键切换控件焦点,并模拟按键
- 除夕晚的一帖:如何为repeater内部控件设置javascript,如何取得它们的客户端ID。
- VC中如何获取鼠标点击处控件的ID
- Visual Basic 2005 - 如何于控件中捕捉按键
- 如何在程序中模拟键盘的按键事件?
- linux下如何模拟按键输入和模拟鼠标?
- VC如何模拟按键并释放?
- vs2010对多层容器下的控件的id是如何解析的
- linux下如何模拟按键输入和模拟鼠标
- [原创] 如何通过自定义MessageFilter的方式利用按键方式操作控件滚动条[附源代码]
- 如何模拟按键
- master模板页中如何取得控件客户端ID
- 如何得到 引起onclick事件的控件(这里是checkbox)的id,name等属性
- linux下如何模拟按键输入和模拟鼠标?
- 动态给已知ID的控件中的控件赋值