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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM