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