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

本文来源于: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: 长按时间

时间: 2024-10-30 15:53:04

Android 自动化测试—robotium(八) 拖拽的相关文章

android ListView和GridView拖拽移位实现代码

关于ListView拖拽移动位置,想必大家并不陌生,比较不错的软件都用到如此功能了.如:搜狐,网易,百度等,但是相比来说还是百度的用户体验较好,不偏心了,下面看几个示例:             首先说一下:拖拽ListView的item就不应该可以任意移动,只应该在ListView所在的范围内,而网易的你看看我都可以移动到状态栏了,虽然你做了处理,但是用户体验我个人感觉不好,在看看百度的,不仅控制了移动范围,更不错的百度的移动起来会时时的换位,看起来相当的形象,所以我认为这样相当的棒.说明一点

android ListView和GridView拖拽移位具体实现及拓展

关于ListView拖拽移动位置,想必大家并不陌生,比较不错的软件都用到如此功能了.如:搜狐,网易,百度等,但是相比来说还是百度的用户体验较好,不偏心了,下面看几个示例:              首先说一下:拖拽ListView的item就不应该可以任意移动,只应该在 ListView所在的范围内,而网易的你看看我都可以移动到状态栏了,虽然你做了处理,但是用户体验我个人感觉不好,在看看百度的,不仅控制了移动范 围,更不错的百度的移动起来会时时的换位,看起来相当的形象,所以我认为这样相当的棒.

android第二十三步拖拽与缩放

package com.example.dragscale; import android.os.Bundle; import android.app.Activity; import android.graphics.Matrix; import android.graphics.PointF; import android.util.FloatMath; import android.view.Menu; import android.view.MotionEvent; import and

Android drawPath实现QQ拖拽泡泡

这两天学习了使用Path绘制贝塞尔曲线相关,然后自己动手做了一个类似QQ未读消息可拖拽的小气泡,效果图如下: 接下来一步一步的实现整个过程. 基本原理 其实就是使用Path绘制三点的二次方贝塞尔曲线来完成那个妖娆的曲线的.然后根据触摸点不断绘制对应的圆形,根据距离的改变改变原始固定圆形的半径大小.最后就是松手后返回或者爆裂的实现. Path介绍: 顾名思义,就是一个路径的意思,Path里面有很多的方法,本次设计主要用到的相关方法有 moveTo() 移动Path到一个指定的点 quadTo()

android 实现图片选择拖拽控件

1.使用RecyclerView 使用RecyclerView可以轻松实现图片切换时的动画过程,这点要好于GridView. 2. 拖拽的实现 Dragmanager 继承View.OnDragListener,对拖拽过程中进行操作, Action_drag_started 获取到操作的Item Action_Drag_location 根据每个停留的位置判断是否交换item的位置. Action_Drag_ended 跟新位置 DragSortAdapter 抽象类,为recyclerView

Android 自动化测试—robotium(九) Junit_report测试报告重定向输出到终端SDCard

借鉴网上相关资料主要用于无root权限的终端.主要分为以下三步: 一.重写InstrumentationTestRunner类: package com.exmaple.test; import android.os.Bundle; import android.os.Environment; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; imp

Android 自动化测试—robotium(七) 使用Junit_report测试报告

使用Robotium进行测试的时候,要想可以导出明了的测试结果,可以使用junitreport来实现 junit-report下载地址:https://github.com/jsankey/android-junit-report 1.建立一个Android的测试工程,导入Robotium包,并建立好测试用例; 2.右键测试工程 → Properties → java build path → Libraries, 点击Add External JARs; 选择android-junit-rep

Android自动化测试 - Robotium之re-sign.jar重签名后安装失败提示Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]解决方案

问题:在用re-sign.jar重签名apk文件后,显示重签名成功,但在实际安装过程中确提示:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 原因:网上查找了下是重签名时出错了. 解决方法:使用命令行重签名,如: 1.生成重签名文件debug.store D:\>keytool -genkey -keyalg RSA -keystore debug.store -alias debug -keysize 2048 -validity 365 2.关联

Android图片的拖拽与缩放

Android图片的拖拽与缩放 2014年5月9日 我们在使用应用当中经常需要浏览图片,比如在微信当中,点击图片之后可以对图片进行缩放. 本博客介绍如何对图片进行拖拽和缩放,这首先要了解Android中的触摸机制了,在屏幕中有手指按下.手指抬起.手指移动还有多个手指触摸的动作.我们要实现对图片的拖拽和缩放就是要基于这些动作来进行逻辑处理. 图片的拖拽主要是计算手指开始的位置与当前手指的位置关系,来进行平移的,具体可以看代码. 图片的缩放就涉及到计算两点之间的距离来得到缩放比,调用矩阵方法来达到缩