ITPub博客

首页 > 数据库 > 数据库开发技术 > android UiAutomator长按实现控制按住控件时间的方法

android UiAutomator长按实现控制按住控件时间的方法

原创 数据库开发技术 作者:FunTester 时间:2019-09-02 09:43:16 0 删除 编辑

本人在使用UiAutomator做测试的时候,遇到一些控件需要长按一会儿,比如录音功能,需要按住几秒,官方api不太好用,所以自己写了一个长按的方法。分享如下,供大家参考。

    /*
    * 根据resourceid获取控件并长按
    * /
    public void longclickUiObectByResourceId(String id) throws UiObjectNotFoundException {
        int x = getUiObjectByResourceId(id).getBounds().centerX();
        int y = getUiObjectByResourceId(id).getBounds().centerY();
        UiDevice.getInstance().swipe(x, y, x, y, 300);//最后一个参数单位是5ms
    }
     /*
    * 根据文本获取控件并长按
    * /
    public void longclickUiObectByText(String text) throws UiObjectNotFoundException {
        int x = getUiObjectByText(text).getBounds().centerX();
        int y = getUiObjectByText(text).getBounds().centerY();
        UiDevice.getInstance().swipe(x, y, x, y, 300);//最后一个参数单位是5ms
    }
     /*
    * 根据坐标并长按
    * /
        public void longclickUiObectByText(int x, int y) throws UiObjectNotFoundException {
        UiDevice.getInstance().swipe(x, y, x, y, 300);//最后一个参数单位是5ms
    }

文章写作时间较早了,UiAutomator1基础的API进行封装的,还可以封装几个根据classname、index、或者description都可以,这里就不一一写了,最重要的最后一个,不常用但是很有用,根据坐标点进行长按。还有一个根据坐标的数组进行轨迹的描绘,请参考android uiautomator一个画心形图案的方法--代码的浪漫

往期文章精选

  1. java一行代码打印心形

  2. Linux性能监控软件netdata中文汉化版

  3. 接口测试代码覆盖率(jacoco)方案分享

  4. 性能测试框架

  5. 如何在Linux命令行界面愉快进行性能测试

  6. 图解HTTP脑图

  7. 写给所有人的编程思维

  8. 如何测试概率型业务接口

  9. httpclient处理多用户同时在线

  10. 成为杰出Java开发人员的10个步骤

  11. 将swagger文档自动变成测试代码

公众号地图 ☢️ 一起来~FunTester


原文作者:FunTester;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-07

  • 博文量
    1037
  • 访问量
    420672