【MonkeyRunner】[技术博客]用python编写脚本查看设备信息
【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编写脚本查看设备信息的更多相关文章
- [转]有哪些值得关注的技术博客(Java篇)
有哪些值得关注的技术博客(Java篇) 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...
- 一文搞定scrapy爬取众多知名技术博客文章保存到本地数据库,包含:cnblog、csdn、51cto、itpub、jobbole、oschina等
本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高 ...
- [技术博客] Android 自动化测试
[技术博客] Android 自动化测试 安卓自动化测试工具与平台的搭建 类似于网页端自动化,安卓测试的自动化也主要是针对控件的自动化.其原理就是通过python(其他语言) 的脚本来代替我们手动完成 ...
- [技术博客]nginx 部署 apt 源
[技术博客] nginx 部署 apt 源 出于各种各样的原因, 有时需要自己配置apt源, 比如发布自己编写的debian软件包, 内网中只有一台电脑可以访问外网,或者在本地配置自己的apt源.我们 ...
- 【软工】[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE
[技术博客] 用Monaco Editor打造接近vscode体验的浏览器IDE 官方文档与重要参考资料 官方demo 官方API调用样例 Playground 官方API Doc,但其搜索框不支持模 ...
- [技术博客] BeautifulSoup4分析网页
[技术博客] BeautifulSoup4分析网页 使用BeautifulSoup4进行网页文本分析 前言 进行网络爬虫时我们需要从网页源代码中提取自己所需要的信息,分析整理后存入数据库中. 在pyt ...
- [技术博客] 敏捷软工——JavaScript踩坑记
[技术博客] 敏捷软工--JavaScript踩坑记 一.一个令人影响深刻的坑 1.脚本语言的面向对象 面向对象特性是现代编程语言的基本特性,JavaScript中当然集成了面向对象特性.但是Java ...
- 【转】【技术博客】Spark性能优化指南——高级篇
http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236e ...
- IT技术博客收藏
1. coolshell.cn 特点: 每篇都是精品 2. 云风 特点: 3. 阮一峰的博客 特点:高精深 3. offbye涛声依旧-全端技术博客 特点: android的开发技术比较多,非常值得一 ...
随机推荐
- 交互式脚本expect场景示例
expect语法示例 #spawn 新建一个进程,这个进程的交互由expect控制 #expect 等待接受进程返回的字符串,直到超时时间,根据规则决定下一步操作 #send 发送字符串给expect ...
- ajxa和axios的区别
1.axios 原理还是属于 XMLHttpRequest, 因此需要实现一个ajax. 2.但还会需要一个promise对象来对结果进行处理.3.ajax实现var Ajax={ get: func ...
- mybatis的一级缓存与二级缓存
一级缓存 Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中 ...
- Python的矩阵传播机制&矩阵运算
Python的矩阵传播机制(Broadcasting) 最近在学习神经网络.我们知道在深度学习中经常要操作各种矩阵(matrix).回想一下,我们在操作数组(list)的时候,经常习惯于用for循环( ...
- web模拟终端 --使用shellinabox
关于shellinabox ShellInABox实现了一个Web服务器,可以将任意命令行工具导出到基于Web的终端仿真器.任何支持JavaScript和CSS的Web浏览器都可以访问此模拟器,并且不 ...
- Prometheus(五):Prometheus+Alertmanager 配置企业微信报警
此处默认已安装Prometheus服务,服务地址:192.168.56.200 一.设置企业微信 1.1.企业微信注册(已有企业微信账号请跳过) 企业微信注册地址:https://work.weix ...
- flask项目
虚拟环境需要 pipenv install flask pipenv install flask-sqlalchemy pipenv install python-dotenv pipenv inst ...
- Letsencrypt.org CA免费证书生成
Letsencrypt.org CA免费证书使用 Let's 支持多中客户端,这里使用acme.sh客户端配置免费证书. acme.sh优点: github官方地址 纯用Shell(Unix外壳)语言 ...
- Linux运维技术之NFS网络文件系统
NFS:网络文件系统,只能工作在Unix/linux之间,不能与windows之间交互. NFS文件系系统只能基于ip来认证! RPC:远程过程调用,简化分布式应用程序的开发, 对Linux系统而言, ...
- python的包管理软件Conda的用法
创建自己的虚拟环境 conda create -n learn python= 切换环境: activate learn 查看所有环境: conda env list 安装第三方包: conda in ...