`
sugar_wang
  • 浏览: 11658 次
  • 性别: Icon_minigender_2
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

android uiautomator 截取图片

阅读更多

uiautomator是android自动化测试工具。

在工作中遇到需要将头像获取出来,涉及到使用uiautomator得到我们要截取图像的坐标,根据坐标将图像截取出并保存为bitmap。需要注意的是 在截图和使用bitmap对截图进行操作时 会出现内存溢出OOM的错误,需要在android的AndroidManifest.xml中添加

android:largeHeap="true" 

也就是说给手机分配更大的堆

  public static void cutImage(Rect rect, String filePath) {
        BitmapFactory.Options bfOptions = new BitmapFactory.Options();
        bfOptions.inDither = false;
        bfOptions.inTempStorage = new byte[12 * 1024];
        bfOptions.inJustDecodeBounds = true;
        Bitmap m = BitmapFactory.decodeFile(filePath);
        m = m.createBitmap(m, rect.left, rect.top, rect.width(), rect.height());//获取头像

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        m.compress(Bitmap.CompressFormat.JPEG, 90, bos);//压缩图片
        byte[] data = bos.toByteArray();//转换成字节
        String img=new String(Base64.encodeToString(data,Base64.DEFAULT));//base64编码

        //保存图片到sdcard
        saveImage(m, "cutImage");
    }

    public static void saveImage(Bitmap bitmap, String name) {
        FileOutputStream out = null;
        try {
            out = new FileOutputStream("/storage/emulated/0/Pictures/" + name + ".jpg");
            if (out != null) {
                bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
                out.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void getImage(UiDevice device,String objectResourceId) {
        UiObject uiObject = CommonUtils.findByResourceId(objectResourceId, device);
        try {
            Rect rect = uiObject.getBounds();
            String path = "/storage/emulated/0/Pictures/screenshot.png";
            File file = new File(path);
            device.takeScreenshot(file);
            cutImage(rect, path);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

分享到:
评论

相关推荐

    Android UIAutomator自动化测试

    在Android开发领域,UIAutomator是一款强大的自动化测试框架,它主要用来进行用户界面的UI测试。这个框架允许开发者编写测试脚本来验证应用的UI组件的行为和功能,确保应用在不同设备和Android版本上的表现一致性。...

    Android uiautomator自动化API简介

    Android uiautomator自动化API简介 Android uiautomator是Android自动化测试的重要工具之一,它提供了一系列的API来实现自动化测试。本文主要介绍Android uiautomator的主要API,并结合实例和具体介绍。 一、...

    基于Python的Android Uiautomator2自动化测试设计源码

    本项目为Android Uiautomator2自动化测试的Python实现,源码包含104个文件,涵盖49个Python脚本、12个Markdown文档、9个PNG图片、4个文本文件、3个YAML配置、3个RestructuredText文件、2个HTML文件、2个Shell脚本、2...

    Android uiautomator测试源代码

    在Android开发领域,UIAutomator是一个强大的自动化测试框架,它被设计用来进行UI层面的测试,尤其是对于系统应用以及第三方应用。这篇文档包含了Android UIAutomator的源代码,旨在帮助开发者深入理解其工作原理和...

    Android UiAutomator 自动化测试

    Android UIAutomator自动化测试是一种强大的工具,用于在Android平台上进行UI层面的自动化测试。它主要适用于Android 4.1及更高版本,但不支持Hybrid App和WebApp的测试。UIAutomator是基于Java的,这使得测试代码...

    uiautomator2,android uiautomator2 python包装器.zip

    **UIAutomator2** 是Android平台上自动化测试的一种重要工具,它是Google官方提供的UI测试框架的升级版,主要用于进行UI层面的自动化操作。UIAutomator2是基于Java语言的,但在这个压缩包中,我们看到的是一个Python...

    Android-基于UiAutomator框架自动模拟用户手势操作类似于触摸精灵按键精灵

    在Android平台上,自动化测试和应用自动化操作是开发者和测试工程师常用的技术手段,其中UiAutomator框架扮演了重要的角色。这个框架允许我们编写测试脚本来模拟用户的手势操作,实现对应用程序UI元素的精确控制,...

    Android开发—Android测试9—Android UiAutomator Configurator API 详细介绍视频教程下载(3课程).txt

    ### Android UiAutomator Configurator API 详细介绍 #### 一、Configurator 类介绍 在 Android 测试领域中,UiAutomator 是一个非常强大的自动化测试框架,它允许开发者编写针对 Android 设备用户界面(UI)的测试...

    android框选图片中的一部分并截取

    在Android平台上,框选图片中的一部分并截取是一项常见的需求,比如在应用中实现自定义截图功能、编辑图片或者在图像处理中选择特定区域。这个功能涉及到多个Android SDK中的类和方法,包括图像处理、视图操作以及...

    uiautomator android21以下启动apk

    在Android自动化测试领域,UIAutomator是一个非常重要的工具,它允许开发者对用户界面进行黑盒测试,无需了解应用内部的工作机制。然而,随着Android系统的更新,不同版本的API可能存在一些差异,这使得在某些特定...

    android-uiautomator-jsonrpcserver 最新代码

    android-uiautomator-jsonrpcserver 最新代码android-uiautomator-jsonrpcserver 最新代码android-uiautomator-jsonrpcserver 最新代码android-uiautomator-jsonrpcserver 最新代码android-uiautomator-...

    android-uiautomator-源码

    Android UIAutomator是Android系统提供的一种自动化测试框架,主要用于UI组件的交互和验证。它允许开发者编写测试脚本来模拟用户对应用程序的操作,如点击、滑动、输入等,以检查应用的功能是否正常。源码分析有助于...

    UiAutomator

    【UiAutomator】是Android平台上的一种自动化测试框架,主要用于UI层面的自动化测试。它是由Google提供的,集成在Android SDK中,允许开发者对Android设备或模拟器上的可见UI元素进行访问和操作,以此来实现应用程序...

    Android Uiautomator2 Python 包装器.zip

    但是最近工作速度需要又重新研究一下Android自动化自动化,当然又调研了Appium,对比下来看看,发现uiautomator2这个项目的运行是真的好快,从检测元素到点击,都是几十级的,代码也比较好理解。真是没想到以前竟然...

    appium-uiautomator2-driver:适用于Android UIAutomator2的Appium驱动程序

    Appium UiAutomator2驱动程序是针对Android设备的测试自动化框架。 Appium UiAutomator2驱动程序可自动运行本机,混合和移动Web应用程序,这些应用程序已在模拟器和真实设备上进行了测试。 Appium UiAutomator2驱动...

    Android Face人脸识别检测,圆形相机预览框,截取图片(宽高自定义),圆形图片显示

    在Android平台上,开发一款应用实现人脸识别、圆形相机预览框、自定义截取图片尺寸以及圆形图片显示,涉及到了多个核心技术和组件。以下是对这些关键知识点的详细解释: 1. **Android人脸识别(Face Detection)**...

    Android代码-uiautomator

    This module is a Python wrapper of Android uiautomator testing framework. It works on Android 4.1 simply with Android device attached via adb, no need to install anything on Android device. from ...

    Uiautomator源码

    Uiautomator是Android平台上的一个自动化测试框架,它为开发者和测试人员提供了一种高效、灵活的方式来自动化UI测试。这个框架允许测试代码通过设备上的UI组件进行交互,例如点击按钮、输入文本或者滑动屏幕等。...

    应用启动uiautomator并执行

    在Android平台上,UIAutomator是Google提供的一种强大的自动化测试框架,特别适用于进行UI层面的测试。这个框架允许开发者编写测试脚本来模拟用户交互,检查应用的行为,并验证UI元素的功能。在"应用启动uiautomator...

Global site tag (gtag.js) - Google Analytics