【MonkeyRunner】用python编写脚本查看设备信息

原以为是个简单的操作,在实践的时候发现了一些问题。

python脚本 test.py:

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection()
a = device.getProperty("build.device")
print(a)

在cmd中运行脚本

>>>monkeyrunner  tset.py

这样会报错

LookupError: unknown encoding 'ms936'

在网上查阅一番后,原因是编码格式不同,查到的解决方案为:

在cmd中先输入chcp 437然后再运行脚本

上面这种方法亲测可用,但是本人觉得这个需要提前在cmd中输入的方法很难受,于是提出另一种解决方法:

在Python 中获取设备信息的时候转换成string类型,就可以正常输出了

修改test.py 的第三行如下:

a = str(device.getProperty("build.device"))

然后再运行就可以输出设备名称了。

通过MonkeyDevice.getProperty()方法可以查看很多设备信息

  • build.board 设备系统板的的代码名称

  • build.brand 操作系统的提供商

  • build.device 设备设计名称

  • build.fingerprint 设备唯一标识符

  • build.ID 设备编号

  • build.model 设备的用户可见名称

  • build.product 整体产品名称

  • build.CPU_ABI 代码指令集

  • build.manufacturer 制造商

  • build.version.incremental 内部代码

  • build.version.release 此版本用户可见名称

  • build.version.sdk 此版本用户可见SDk版本

  • build.version.codename 开发代号

  • display.width 设备显示宽度

  • display.height 设备显示高度

  • display.density 显示逻辑密度

  • am.current.package 正在运行的包的名称

  • am.current.action 正在进行的活动

  • am.current.comp.class 启动当前活动的组件的类名

  • am.current.comp.package 启动当前多动的组件的包名

  • am.current.data 当前活动的Intent中包含的数据

  • am.current.categories 当前活动的Intent指定的类别

  • clock.realtime 设备重启后的毫秒数,包括睡眠时间

  • clock.uptime 设备重启后的毫秒数,不包含睡眠时间

  • clock.millis 自1970年1月1日起到当前的毫秒数

【MonkeyRunner】[技术博客]用python编写脚本查看设备信息的更多相关文章

  1. [转]有哪些值得关注的技术博客(Java篇)

    有哪些值得关注的技术博客(Java篇)   大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...

  2. 一文搞定scrapy爬取众多知名技术博客文章保存到本地数据库,包含:cnblog、csdn、51cto、itpub、jobbole、oschina等

    本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高 ...

  3. [技术博客] Android 自动化测试

    [技术博客] Android 自动化测试 安卓自动化测试工具与平台的搭建 类似于网页端自动化,安卓测试的自动化也主要是针对控件的自动化.其原理就是通过python(其他语言) 的脚本来代替我们手动完成 ...

  4. [技术博客]nginx 部署 apt 源

    [技术博客] nginx 部署 apt 源 出于各种各样的原因, 有时需要自己配置apt源, 比如发布自己编写的debian软件包, 内网中只有一台电脑可以访问外网,或者在本地配置自己的apt源.我们 ...

  5. 【软工】[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE

    [技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模 ...

  6. [技术博客] BeautifulSoup4分析网页

    [技术博客] BeautifulSoup4分析网页 使用BeautifulSoup4进行网页文本分析 前言 进行网络爬虫时我们需要从网页源代码中提取自己所需要的信息,分析整理后存入数据库中. 在pyt ...

  7. [技术博客] 敏捷软工——JavaScript踩坑记

    [技术博客] 敏捷软工--JavaScript踩坑记 一.一个令人影响深刻的坑 1.脚本语言的面向对象 面向对象特性是现代编程语言的基本特性,JavaScript中当然集成了面向对象特性.但是Java ...

  8. 【转】【技术博客】Spark性能优化指南——高级篇

    http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236e ...

  9. IT技术博客收藏

    1. coolshell.cn 特点: 每篇都是精品 2. 云风 特点: 3. 阮一峰的博客 特点:高精深 3. offbye涛声依旧-全端技术博客 特点: android的开发技术比较多,非常值得一 ...

随机推荐

  1. 89.canvas制作爱心

    <!DOCTYPE html> <html> <head>     <title>JavaScript和html53D玫瑰花(程序员的情人节礼物)< ...

  2. 设计模式之JDK动态代理源码分析

    这里查看JDK1.8.0_65的源码,通过debug学习JDK动态代理的实现原理 大概流程 1.为接口创建代理类的字节码文件 2.使用ClassLoader将字节码文件加载到JVM 3.创建代理类实例 ...

  3. Java开发环境之Tomcat

    查看更多Java开发环境配置,请点击<Java开发环境配置大全> 壹章:Tomcat安装教程 1)去官网下载安装包 http://tomcat.apache.org/ 建议下载压缩包(zi ...

  4. windows定时器编程

    目前,Windows下的定时器编程主要有三种方式. 1)SetTimer定时器是利用Windows窗口消息WM_TIMER来实现的.使用方法非常简单,SetTimer创建定时器,KillTimer销毁 ...

  5. Centos7 增量备份数据脚本

    #!bin/bash#Automatic Backup Linux System Files#By Author www.jfedu.net#Define VariablesSOURCE_DIR=( ...

  6. zabbix--自动注册

    Active agent自动注册 agent 自动注册就是实现一台新的服务器配置好 agent 端,自动在服务器端注册,无需在服务器上进行手动配置便可以直接启动对新的host的监控. 参考官档:htt ...

  7. Kubernetes架构及相关服务详解

    11.1.了解架构 K8s分为两部分: 1.Master节点 2.node节点 Master节点组件: 1.etcd分布式持久化存储 2.api服务器 3.scheduler 4.controller ...

  8. poj1502 MPI Maelstrom(单源最短路)

    题意:表面乍一看output是输出最小值,但仔细研究可以发现,这个最小值是从点1到所有点所花时间的最小值,其实是访问这些节点中的最大值,因为只有访问了最长时间的那个点才算访问了所有点.所以求最短路之后 ...

  9. httprunner学习18-多进程运行模式

    前言 使用Locust进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以使用主从模式,启动一个master节点,多个slave节点. 主从模式 loucsts 是httprunner 里面 ...

  10. wordpress导航当前页面菜单高亮显示如何操作

    我们在制作wordpress主题时有些客户要求导航在访问某个菜单时,这个菜单项会高亮显示,让用户知道自己正在访问的是哪个菜单下的内容,这个要如何实现呢?wordpress早就为你想好了,.curren ...