我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android自动化测试中实现长按并拖动

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android自动化测试中实现长按并拖动

  Android应用自动化过程中,会遇见需要长按并拖动的场景,例如类似UC浏览器中,长按某个导航中的图标,使其处于可移动状态,然后再将其移动到另一个地方,与其它导航图标换个位置,在robotium中有个drag(float fromX, float toX, float fromY, float toY,int stepCount)方法,但由于drag没有长按这个步骤,因此不能使应用处于可移动的状态,是没法完成这样的常见而简单的操作的。

  drag方法源码实现如下:

 public void drag(float fromX, float toX, float fromY, float toY,    int stepCount) {   long downTime = SystemClock.uptimeMillis();   long eventTime = SystemClock.uptimeMillis();   float y = fromY;   float x = fromX;   float yStep = (toY - fromY) / stepCount;   float xStep = (toX - fromX) / stepCount;   MotionEvent event = MotionEvent.obtain(downTime, eventTime,MotionEvent.ACTION_DOWN, fromX, fromY, 0);   try {    inst.sendPointerSync(event);   } catch (SecurityException ignored) {}   for (int i = 0; i < stepCount; ++i) {    y += yStep;    x += xStep;    eventTime = SystemClock.uptimeMillis();    event = MotionEvent.obtain(downTime, eventTime,MotionEvent.ACTION_MOVE, x, y, 0);    try {     inst.sendPointerSync(event);    } catch (SecurityException ignored) {}   }   eventTime = SystemClock.uptimeMillis();   event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP,toX, toY, 0);   try {    inst.sendPointerSync(event);   } catch (SecurityException ignored) {}  }

  可以看出其实是通过MotionEvent的ACTION_DOWN模拟屏幕按下操作,ACTION_MOVE模拟手势在屏幕上滑动,ACTION_UP模拟手势离开屏幕,从而完成整个拖动过程,而且其实robotium中的各种点击类方法也都是通过模拟不同的手势完成的。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android自动化测试中实现长按并拖动

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android自动化测试中实现长按并拖动

Android应用自动化过程中,会遇见需要长按并拖动的场景,例如类似UC浏览器中,长按某个导航中的图标,使其处于可移动状态,然后再将其移动到另一个地方,与其它导航图标换个位置,在robotium中有个drag(float fromX, fl
2022-06-06

用Monkeyrunner实现Android的自动化测试

  近由于公司在组织一个Free CoDE的项目,也是由大家自己选择研究方向来做一些自己感兴趣的研究。由于之前我学过一点点关于android的东西,并且目前android开发方兴未艾如火如荼,但自动化测试还基本上属于新兴领域,接触的人并不
2022-06-06

Android自定义View实现拖动选择按钮

本文为大家分享了Android实现拖动选择按钮的具体代码,供大家参考,具体内容如下 效果图View代码 第一步:自定义属性
2022-06-06

Android UI自动化测试佳实践

一、概述Android系统测试和Web的测试类似,有两类自动化的方式:录制回放与手动开发自动化case。由于录制回放在长期维护与代码重用方面存在问题,这里主要的方式还是采用手动开发自动化case来进行。在Web自动化测试中有一个比较好的实践
2022-06-06

python实现hive自动化测试

本程序主要实现hive权限测试。系统中有管理员用户single和测试用户test。在路径/home/test/下,将用例和预期结果写在xml文件中。        执行过程:kinit single用户,beeline -u -e登录并执行
2023-01-31

Jenkins中怎么实现自动化测试

Jenkins是一个持续集成工具,可以通过配置自动化测试任务来实现自动化测试。以下是在Jenkins中实现自动化测试的一般步骤:创建一个新的Jenkins任务:在Jenkins的主界面点击“新建任务”,选择“构建一个自由风格的软件项目”或者
Jenkins中怎么实现自动化测试
2024-03-05

UIAutomation自动化测试怎么实现

UIAutomation是一种自动化测试工具,它可以通过模拟用户操作来进行界面的自动化测试。实现UIAutomation自动化测试的步骤如下:1. 确定测试目标:首先需要明确要测试的界面和功能,确定测试的目标。2. 编写测试用例:根据测试目
2023-08-20

Python怎么实现自动化测试

本篇文章为大家展示了Python怎么实现自动化测试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码
2023-06-14

C++技术中的调试:实现自动化测试驱动的调试

atdd 是一种强大的调试技术,通过自动化测试用例来识别缺陷并解决问题。在 c++++ 中,可以使用 gtest、catch2 和 boost.test 等测试框架来实现 atdd。这些测试用例验证代码的正确性并确定问题的根源。通过 atd
C++技术中的调试:实现自动化测试驱动的调试
2024-05-08

如何在PHP项目中实现自动化测试?

如何在PHP项目中实现自动化测试导语:自动化测试在软件开发过程中扮演着重要的角色,可以帮助开发团队更好地保证代码质量和稳定性。在PHP项目中,如何实现自动化测试?本文将介绍一些常用的工具和方法,帮助读者了解如何在PHP项目中进行自动化测试。
如何在PHP项目中实现自动化测试?
2023-11-04

Selenium自动化测试实现窗口切换

这篇文章主要介绍了Selenium自动化测试实现窗口切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-19

Android实现GridView中的item自由拖动效果

之前的工作中,需要实现一个功能就是GridView中的item可以自由拖动, 思考了一下,其实实现起来不是很困难,主要工作就是交换节点,以及拖动时的移动效果,下面讲讲具体的实现: 首先声明一个BaseAdapter:package com.
2022-06-06

Android实现跟随手指拖动并自动贴边的View样式(实例demo)

效果图代码 public class DragView extends ImageView implements View.OnTouchListener{private int sc
2022-06-06

Android自动测试工具Monkey的实现方法

1. Android Monkey 实现操作流程: 准备:在eclipse里安装Phyon插件,可以选择在线安装,也可以下载zip解压后放在eclipse安装目录的dropins下,如 : /personal/software/androi
2022-06-06

python+pytest自动化测试封装怎么实现

本篇内容介绍了“python+pytest自动化测试封装怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!例如单个接口的请求代码如下:i
2023-07-02

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录