首先我們先看一下使用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