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

Logo

一站式 AI 云服务平台

更多推荐