Android(安卓)自动化测试―robotium(八)拖拽
SeekBar控件
代码实现:http://luwenjie.blog.51cto.com/925779/933023
默认显示:【Hello World,MyAndroidActivity】
操作:
1. 点击控件(小圆点)
2. 拖拽到一定位置
验证:TextView 显示:【<拖动条>完成拖动】
- publicvoidDrag(){
- booleanexpected=true;
- solo.clickOnScreen(11,121);
- solo.drag(11,121,80,80,3);
- booleanactual=solo.searchText("<拖动条>完成拖动");
- assertEquals("Thisisnotfound",expected,actual);
- }
clickOnScreen 拥有两个参数
作用:点击屏幕上的某个坐标点
public void clickOnScreen(float x,float y)
x : 屏幕的x坐标
y : 屏幕的y坐标
drag 拥有四个参数
作用:拖拽屏幕从A坐标,到B坐标
public void drag(float fromX, float toX, float fromY, float toY, int stepCount)
from X : 屏幕坐标的初始X坐标
to X : 屏幕坐标拖拽目的地的X坐标
from Y : 屏幕坐标的初始Y坐标
to Y : 屏幕坐标拖拽目的地的Y坐标
stepCount: 完成拖拽需要的步骤数
这个API中用到了一个叫坐标的东西,当然Android 模拟器的坐标是固定的,你可以凭借经验,来得到屏幕坐标位置,但这是不靠谱的...
这里介绍一个工具:monkeyrunner
monkeyrunner 的录制模式可以帮你获取到Android屏幕坐标
关于 monkeyrunner 可以参考:http://luwenjie.blog.51cto.com/925779/925659
这个测试实例主要为了解释drag的作用,实际只需要一步也能够完成测试。我们可以不用拖拽,而直接点击seekbar控件的某个坐标点即可。
补充第一个API:setProgressBar
作用:设置得到的 ProgressBar
进度,例:Seekbar 和 RatinBar
public void setProgressBar(int index, int progress)
int index: ProgressBar
控件定位
int progress: ProgressBar
应该设置的进度位置
- publicvoid Drag(){
- booleanexpected=true;
- solo.setProgressBar(0,65);
- //solo.clickOnScreen(121,80);
- //solo.drag(11,121,80,80,3);
- booleanactual=solo.searchText("当前<拖动条>值为:65");
- assertEquals("Thisisnotfound",expected,actual);
- }
注:使用setProgressBar后,依旧保持着按下状态。
补充第二个API:clickLongOnScreen
作用:长时间按住屏幕的某坐标点
Public void clickLongScreen(float x, float y, int time)
float x : x 坐标
float y : y 坐标
int time: 长按时间
更多相关文章
- 我的Android进阶之旅------>android Matrix图片随意的放大缩小,
- Android(安卓)- GestureDetector.onGestureLister
- android opengl 画球 画圆
- 【翻】Android(安卓)Design Support Library 的 代码实验——几
- android的dip,dp,px,in,mm,pt,sp
- android用户界面之SeekBar教程实例汇总
- Android中补间动画、属性动画效果演示
- android开机自动唤醒屏幕、打开锁屏页并启动app
- android 不同drawable文件对应的dpi值,和所放图片分辨率