前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[1002]python+adb自动化获取手机信息

[1002]python+adb自动化获取手机信息

作者头像
周小董
发布2021-06-24 10:42:41
1.1K0
发布2021-06-24 10:42:41
举报
文章被收录于专栏:python前行者

首先我们先看一下使用adb查看Android手机信息的指令

代码语言:javascript
复制
#获取手机名称
NAME = 'adb shell getprop ro.product.model'
#获取手机版本
VERSION = 'adb shell getprop ro.build.version.release'
#获取手机厂商
PRODUCER = 'adb shell getprop ro.product.brand'

如果我们忘记具体系统属性的名字,我们可以使用grep进行过滤,比如:

代码语言:javascript
复制
adb shell getprop | grep product

显示如下:

那么我们在用python写自动化测试的时候应该这样使用:

代码语言:javascript
复制
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)

这样我们就实现了自动化获取手机信息

Python通过命令行获取设备的名称和版本号

代码语言:javascript
复制
import os
import readConfig
from lib.log import *


conf = readConfig.Readconfig()

class devices:
    def __init__(self):
        self.get_device = conf.getcmdValue('viewPhone')
        self.get_Version = conf.getcmdValue('viewAndroid')
        self.startServer = conf.getcmdValue('startServer')

    def get_deviceName(self):
        '''通过adb获取设备名称'''
        values = os.popen(self.get_device).readlines()
        dev = values[1].split()[0]
        if len(values) == 3:
            log_info(u'手机设备为:'+dev)
            return dev
        elif len(values) >= 4:
            log_warn(u'电脑连接的设备超过一个,请确保只连接一个设备')
            print "More than one device on PC"
        else:
            log_warn(u'暂未获取到手机设备')
            print u'No device found'

    def get_platformVersion(self):
        '''通过adb获取设备的android系统版本号'''
        values = os.popen(self.get_Version).readlines()
  
        if values != '':
            Version=values[0].split('=')[1]
#             print u'手机版本号为:',Version
            log_info(u'手机版本号为:'+Version)
            return Version.strip()
        else:
            log_warn('暂未获取到手机设备')
            print u'No device found'

配置文件命令为:

代码语言:javascript
复制
[cmd]
openAppium = node /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js
stopAppium = pkill node
startServer = adb statr-server
closeServer = adb kill-server
checkPhone = adb get-state
viewPhone = adb devices
viewAndroid = adb shell grep ro.build.version.release /system/build.prop

参考:https://blog.csdn.net/zhuohaiyy/article/details/80213516 https://blog.csdn.net/weixin_30699741/article/details/97539113

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python通过命令行获取设备的名称和版本号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档