Android app专项测试之耗电量测试

2023-11-08

 前言

耗电量指标

待机时间成关注目标

提升用户体验

通过不同的测试场景,找出app高耗电的场景并解决

01、需要的环境准备

1、python2.7(必须是2.7,3.X版本是不支持的)
2、golang语言的开发环境
3、Android SDK
此三个的环境搭建这里就不详细说了,自行在网上找资料吧

02、battery-historian服务搭建

1、克隆安装包

git clone https://github.com/google/battery-historian.git

2、下载battery-historian的代码和依赖
go get -d -u github.com/google/battery-historian/…

3、修改setup.go文件的参数
closureCompilerVersion = “20170409”
值修改为
closureCompilerVersion = “20190513”
因为版本不一样,编译会失败,所以升级到稳定版本

4、切换到setup.go所在的目录,进行编译

go run setup.go

在这里插入图片描述

5、启动battery-historian服务
go run cmd/battery-historian/battery-historian.go在这里插入图片描述 

6、验证是否安装成功http://localhost:9999/,出现如下,则ok在这里插入图片描述 

03、进行耗电量数据收集

1、清理耗电量数据

adb kill-server

adb start-server

adb shell dumpsys batterystats --reset

adb shell dumpsys batterystats --enable full-wake-history

2、运行测试用例/手工操作
使用monkey或appium来操作想要被测试的Android应用,最好就持续几个钟,效果才比较明显,这里具体就不展开详细说明了

3、收集数据
Android 7.0以上版本使用的命令 :adb bugreport bugreport.zipAndroid 6.0 或以下使用的命令:adb bugreport > bugreport.txt在这里插入图片描述
在这里插入图片描述

04、上传数据,进行数据分析

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android app专项测试之耗电量测试 的相关文章

  • 不可变位图崩溃错误

    java lang IllegalStateException Immutable bitmap passed to Canvas constructor at android graphics Canvas
  • 保存用户可以访问的 Flutter Android 应用程序中的文本文件

    我在 Flutter 中开发的 Android 应用程序的用户应该能够将一些数据保存 导出 到文本文件中 用户应该能够使用其他应用程序 包括文件管理器 在其 Android 设备上找到并访问此文件 我想 final directory aw
  • Espresso - 检查使用按钮按下意图打开哪个活动?

    是否可以跟踪按下某个按钮后打开了哪个 Activity 我有一个测试 其中当单击 按下按钮时 it 向服务器发送请求 直到发送请求时 它打开一个活动 验证是否执行成功在测试中 我需要检查打开的 Activity 是什么 我的测试示例 检查
  • android - EditText 打字速度很慢

    我的 EditText 在打字时响应速度很慢 这种滞后现象足以让我找到解决方案 我做了一些研究 发现了一个 SO 线程输入文本时 EditText 滞后 https stackoverflow com questions 6173591 a
  • 合并两个位图图像(并排)

    任何人都可以帮助将两个位图图像合并为单个位图 在android中 并排 谢谢 尤瓦拉吉 您可以使用Canvas 查看这篇文章 http www jondev net articles Combining 2 Images in Androi
  • ImageView 中的全尺寸图像

    我正在尝试在 ImageView 中绘制图像 但我希望它不缩放 并根据需要使用滚动条 我怎样才能做到这一点 现在我只有一个可绘制集作为 XML 中 ImageView 的 android src 这会自动缩放图像以适应屏幕宽度 我读到这可能
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • Mailgun POST /messages API 总是抛出 401 禁止

    我正在尝试使用改造库在 Android 中发送 Mailgun POST messages API 请求 以下是改装要求 HTTP POSThttps api key xxx v3 sandboxxxx messages https api
  • 无法解析符号 FlutterActivity

    我使用 VCS gt Checkout from Version Control 将 flutter 项目从 github 导入到 Android Studio 中 现在我面临的问题是 Cannot resolve symbol Flutt
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • Android SDK 中可用的所有“android.intent.action”操作的详尽列表是什么?

    大家好 我想知道标准 Android SDK 中定义的所有 Intent 操作是否有详尽的参考 我正在考虑完整的 android intent action someaction 名称 而不是 Intent 类中定义的方便别名操作的限制列表
  • OpenCV InRange 参数

    我在 Android 上使用 OpenCV 来实时查找特定颜色的圆圈 我的第一步是仅保留与我正在寻找的定义颜色相对应的像素 在本例中为红色或绿色 示例图像 https i stack imgur com CIozU jpg 为此 我正在使用
  • 如何在照片删除后刷新 Android 的 MediaStore

    问题 如何使媒体存储刷新其已删除文件的条目 从外部存储中删除代码中的照片后 我仍然在图库中看到已删除照片的插槽 空白照片 画廊似乎反映了媒体存储 并且在媒体存储中找到了已删除的照片 直到手机重新启动或通常 直到重新扫描媒体为止 尝试扫描已删
  • 如何在 Android 清单文件中设置文本外观?

    是否可以做相当于 setTextAppearance context android R style TextAppearance Medium 在 Android 应用程序的清单文件中 android textAppearance and
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 如何在 Android 上的 HttpPost 中发送 unicode 字符

    我试图在我的应用程序中允许多语言支持 这会发出 HTTP post 来上传新消息 我需要做什么才能支持日语和其他非拉丁语语言 我的代码目前看起来像这样 note the msg string is a JSON message by the
  • 如何覆盖日期选择器的高度和宽度以填充父布局

    我有一个活动包含一个日期选择器 我想设置DatePicker适合屏幕 我试过这个答案 https stackoverflow com questions 6674667 how to customize date pickers width
  • 如何在android中录制音频时暂停背景音乐

    我正在 Android 中开发一个音频记录应用程序 因此 如果设备音乐播放器中已播放任何背景音乐 则应在开始录制之前暂停该背景音乐 并且每当录制停止或暂停时 背景音乐都应恢复 播放录制的音频时也应该如此 有人可以帮我解决这个问题吗 提前致谢
  • 带有空白白屏的 WebView

    我在 DialogFragment 中有一个 webview 它使用以下方式显示文档和 PDF它可以进行几次尝试 但如果用户尝试频繁打开和关闭对话框 webview 将显示空白屏幕 我已经尝试了所有的线程link1 https stacko
  • 如何更改锁屏自定义文本(所有者信息)?

    我写了程序代码 String message This is test Settings System putString context getContentResolver Settings Secure LOCK PATTERN EN

随机推荐

  • python模块matplotlib.pyplot用法_python – 虽然使用pyplot.show(),但如何使用matplotlib保持图形大小不变?...

    看看下面的python示例 import matplotlib as mpl import matplotlib pyplot as plt mpl rcParams figure figsize 8 27 11 69 fig plt fi
  • Python 数据分析与数据可视化(三)列表、元组、字典、集合与字符串

    文章目录 3 列表 元组 字典 集合与字符串 3 1 列表与列表推导式 3 1 1 创建列表 下标访问 3 1 1 1 简介 3 1 1 2 创建列表 3 1 1 3 使用下标访问列表中的元素 3 1 2 列表常用方法 3 1 2 1 ap
  • 输入身份证号判断性别并求年龄

    include
  • 如何二次封装一个el-table组件并二次复用

    注 示例使用的是vue3和element 进行二次封装的 首先我们来看效果图 总共可以分为以下几个模块 表格数据操作按钮区域 表格信息提示区域 表格主体内容展示区域 表格分页区域 表单搜索没有封装在这里是为了降低代码的耦合性 有兴趣的可以查
  • c# dataGridView 数据合并单元格

    原文地址http sigechuizi cn article 133
  • unity登录界面和场景异步加载多种方式

    文字加载场景切换 挂到摄象机上 拖入文本 此文本用于显示加载文本的位置 实际显示内容位文中文本 正在加载中时显示 夏目正在努力加载哦 加载完成后显示 ok using UnityEngine using System Collections
  • 猿人学第3题-访问逻辑 - 推心置腹分析

    3 访问逻辑 推心置腹分析 1 请求页面并进行抓包 https match yuanrenxue cn match 3 2 对抓包进行分析 判断发现每次数据请求前先请求 https match yuanrenxue cn jssm 分析参数
  • 查T结果与Z结果的P值[转载]

    T检验P值表格来自 https blog csdn net m0 37777649 article details 74937242 Z检验表格来自 https wenku baidu com view 4926021f10a6f524cc
  • 关于虚拟机的认识

    一 在实体机 物理机 上 localhost它是一个域名 对应的ip地址为 127 0 0 1 计算机网络这本书中规定的 指的本机 关于127 0 0 1 为什么是 localhost 在 C Windows System32 driver
  • bash devtty No such device or address

    hexo d bash dev tty No such device or address error failed to execute prompt script exit code 1 fatal could not read Use
  • [囧途系列之特别篇]IT者的生存之路

    blog csdn net shenyisyn article details 8545410 此文特别送给 csdn网友 kkgbn 盖宝宁 前言 我的一个很早的转文 一对夫妻程序员的故事 看到了一个由kkgbn发表的评论 评论的大意是
  • Stanford CS143 速通PA1教程

    今天做完了CS143的PA1 感觉最难的地方在于官方没有具体的文档 edX 然后COOL语言调试比较困难 以下是我对同样打算入坑CS143的同学的一些帮助吧 速通前的准备 Virtual VM Setup 如果还没有搭好环境的 建议跟着官网
  • 信号和槽机制

    信号和槽是一种高级接口 应用于对象之间的通信 它是QT的核心特性 也是QT区别于其它工具包的重要地方 信号和槽是QT自行定义的一种通信机制 它独立于标准的C C 语言 因此要正确的处理信号和槽 必须借助于一个称为moc Meta Objec
  • c++申请内存空间的本质

    c 申请内存空间的本质 void teseTwo char cc 8 cout lt lt void cc lt lt endl cout lt lt 将cc的内存空间存储字符串 lt lt endl strcpy s cc hello c
  • Unity解析服务器Json文件

    文章目录 需求 Json文件存在服务器上 Unity要获取并解析它 原理 通过 UnityWebRequest类获取服务器文本 的功能 把Json文件传输到本地 再通过写好的解析类 Unity自带的JsonUtility FromJson
  • Linux下运行Jmeter压测

    一 在Linux服务器先安装SDK 1 先从官网下载jdk1 8 0 131 tar gz 再从本地上传到Linux服务器 2 解压 tar xzf jdk1 8 0 131 tar gz 生成文件夹 jdk1 8 0 131 3 在 us
  • 配置tomcat5.5 jndi 各种配置方式 分析总结(mysql)

    准备工作 安装tomcat5 5 注意这点 安装mysql 拷贝mysql驱动到tomcat home common lib下 新建一个web工程 在工程中加入index jsp
  • 获取B站SESSDATA及解决403

    获取B站SESSDATA 登录B站 按F12打开控制台 找到SESSDATA复制即可 解决B站防盗链 403 B站开启了防盗链 利用的是HTTP的Referer属性做判断 如果Referer是他白名单之外的网站 就会返回403 全站图片使用
  • 4-4面向对象编程(上)----再谈方法(3)--方法参数的值传递机制

    重点 3 方法参数的值传递机制 一 方法 必须由其所在类或对象调用才有意义 若方法含以后参数 1 形参 方法声明时的参数 2 实参 方法调用时实际传给形参的参数值 二 Java的实参值如何传入方法中的 Java里方法的参数传递方式只有一种
  • Android app专项测试之耗电量测试

    前言 耗电量指标 待机时间成关注目标 提升用户体验 通过不同的测试场景 找出app高耗电的场景并解决 01 需要的环境准备 1 python2 7 必须是2 7 3 X版本是不支持的 2 golang语言的开发环境 3 Android SD