码迷,mamicode.com
首页 > 移动开发 > 详细

Android 自动化测试—robotium(八) 拖拽

时间:2014-12-31 12:51:53      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

本文来源于:http://xiaomaozi.blog.51cto.com/925779/933056

 

SeekBar控件

代码实现:http://luwenjie.blog.51cto.com/925779/933023

技术分享

 

默认显示:【Hello World,MyAndroidActivity】

操作:

1. 点击控件(小圆点)

2. 拖拽到一定位置

验证:TextView 显示:【<拖动条>完成拖动】

技术分享

 

1 public void Drag(){ 
2     boolean expected = true;
3     solo.clickOnScreen(11, 121);
4     solo.drag(11, 121, 80, 80, 3); 
5     boolean actual = solo.searchText("<拖动条>完成拖动"); 
6     assertEquals("This is not found",expected,actual); 
7 } 

 

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 应该设置的进度位置

1 public void Drag(){ 
2     boolean expected = true; 
3     solo.setProgressBar(0, 65); 
4     //      solo.clickOnScreen(121, 80);     
5     //      solo.drag(11, 121, 80, 80, 3); 
6     boolean actual = solo.searchText("当前<拖动条>值为:65"); 
7     assertEquals("This is not found",expected,actual); 
8 } 

 

注:使用setProgressBar后,依旧保持着按下状态。

技术分享

 

补充第二个API:clickLongOnScreen

作用:长时间按住屏幕的某坐标点

Public void clickLongScreen(float x, float y, int time)

float x : x 坐标

float y : y 坐标

int time: 长按时间

Android 自动化测试—robotium(八) 拖拽

标签:

原文地址:http://www.cnblogs.com/dtest/p/4195353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!