如何进行App性能测试?SoloPi是最佳选择!

article/2025/9/18 15:05:00

目录

引言

SoloPi简介

SoloPi特点

SoloPi的主要功能

下载SoloPi

安装SoloPi

使用SoloPi进行性能测试

性能数据查看与记录

环境加压

响应耗时计算工具

注意事项

Solopi提供的各项性能指标介绍


引言

大家好!我是凡哥。

今天我想跟你们分享一下如何进行App性能测试,同时介绍一个非常好用的工具——SoloPi。

我们都知道,在如今这个数字化时代,移动应用程序已经成为人们生活和工作中不可或缺的一部分。而App性能测试就是为了确保这些应用程序在各种条件下都能够正常运行,并提供出色的用户体验。然而,很多人并不知道如何进行有效的App性能测试,更不知道该使用哪种工具。

因此,这篇文章将为你详细介绍SoloPi工具的使用方法和测试技巧,帮助你更加轻松地进行App性能测试。

SoloPi简介

SoloPi是蚂蚁金服开发的一款无线化、非侵入、免Root的Android专项测试工具。直接操控安卓系统的手机或智能设备,即可完成自动化的功能、性能、兼容性、以及稳定性测试等工作,降低广大测试开发者的测试成本,提升测试效率。

SoloPi特点

1、免费开源
2、纯Java开发
3、可跨平台
4、轻量级,apk仅4.50 MB
5、使用adb命令 ,安装简单
6、本身对CPU、内存占用极小,基本可以忽略不计
7、操作简单
8、使用Apache-2.0授权协议

SoloPi的主要功能

SoloPi拥有录制回放、性能测试、一机多控三项主要功能。同时,SoloPi还支持性能加压,能够对CPU、内存与网络环境进行限制,复现应用在性能较差、网络环境不佳场景下的表现。除了常规性能指标,SoloPi还提供了启动耗时计算工具,测试同学只需要点击两次按钮,就可以得到最贴近用户体验的启动耗时数据。同时,启动耗时计算工具还可以通过广播调用,可以非常方便地与UI自动化测试打通。

下载SoloPi

1、安卓桌面

链接:https://pan.baidu.com/s/1MVi6gbiFPC7Ds9ySwbz2lQ
提取码:zq6v

2、SoloPi(版本0.11.1)

链接:https://pan.baidu.com/s/18mTpsMMb20FU5N4GGPslsQ
提取码:ss2a

SoloPi 最新版本下载地址: https://github.com/alipay/SoloPi/releases

安装SoloPi

1、安装并配置ADB环境变量

2、用数据线连接电脑和被测安卓手机或智能设备

3、输入cmd回车,打开命令行窗口,执行如下命令安装桌面:

C:\Users\User>adb install -r C:\Users\User\Desktop\小康安装工具\desktop.apk
Success

说明:如果是安卓手机,请跳过此步骤。

4、执行如下命令安装SoloPi

C:\Users\User>adb install -r C:\Users\User\Desktop\小康安装工具\SoloPi.apk
Success

说明:可以在安装命令后直接将本地apk文件拖拽进去,回车执行安装命令。出现Success说明安装成功。

5、安装好SoloPi以后,首次打开需要进行一些授权操作。

(1)申请ADB权限

在命令行窗口输入adb tcpip 5555 命令后,点击【重试】即可。

(2)申请浮窗权限

请点击【前往授权】,授予SoloPi显示悬浮窗的权限,然后返回该界面点击【我已授权】。SoloPi在运行过程中需要悬浮窗来展示实时数据或者通过操作悬浮窗来执行操作。

 (3)添加到后台白名单

SoloPi需要长时间在后台运行以监控应用的性能或者执行操作,为防止Android系统将SoloPi进程回收,需要用户手动将SoloPi添加到后台白名单中。可以选择不再提示,之后SoloPi将不再对添加白名单进行提示。

 (4)申请相机、录制屏幕权限

对于一机多控,SoloPi需要额外申请相机、录制屏幕权限,用于主从机的扫描连接和响应耗时计算。

使用SoloPi进行性能测试

1、介绍

记录待测应用的各项性能指标,支持实时观察模式与录制模式,支持通过图表展示以往录制的数据,另外支持性能加压与响应耗时计算功能。

性能数据查看与记录

  1. 勾选性能项,Solopi会展示对应的性能指标

    在进入应用前,Solopi会显示全局指标,进入应用后,Solopi会显示应用最上层进程的相关性能指标。

    CPU、内存指标为进程维度,响应耗时、帧率、网络为应用维度,电池为全局指标。

    具体性能指标描述请参考后文性能指标一段。

  1. 点击悬浮窗中的应用标题,进入目标应用,切换为进程维度数据

  2. 点击开始按钮(绿色三角),进行性能数据录制,可进行相关操作

  3. 结束录制,点击终止按钮(红色圆形),Solopi会提示录制数据存放的位置,数据保存在/sdcard/solopi/records/XXX目录下

    录制数据为csv格式,包含三列,第一列为Unix时间戳,第二列为数据数值,第三列为额外字段

  4. 点击悬浮窗右上角关闭键(红色"X")可关闭悬浮窗,需要手动回到性能测试页面,可在录制数据查看一项中查看之前录制过的数据。

  5. 在录制项筛选中,可以选择之前录制的各项数据进行观看,内存与CPU会记录在顶层出现过的进程的数据。如果发生了进程切换,会记录前后10次数据。

  6. 当录制项过多时,可以点击右上角删除图标,对旧数据进行删除。

环境加压

Solopi提供了环境加压的功能,可以提供CPU与内存加压

由于android系统的调度,CPU与内存加压均存在一定限制,当应用处于后台状态时,CPU加压占比会遭到一定程度的限制,而内存加压过大可能导致Solopi被系统进行回收,敬请谅解。

  1. 内存加压

  2. CPU加压

响应耗时计算工具

Solopi响应耗时计算工具,通过录屏分帧的方式自动识别起始点和结束点,精确计算耗时。

视频演示

响应耗时计算

特性

  • 模拟用户视觉,计算结果更贴近用户体验
  • 自动记录点击起始点,自动识别屏幕变化结束点
  • 通过OpenCV进行图像识别
  • 支持原生应用、H5、游戏
  • 支持启动耗时、页面跳转耗时、列表滑动耗时、动画耗时

使用方法

  1. 进入Solopi性能测试页面,点击启动耗时计算。

  2. 建议默认参数无需修改,点击启动按钮,会弹出录制浮窗。

  3. 切换至待测应用,并进入操作路径的起始页面。

    如果不需要关注细微的动画,请将二值对比差异设置为2%

  4. 点击开始录制(按钮会变为结束录制),然后在被测应用界面执行操作

  5. 当页面停止变化后,点击结束录制。几秒后会显示测试结果。

注意事项

  • 结束页存在轮播图?
    • 请在进入结果页后,在轮播图变化前点击结束录制
  • 测试结果异常:过大,过小,或为负数?
    • 本次结果失效,请重新测算。结果以多次测算后稳定的结果为准。
  • 结束录制后,一直阻塞在计算中?
    • 请关闭浮窗,退出Solopi,重新打开耗时计算工具进行测算。

Solopi提供的各项性能指标介绍

CPU

​ 包含应用顶层Activity所在进程的CPU占用百分比与全局CPU占用百分比,对于单进程应用,该数据表示该应用的CPU占用情况;对于多进程进程应用,该数据表示顶层UI进程的CPU占用情况,当发生进程切换时,Solopi能够自动切换到新的进程数据。

内存

​ 包含应用顶层Activity所在进程的PSS(Proportional Set Size,即实际使用内存)内存、Private Dirty(私有内存)内存与全局占用内存,对于单进程应用,该数据表示该应用的内存占用情况;对于多进程进程应用,同CPU一样,Solopi也支持自动切换顶层进程。

帧率

​ 包含应用实际帧率,延迟帧数、1秒内单帧最长延迟时间与延迟帧数占所有帧数的百分比。属于应用维度数据。目前Solopi是根据设备gfxinfo信息计算1秒内超时帧时间,从而反推出实际帧率,所以在接近静止的情况下, 部分帧率可能显示有误。推荐在滑动或页面切换等动态场景下进行帧率测试。

网络

​ 包含应用上下行速率与累计流量以及全局上下行速率与累计流量。属于应用维度数据。点击右侧清零按钮可以清空累计数据。

响应耗时

​ 包含应用点击的响应耗时与刷新耗时数据。属于应用维度数据。从用户点击开始,到系统第一次发出界面更新时间为响应耗时,到系统停止界面刷新的时间为刷新耗时。

当目标页面存在动画时,可能影响响应耗时计算的准确性。

电池

​ 包含设备瞬时电流与电流均值。属于全局维度数据。点击右侧清零按钮可以清空电流累计数据。

部分设备存在瞬时电流更新缓慢的情况,这种情况下均值意义较小。


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)


http://chatgpt.dhexx.cn/article/WorZIr15.shtml

相关文章

App性能测试以及测试方法技巧

性能专项我们关注哪些: 1.关注资源消耗(CPU、内存、流量、功耗) 2.启动耗时(冷启、热启),(这个也是很多云测时用到的一个指标) 3.主要页面加载时间 4.内存泄漏、抖动、卡顿、页面渲染…

移动APP性能测试

移动APP性能测试 - 走看看 一、 App 性能指标 App 性能问题如 app 使用时卡顿严重或者加载页面慢,cpu 占用率高,app 闪退等,在测试过程中,则需特别关注性能方面的体验,app 性能差,通常会导致用户对 app 的…

如何进行app性能测试,app性能测试应关注的测试点

随着智能化生活的推进,我们生活中不可避免的要用到很多程序app。有的APP性能使用感很好,用户都愿意下载使用,而有的APP总是出现卡顿或网络延迟的情况,那必然就降低了用户的好感。所以APP性能测试对于软件开发方来说至关重要&#…

【项目】HTTP服务器

⭐️ 本博客介绍的是一个自主实现HTTP服务的一个项目,这要介绍的是项目实现的整个过程,用到的技术、遇到的问题以及都是如何解决的。想完成该项目,需要我们对HTTP有了解,这里可以查看我的往期博客——HTTP协议。这里还会用到流式套…

centos搭建http服务器

在虚拟机centos上搭建一个http服务器,端口号改为8080,并创建一个hello.html网页,网页的内容是自己的姓名拼音首字母,通过主机win10的浏览器访问这个页面, 步骤: 1.配置主机和虚拟机网络连通 2.在cent上通过yum指令安装…

http-server服务

实验简介: 两台在同一局域网的主机。机器A(系统win10,IP地址为192.168.22.36),机器B。机器A中安装虚拟机win7系统,IP地址为192.168.41.130。 1. 安装node.js win7 无法使用node14版本及以上,以及…

web/http服务器实现

文章目录 项目开发流程程序编码项目实例 项目开发流程 需求分析:实现基本的HTTP服务器,支持浏览器的访问(支持标准http协议) 接收浏览器发送HTTP请求;解析请求数据,请求方式(GET)&a…

http服务-搭建简易的http服务器

##http服务-搭建简易的http服务器 仅仅实现了Post和Get,也就简单的使用了 200 OK,100-continue和发送http格式的文本而已,其实我们只要按照HTTP协议收发数据即可。 先来一张做http上传功能时的意外收获,也是待会的测试图片 浏览器访问我们所建立的链接 …

【C++】搭建HTTP服务器

目录 项目介绍 网络协议栈介绍 协议分层 数据的封装与分用 HTTP相关知识介绍 HTTP的特点 URL格式 URI、URL、URN HTTP的协议格式 HTTP的请求方法 HTTP的状态码 HTTP常见的Header CGI机制介绍 CGI机制的概念 CGI机制的实现步骤 CGI机制的意义 日志编写 套接字…

HTTP服务器开发教程

<![CDATA[ 概述 最近因为项目需要&#xff0c;必须自己实现一个HTTP服务器的部分功能。 需求大概是这样的&#xff0c;winform里使用webrowser控件显示一个本地的html页面&#xff0c;同时winform启动http服务&#xff0c;本地html页面里通过javascript使用XMLHttpReq…

Windows搭建HTTP服务器

Windows搭建HTTP服务器 1、开启Windows功能 打开控制面板-程序和功能-启用或关闭Windows功能&#xff0c;勾选Internet information services下拉框的全部选项。 2、搭建HTTP服务器 搜索IIS&#xff0c;打开Internet information services&#xff08;IIS&#xff09;管理器…

一条命令搭建HTTP服务器

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 转载自远程内网穿透的文章&#xff1a;【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透…

HTTP服务器(一)

问&#xff1a;HTTP协议的职责是什么&#xff1f; 答&#xff1a;生成针对目标web服务器的HTTP请求报文&#xff1b; 对Web服务器请求的内容的处理。&#xff08;听起来挺像废话的…就是客户端向服务器发出的第一步 和 服务器接收最后一步&#xff0c;一种固定格式请求和对应…

HTTP服务

URL&#xff1a;Uniform Resource Locator&#xff0c;统一资源定位符&#xff0c;对可以从互联网上得到的资源的位置和访问 方法的一种简洁的表示&#xff0c;是互联网上标准资源的地址。 网址格式&#xff1a;<协议>://<主机或主机名>[:port]/<目录资源,路径&…

【HTTP协议与Web服务器】

HTTP协议与Web服务器 浏览器与服务器通信过程HTTP的请求报头HTTP请求报头结构HTTP的请求方法 HTTP应答报头HTTP应答报头结构应答状态 web服务器的c语言实现 浏览器与服务器通信过程 浏览器与Web服务器再应用层通信使用的是HTTP协议&#xff0c;而HTTP协议在传输层使用的是TCP协…

http文件服务器

收费工具&#xff0c;二百大洋。学生党勿扰。 程序下载链接:https://download.csdn.net/download/wocanimei007/87755375 无任何后门&#xff0c;请放心使用。 毫不夸张的说&#xff0c;应该目前市场上最好用的文件互传工具。 1 概述 在unbuntu和win上进行文件互传的时候&am…

HTTP/HTTPS服务器

HTTP/HTTPS 一、消息传播过程 1、发送消息的时候做的事情。 比如说客户端发送给的消息是&#xff1a;Hello World 首先是在客户端这里&#xff0c;数据会经过一系列处理从应用层传输到数据链路层。也就对应着调用send&#xff0c;将数据拷贝到内核&#xff0c;内核再协议栈&a…

HTTPS服务器

目录 HTTPS简介 https概念 SSL/TLS 加/解密方式 对称加密 非对称加密 消息摘要 数字签名 数字证书 http与https的区别 作业需求 ​编辑 HTTPS简介 https概念 HTTPS &#xff08;全称&#xff1a;Hyper Text Transfer Protocol over SecureSocket Layer&#xff0…

HTTP服务器搭建

文章目录 实验环境说明服务器配置下载安装HTTP服务修改配置文件 客户端测试Linux客户端测试Windows客户端测试 实验环境说明 主机系统系统版本IP地址服务端LinuxRHEL 7.0192.168.43.128/24客户端LinuxRHEL 7.4192.168.43.15/24客户端Windows 11Windows 11192.168.43.1/24 基本环…

WEB/HTTP服务器搭建

HTTP 对于软件都有服务和客户&#xff0c;有服务端和客户端 服务 就是在操作系统运行一个或者多个程序&#xff0c;并为客户端提供相应所需的服务 协议 就是计算机网络中进行数据交换而建立的规则、标准或约定的集合。只有遵守这个约定&#xff0c;计算机之间才能相互通信…