python+adb实现自动化获取手机信息
首先我们先看一下使用adb查看Android手机信息的指令
#获取手机名称
NAME = 'adb shell getprop ro.product.model'
#获取手机版本
VERSION = 'adb shell getprop ro.build.version.release'
#获取手机厂商
PRODUCER = 'adb shell getprop ro.product.brand'
如果我们忘记具体系统属性的名字,我们可以使用grep进行过滤,比如:
adb shell getprop | grep product
显示如下:

那么我们在用python写自动化测试的时候应该这样使用:
import os
deviceName = os.popen('adb shell getprop ro.product.model').read()
print(deviceName)
platformVersion = os.popen('adb shell getprop ro.build.version.release').read()
print(platformVersion)
device = os.popen('adb shell getprop ro.product.name ').read()
print(device)
#coding=utf8
import os,subprocess
import re def connectDevcie():
'''检查设备是否连接成功,如果成功返回True,否则返回False'''
try:
'''获取设备列表信息,并用"\r\n"拆分'''
deviceInfo= subprocess.check_output('adb devices').split("\r\n")
'''如果没有链接设备或者设备读取失败,第二个元素为空'''
if deviceInfo[1]=='':
return False
else:
return True
except Exception,e:
print "Device Connect Fail:",e def getAndroidVersion():
try:
if connectDevcie():
#获取系统设备系统信息
sysInfo= subprocess.check_output('adb shell cat /system/build.prop')
#获取安卓版本号
androidVersion=re.findall("version.release=(\d\.\d)*",sysInfo , re.S)[0]
return androidVersion
else:
return "Connect Fail,Please reconnect Device..."
except Exception,e:
print "Get Android Version:",e def getDeviceName():
try:
if connectDevcie():
#获取设备名
deviceInfo= subprocess.check_output('adb devices -l')
deviceName=re.findall(r'device product:(.*)\smodel',deviceInfo,re.S)[0]
return deviceName
else:
return "Connect Fail,Please reconnect Device..."
except Exception,e:
print "Get Device Name:",e print getDeviceName(),"\n",getAndroidVersion()
原文:https://blog.csdn.net/zhuohaiyy/article/details/80213516
https://my.oschina.net/u/2291665/blog/885076
python+adb实现自动化获取手机信息的更多相关文章
- Python+Selenium自动化-获取页面信息
Python+Selenium自动化-获取页面信息 1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...
- 【风马一族_Android】Android 从命令行界面获取手机信息
Android 从命令行界面获取手机信息 1: cmd 打开命令行界面 2:adb devices 获取与电脑相连的设备,例如:模拟器.真机(手机) (右击“标记”,选择设备名称,点击“Ctrl+ ...
- 使用 python 提取照片中的手机信息
使用 python 提取照片中的手机信息 最近在做一个项目,有一个很重要的点是需要获取使用用户的手机信息,这里我选择从照片中获取信息.有人会问为什么不从手机里面直接获取设备信息.由于现在android ...
- iOS 整理笔记 获取手机信息(UIDevice、NSBundle、NSLocale)
/* iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发ap ...
- Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息
Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...
- android 获取手机信息工具类
package com.yqy.yqy_listviewheadview; import android.content.Context; import android.telephony.Telep ...
- 微信小程序开发(六)获取手机信息
// succ.js var app = getApp() Page({ data: { mobileModel: '', // 手机型号 mobileePixelRatio: '', // 手机像素 ...
- android获取手机信息大全
IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...
- android获取手机信息2
IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...
随机推荐
- IP地址类型
为了适应不同的网络,IP地址空间被分为5类,分别是A.B.C.D和E类,其中A,B,C类最常用,D类用于组播,E类用于科研 IP地址类型 第一字节十进制范围 二进制固定最高位 二进制网络位 二进制主机 ...
- 关联分析Apriori算法和FP-growth算法初探
1. 关联分析是什么? Apriori和FP-growth算法是一种关联算法,属于无监督算法的一种,它们可以自动从数据中挖掘出潜在的关联关系.例如经典的啤酒与尿布的故事.下面我们用一个例子来切入本文对 ...
- 序列化 反序列化 MessagePack for C#
阅读目录 快速序列化组件MessagePack介绍 简介 使用 快速开始 分析器 内置的支持类型 对象序列化 DataContract兼容性 序列化不可变对象(序列化构造器) 序列化回调 Union ...
- Redux thunk中间件
redux-thunk https://github.com/reduxjs/redux-thunk Why Do I Need This? Thunks are the recommended mi ...
- webpack打包理解
webpack打包理解(将所有依赖文件打包到一个文件中) 由于前端代码变得越来越多,越来越复杂, 纯粹脚本化的代码书写方式已经不能满足工程化得需求. 前端模块被抽象出来, 不仅仅包括js模块, 其它如 ...
- Python——安居客租房信息爬取(以南昌为例)
前言: 提前安装好所需要的库. 本代码的输入仅需要某个城市的租房地址首页即可,其他自会生成. 使用前请创建所需的目录,或者为代码添加os.makedir() 支持断点重爬,重行运行即可. header ...
- Window7 定制 Explore中的右键菜单
win+R 命令 运行 regedit ,打开注册表 在 HKEY_CLASSES_ROOT\*\shell\VisualCode下创建针对文件的新增命令 command 在HKEY_CLASSE ...
- 将Python3导出为exe程序
一.pyinstaller简介 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各 ...
- python3 练手实例6 做一个简单日历
import calendar year = int(input('请输入要查询的年份:')) month = int (input('请输入要查询的月数:')) print (calendar.mo ...
- JdLibrary 的使用
写一个类 public class Init { public static void InitAssembly() { JdLibrary.JdEx.Excepteion = Object(new ...