找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 87|回复: 0

Python adb批量生成App版本表格

[复制链接]

2万

主题

128

回帖

10万

积分

管理员

积分
105776
发表于 2021-10-26 16:05:18 | 显示全部楼层 |阅读模式 IP:山东省青岛市 移动

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 mind 于 2021-10-26 16:06 编辑

Python adb批量生成App版本表格
案例一:版本在软件研发阶段是很重要的, 不同的版本,
已修复的Bug也不一样, 所实现的功能不一样,
Android终端产品正式版本发布前,项目经理除了确保系统版本确定无误外,
还会逐个验证所搭载的所有App的版本是否都是正确,
防止App做系统集成的时候集成错了,导致App功能缺失或异常!
案例二: 测试经理要求我做一个表,表格包含了系统的所有App名称,
App版本信息, 用于做性能测试数据统计(CPU & Memory)。


那问题来了,如何批量把Android里边的已经集成的所有App的版本列出来,并生成表格?
以魅族Note5手机为例, 如果是手动记录登记,
一般是设置-》应用程序管理-》一个一个的看版本:

准备阶段
  • adb shell pm list package 可以列出所有系统内的app包名,
    pm是package manger的简称,是Android的一个重要的app安装包管理工具,
    可用于安装app,卸载app,列出所有app等。
  • adb shell dumpsys package + App包名可以解析version相关信息,
    dumpsys 是Android重要的解析工具,可以解析App package。
  • 可以考虑用openpyxl模块来生成一个excel格式,当然也可以考虑做成csv文本格式,
    如果是excel操作,都建议用openpyxl,尽量不用xlrd, xlwt等过时的模块。


Python批处理脚本形式
批处理脚本的精髓就是顺序执行,可批量处理。



Python面向过程函数形式

Python面向对象类形式


运行方式与效果
确保Android设备通过USB线与电脑连接了,adb设备有效连接,
以上代码的3种实现形式都可以直接运行,比如保存为get_app_version.py并放在桌面,
建议python get_app_version.py运行,当然也可以双击运行。
效果如下:备注有些版本是7是正常的,因为这些是google自带的Android7版本的App.


更多更好的原创文章,请访问官方网站:www.zipython.com
自拍教程(自动化测试Python教程,武散人编著)
原文链接:https://www.zipython.com/#/detail?id=966384ef80e24721afbede1dfafb55e5



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|IOTsec-Zone|在线工具|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-5-6 20:55

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表