Android自动化测试 Robotium(8)拖拽

发表于:2015-8-24 11:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小毛子    来源:51Testing软件测试网采编

  SeekBar控件
  代码实现:http://luwenjie.blog.51cto.com/925779/933023
  默认显示:【Hello World,MyAndroidActivity】
  操作:
  1. 点击控件(小圆点)
  2. 拖拽到一定位置
  验证:TextView 显示:【<拖动条>完成拖动】
  public void Drag(){
  boolean expected = true;
  solo.clickOnScreen(11, 121);
  solo.drag(11, 121, 80, 80, 3);
  boolean actual = solo.searchText("<拖动条>完成拖动");
  assertEquals("This is not found",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 应该设置的进度位置
public void Drag(){
boolean expected = true;
solo.setProgressBar(0, 65);
//      solo.clickOnScreen(121, 80);
//      solo.drag(11, 121, 80, 80, 3);
boolean actual = solo.searchText("当前<拖动条>值为:65");
assertEquals("This is not found",expected,actual);
}
  注:使用setProgressBar后,依旧保持着按下状态。
  补充第二个API:clickLongOnScreen
  作用:长时间按住屏幕的某坐标点
  Public void clickLongScreen(float x, float y, int time)
  float x : x 坐标
  float y : y 坐标
  int time: 长按时间
Android自动化测试 Robotium(7)Ant构建脚本
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号