• uiautomator学习(3)


    1、记录swipe滑动使用

    向下滑动:

     public void SwipeDown(int X){
    int height = uidevice.getDisplayHeight();
    int width = uidevice.getDisplayWidth();
    int step = 50;
    uidevice.swipe(width/2,height/2,width/2,height/2-X,step);
    }

     uidevice.swipe中有五个参数,分别对应了起点x轴坐标、起点Y轴坐标、终点X轴坐标、终点Y轴坐标,分多少步完成;

    2、记录在手机创建文件夹

    String storePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "loveU";//直接在手机文件根目录下创建loveU的文件
    File appDir = new File(storePath);
    if (!appDir.exists()) {
    Boolean a = appDir.mkdirs();//判断目录创建是否成功
    Log.i(TAG, "createDir: " + a);
    }
    一般情况下都是创建失败,原因如下:

         使用uiautomator1.0的时候我们没有遇到这样的问题(使用Eclipse开发环境)。uiautomator1.0的脚本最后是打包成为了一个可执行的jar文件,我理解这个jar文件凌驾于apk之上,所以可以操作其他apk的任何界面。不过到6.0之后的版本是不是会有权限问题,这个还没有经过验证 。当切换成了Android Studio编译环境,相应的runner也进化配置成为了“AndroidJUnitRunner”,这是我们发现打包后的uiautomator不再是原来的jar而是变成了一个testapk。刚刚提到打包文件夹里面有两个apk,一个是我们的testapk,一个是源程序apk,如果我们不是把测试脚本放在源代码中那么就是个是空的apk,这个空的apk就是测试apk依托的一个假的工程文件。我们把权限写在AndroidManifest.xml 里面就是通过这个依托的apk来简介获得到权限。

    参考:https://blog.csdn.net/hyukfxj35/article/details/78594599

       所以需要在AndroidManifest.xml中加上权限,如下图所示:

      3.获取当前的时间戳

    SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmsss");//设置日期格式
    String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳

    4.保存截图

    File file = new File(storePath, date + ".png");//使用时间戳作为文件名,保存截图到固定路径
    uidevice.takeScreenshot(file, 1.0f, 10);//截图
  • 相关阅读:
    win7下配置pfn

    转(每天淘汰你自己)
    [asp]替换连续多个回车换行
    安装windows组件 提示 无法加载安装安装程序:Wbemupgd.dll
    asp.net三层结构例子
    sql2005下读取字段属性
    discuz数据表结构
    Ajax2.0 'Sys'未定义的解决办法
    .net(c#)读取flash(swf)文件的尺寸
  • 原文地址:https://www.cnblogs.com/lian-lian/p/10122681.html
Copyright © 2020-2023  润新知