性能测试——流量测试

article/2025/10/24 2:51:27

原文资料:

http://testerhome.com/topics/2643

http://testerhome.com/topics/2068

-------------------

流量篇

最近在研究IOS 的性能测试,时间太紧没来得及发帖,加通宵挤出时间给大家分享一点东西,希望对大家有所帮助!

Android 2.2之前
对于Android2.2 的流量 版本以前的系统的流量信息都存放在 proc/net/dev(或者 proc/self/net/dev)文件下,读取文件然后对其进行解析就行了。读取某一个应用的流量,则读取proc/uid_stat/uid /tcp_rcv 文件进行解析(注:模拟器下不存在这个目录)。如需查看某个应用的流量信息,可以通过以下命令来实现:

    adb devices                         列出所有设备adb -s 设备名称 shell 进入对应的设备 cd proc 进入设备的属性目录 cd uid_stat 进入 user id 状态目录,每个应用程序在安装的时候系统会为每个应用分配一个对应的 uid ls 列出 uid_stat 目录下所有应用对应的 user id 目录 cd uid 进入对应应用的 uid 目录 ls 查看对应 uid 目录下的 tcp_rcv tcp_snd 目录 cat tcp_rcv 查看该应用接收的数据信息 cat tcp_snd 查看该应用发送的数据信息 

Android 2.2之后

我这里有两种办法:

第一种
通过PID下面的net/dev
先找到应用的PID

adb shell ps

 

 

这边拿到PID:21896 然后在去/proc目录下的PID/net/dev面可以看到:

adb shell cat /proc/"+Pid+"/net/dev"

 

 

这边的wlan0代表wifi 上传下载量标识! 上传下载量单位是字节可以/1024换算成KB
这里可以看到下载的字节数 、数据包 和 发送的字节数 、数据包

小技巧:wlan0这些值如何初始化0 很简单 你打开手机飞行模式再关掉就清0了

第二种

通过proc/net/xt_qtaguid/stats

在说第二种获取流量方法之前先给这边先给大家说下uid

uid的获取可以在对应的PID下面去查看status,里面会查到uid

adb shell cat /proc/<pid>/status

 

 

下面这个方法是通过PackageManager去取:

try {PackageManager pm = getPackageManager(); ApplicationInfo ai = pm.getApplicationInfo("PackageName", PackageManager.GET_ACTIVITIES); Log.d("!!", "!!" + ai.uid); } catch (NameNotFoundException e) { e.printStackTrace(); } 

拿到UID后呢继续:

adb shell cat /proc/net/xt_qtaguid/stats | grep uid

 

 

其中第6和8列为 rx_bytes(接收数据)和tx_bytes(传输数据)包含tcp,udp等所有网络流量传输的统计。
一个uid可能对应多个 进程,所以这有两行流量是累加的就求和就行。

用java去获取打印
我这边是用先获取PID然后调用!你可以把获取PID作为一个变量传到GetFlow里面来!
我这边只获取下载流量,你可以把上传下载的流量都获取出来!

      //获取PIDpublic static String PID(String PackageName) throws IOException { String PID=null; Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec("adb shell ps |grep "+PackageName); try { if (proc.waitFor() != 0) { System.err.println("exit value = " + proc.exitValue()); } BufferedReader in = new BufferedReader(new InputStreamReader( proc.getInputStream())); StringBuffer stringBuffer = new StringBuffer(); String line = null; while ((line = in.readLine()) != null) { stringBuffer.append(line+" "); } String str1=stringBuffer.toString(); String str2=str1.substring(str1.indexOf(" "+PackageName)-46,str1.indexOf(" "+PackageName)); String str3 =str2.substring(0,7); str3 = str3.trim(); PID=str3; } catch (InterruptedException e) { System.err.println(e); }finally{ try { proc.destroy(); } catch (Exception e2) { } } return PID; } //获取下载流量 public static double GetFlow(String PackageName) throws IOException { double FlowSize=0; String Pid=PID(PackageName); try{ Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec("adb shell cat /proc/"+Pid+"/net/dev"); try { if (

转载于:https://www.cnblogs.com/LittleRedPoint/p/4561765.html


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

相关文章

App 流量常见测试方法

方法一&#xff1a;Android系统自带统计功能&#xff08;总体流量数值&#xff09; Proc/uid_stat/{UID}/tcp_snd和tcp_rcv UID是每个app安装时候分配的唯一编号用于识别该app. tcp_snd&#xff1a;表示发送数据累计大小&#xff0c;单位是字节 tcp_rcv&#xff1a;表示接收…

APP专项测试:流量测试

手机的电量与流量测试主要为了站在用户角度思考&#xff0c;毕竟电量、流量消耗毕竟大&#xff0c;会影响客户的使用感受。手机端电量使用率是和CPU使用率成正比的。 由于这个表现没有毕竟详细的规定&#xff0c;只能给出一个通用的范围&#xff0c;CPU使用率不能超过10%以上&…

APP性能测试——流量测试(一)

写在前面&#xff1a; 第一期主要介绍如何通过anyproxy工具进行流量测试&#xff0c;二期介绍如何通过adb 命令实时监控wifi、4G下的上行以及下行流量值。 app的流量测试是性能测试中重要的指标&#xff0c;也是用户体验的重要部分&#xff0c;目前了解到的有三种方法&#xff…

软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】

小编热衷于收集整理资源&#xff0c;记录踩坑到爬坑的过程。希望能把自己所学&#xff0c;实际工作中使用的技术、学习方法、心得及踩过的一些坑&#xff0c;记录下来。也希望想做软件测试的你一样&#xff0c;通过我的分享可以少走一些弯路&#xff0c;可以形成一套自己的方法…

软件测试人员应该如何介绍自己测试过的项目

测试人员在找工作的过程中&#xff0c;通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。 要解决这个问题&#xff0c;大体上可以分为如下几个步骤&#xff1a; 1、对项目进行基本介绍 2、说明自己负责测试的模块 …

安装Node出现2502问题

安装nodejs时出现2502/2503错误解决方法 解决方法&#xff1a; 1.以管理员身份运行cmd 2.在cmd中打开msi文件的目录 切换d盘符为&#xff1a; d: 返回上一文件夹&#xff1a;cd … 打开文件夹&#xff1a;cd 文件夹名称 3.执行命令 msiexec /package msi文件名 4.弹出nod…

安装应用程序遇到2503、2502解决办法

原因&#xff1a;主要是权限不够。 方法一&#xff1a;右键&#xff0c;管理员身份运行。 方法二&#xff1a;管理员命令提示符&#xff0c;输入“msiexec /package E:download\SmarTTY.msi”

window系统下**Node环境安装失败: 错误代码: 2502 、2503

Window系统**Node环境安装失败: 错误代码: 2502 、2503 失败原因: 系统账户权限不足 如下图所示: 解决办法: 以管理员身份运行powershell命令行工具输入运行安装包命令msiexec /package node 安装包位置 例如: &#xfffc; 复制的文件路径不用Ctrlv, 在命令行工具点击右键…

MT2502开发环境搭建

MT2502 patch merge、编译环境搭建、编译及版本flash ( 文档中所有安装包都可以从这里获取到&#xff1a;链接: http://pan.baidu.com/s/1qW8warM 需要的私聊 编译环境搭建 运行环境&#xff1a;windows xp、windows7&#xff08;环境需要做一些更改&#xff09; windows…

如何修复 Windows 中的 2502 或 2503 错误

1、问题描述 在安装 node-v12.16.1-x64 -win64.msi 软件时报2502/2503错误&#xff0c;导致安装失败。 2、分析解决 2502/2503 错误通常会在 Windows 上安装或卸载程序时出现。 2502/2503 错误的根源来自 Windows 上的 MSI 安装服务。无论何时卸载或安装程序&#xff0c;都必…

window 10 安装node.js时遇到2502 2503错误(已解决)

node安装失败2503的解决办法&#xff1a;1、在WIN搜索框搜索powershell并右击&#xff1b;2、点击使用管理员身份运行powershell命令行工具&#xff1b;3、输入“msiexec /package node”&#xff1b;4、打开安装包&#xff0c;根据提示安装即可。 本文操作环境&#xff1a;Win…

Windows安装Go/Python报2503/2502问题解决

关注【潇湘信安】、【Hack分享吧】公众号&#xff0c;一起学网络安全知识&#xff01; 0x01 问题描述 我们在Windows安装Golang和Python等环境时出现下图报错&#xff1a;the install has encountered an unexpected errer installing this package.this may indicate aproble…

node安装或卸载报错2502,2503问题解决

node安装或者卸载报错2502,2503 一、需求 大概需求是node版本过低需要升级版本&#xff0c;操作是将高版本node覆盖掉原版本node。 二、报错原因 出现原因可能是因为电脑系统权限没有给到node安装包&#xff0c;究其根本还是系统权限问题。 三、解决 方法一 1.winr 后输…

安装或卸载时错误 2502 和 2503修复

Windows11安装Python的时候出现的错误&#xff0c;导致安装失败。 解决办法&#xff1a; 管理员运行cmd 将安装的Python程序包&#xff0c;右键发送到桌面 右键桌面快捷方式&#xff0c;属性 拷贝文件路径 在cmd中右键&#xff0c;复制 回车运行&#xff0c;完美安装

MT2502 Wearable长按PWRKEY关机和复位问题

MT2502智能穿戴芯片模块解决方案资料分享&#xff1a;[FAQ14052][MT2502 PWRKEY]长按PWRKEY关机和复位问题 该功能是新增的&#xff0c;主要是为了让Wearable无法拔电池的产品&#xff0c;在系统死机&#xff0c;SW不起作用后&#xff0c;有个强制关机或重启的方法&#xff0c…

ds2502的stm32程序及分析

ds2502在一次性器件上应用较多&#xff0c;通过写入时间或特定的信息做限时使用&#xff08;一次性&#xff09;保证&#xff0c; 因为ds2502 每位只能由逻辑 1 编程为逻辑 0&#xff0c;但永远不能从逻辑 0 改为逻辑 1&#xff08;Individual bits can be changed only from a…

mt2502穿戴芯片模块方案,mt2502开发板原理图资料介绍

MTK LinkIt Assist mt2502 v1.0.3 开发板原理图 Autocad mt2502平台智能穿戴模块定制开发&#xff0c;mt2502方案开发&#xff0c;mt2502开发技术资料&#xff0c;可到一牛网论坛 http://bbs.16rd.com/thread-24867-1-1.html mt2502平台资料&#xff1a;

MT2502处理器参数,MT2502智能穿戴芯片资料介绍

MT2502家族芯片采用高度整合、超轻薄的系统封装&#xff0c;支持双模蓝牙功能及整合式2G modem&#xff0c;微型控制器单元采用ARM v7架构&#xff0c;具备整合内存控制器。专为单一功能型可穿戴设备所打造的高度整合式系统单芯片&#xff0c;体积超轻薄&#xff0c;采用ARM7EJ…

mysql中2502_mysql出现错误代码2502怎么办

mysql出现错误代码2502的解决方法&#xff1a;首先运行CMD&#xff1b;然后输入命令【msiexec /package "D:\搜狗高速下载\mysql-installer-community-5.7.10.0.msi"】即可。 mysql出现错误代码2502的解决方法&#xff1a; 解决办法一: 1.运行CMD(管理员) 2.输入以下…

MT2502 datasheet,MT2502硬件设计,MT2502芯片资料

MT2502家族芯片采用高度整合、超轻薄的系统封装&#xff0c;支持双模蓝牙功能及整合式2G modem&#xff0c;微型控制器单元采用ARM v7架构&#xff0c;具备整合内存控制器。专为单一功能型可穿戴设备所打造的高度整合式系统单芯片&#xff0c;体积超轻薄&#xff0c;采用ARM7EJ…