zoukankan      html  css  js  c++  java
  • 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:
            '''获取设备列表信息,并用"
    "拆分'''
            deviceInfo= subprocess.check_output('adb devices').split("
    ")
            '''如果没有链接设备或者设备读取失败,第二个元素为空'''
            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(),"
    ",getAndroidVersion()
    

      


    原文:https://blog.csdn.net/zhuohaiyy/article/details/80213516

       https://my.oschina.net/u/2291665/blog/885076

  • 相关阅读:
    结构体初体验
    hdu 2068 RPG的错排
    hdu 2160 母猪的故事
    python爬虫从入门到放弃(一)——试用bs4, request爬百度股票
    python web开发c6——阿里云上ubuntu+flask+gunicorn+nginx服务器部署(一)简单测试
    python web开发——c5 图片上传 flask-uploads 云储存sdk
    python web开发——c3 数据库交互和flask-SQLALchemy
    python web开发——c2 flask框架和flask_script
    javar入门——基本数据类型
    java入门——面向对象
  • 原文地址:https://www.cnblogs.com/sgfg-1314/p/10400791.html
Copyright © 2011-2022 走看看