python处理adb截屏_《自拍教程38》Python adb一键截屏
做Android手机系统或App测试的过程中,
如果碰到了bug,开发一般会需要测试人员提供当时的bug截图,
如何用Python 批处理脚本, 快速实现截图呢?
准备阶段
adb shell screencap -p /sdcard/a.png 命令, 可以实现手机截图并保存到/sdcard/a.png
adb pull /sdcard/a.png . 即可实现导出到当前路径(.代表当前路径)
os.system可以调用以上 adb 命令行工具
Python批处理脚本形式
其实和写DOS批处理脚本类似,
Python只需要用os.system()函数,
即可快速实现调用各类命令行命令。
#coding=utf-8
import os
print("屏幕截取中...请稍候!")
os.system("adb shell screencap -p /sdcard/a.png")
os.system("adb pull /sdcard/a.png .")
print("截图完毕!")
os.system("pause")
os.system("pause"),建议尽量加上,其含义是暂停程序执行,
等待用户查看脚本执行结果,避免运行完毕后直接自动关闭脚本执行cmd窗口。
Python面向过程函数形式
找到可以封装成一个函数块的小代码块儿, 用函数封装起来.
函数的命名一般建议用"动词", 所以我们命名为: "screencap",
封装好后, 用screencap()函数调用即可。
#coding=utf-8
import os
def screencap(): #封装
print("屏幕截取中...请稍候!")
os.system("adb shell screencap -p /sdcard/a.png")
os.system("adb pull /sdcard/a.png .")
print("截图完毕!")
screencap() #调用
os.system("pause")
Python面向对象类形式
以"一切皆可归类"的思想, 先抽象化出一个类来,
类名一般建议用"名词", 所以我们命名为"ScreenCapturer",
代表屏幕捕捉器, 且一般要驼峰式(首字母大写)来规范类的命名.
养成良好的类的初始化(init)的习惯,
初始化过程中, 可以pass(什么都不做)
这个ScreenCapturer 类, 目前只需要一个截屏的函数(动作功能)就足够了,
函数的命名一般建议用"动词", 所以我们命名为: "screencap" .
类是一个抽象的事物, 必须实例化成具体的对象后,
才能进行调用, 所以我们实例化并命名成了s_obj, 表明是一个对象.
实例化成具体对象后, 对象就可以调用screencap这个函数了.
#coding=utf-8
import os
class ScreenCapturer(): #类名
def __init__(self): #类的初始化
pass
def screencap(self): #定义类内部的函数名
print("屏幕截取中...请稍候!")
os.system("adb shell screencap -p /sdcard/a.png")
os.system("adb pull /sdcard/a.png .")
print("截图完毕!")
s_obj = ScreenCapturer() #类实例化成一个对象
s_obj.screencap() #用对象来调用函数
os.system("pause")
代码运行方式
确保Android设备通过USB线与电脑连接了,adb设备有效连接,
以上代码的3种实现形式都可以直接运行,
比如保存为adb_screencap.py并放在桌面,
每次需要截图的时候,双击运行adb_screencap.py,
就会在桌面上生成一个a.png。
有的Android系统是用screencap命令, 有的是用screenshot命令来截图。
需要自行尝试下。
python处理adb截屏_《自拍教程38》Python adb一键截屏相关推荐
- python处理adb截屏_《自拍教程38》Python_adb一键截屏
做Android手机系统或App测试的过程中, 如果碰到了bug,开发一般会需要测试人员提供当时的bug截图, 如何用Python 批处理脚本, 快速实现截图呢? 准备阶段 adb shell scr ...
- openpyxl安装_自拍教程76Python 一键批量安装第三方包
案例故事: 在测试环境搭建环节,尤其是需要在新的电脑上搭建Python测试环境时, 可以考虑把日常自动化测试所需要用到的第三方Python包(非自带内置包), 一次性批量安装上. 准备阶段 1.确保p ...
- 根据测试路径自动生成测试用例_自拍教程75Python 根据测试用例选择测试资源
案例故事:Android手机音视频图片解码播放测试,有将近上千条用例, 包含了不同的音视频图片文件,每条用例都至少对应了一个测试资源文件.整个测试资源仓库,将近100G,一些视频比如High Prof ...
- 《自拍教程38》Python adb一键截屏
做Android手机系统或App测试的过程中, 如果碰到了bug,开发一般会需要测试人员提供当时的bug截图, 如何用Python 批处理脚本, 快速实现截图呢? 准备阶段 adb shell scr ...
- android 截屏_图文小编福利:Apowersoft专业截屏王
今天小编给大家带来一款非常强大的屏幕截图软件Apowersoft专业截屏王,英文名叫做Apowersoft Screen Capture Pro,通过这款软件可以帮助用户轻松进行屏幕截图,提供全屏.窗 ...
- python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
前言 数组类型是各种编程语言中基本的数组结构了,本文来盘点下Python中各种"数组"类型的实现. list tuple array.array str bytes bytearr ...
- python学好了能干啥_新手该如何学python怎么学好python?_python学好了能干什么
1)学好python的第一步,就是马上到www.python.org网站上下载一个python版本.我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等. 2)下载完毕后,就可 ...
- python中年大叔学编程_中年大叔学编程-Python简单操作文件
原标题:中年大叔学编程-Python简单操作文件 在计算机中,经常打交道的就是各种文档,用得比较多的软件就是office和记事本来操作文件,那么我们试试用Python来简单读写文件. Open函数的用 ...
- python编程怎么建立工程_教你如何用Python脚本快速创建项目
相信初学Cocos2D者对Python还很陌生,今天本篇教程教你如何用Python脚本快速创建项目. 在Cocos2d-x2.1.4以上的版本中,取消了使用vs模版创建项目的方法,开始使用python ...
最新文章
- 位域(bit fields)简介
- Redis根据是否存在设置值
- java.lang.reflect.Constructor
- figma设计_5位来自杂乱无章的设计师的Figma技巧
- 01_SpringCoud 整合SpringCoud alibaba Nacos
- [ES6] 细化ES6之 -- 前端模块化
- 阿里云智能语音交互服务导览
- SAP MM ‘Pricing Date Control‘字段的理解
- 谈一下ACM的入门书籍及方法
- utilities(matlab)—— PSNR 值的计算
- r中gglot怎么组合多张图_继电器组合扫盲篇
- 21. PHP 表单验证 - 完成表单实例
- QT cmd强制删除文件
- 平面设计师经常去哪些网站?
- C++不知算法系列之高精度数值处理算法
- 关于eclipse项目中项目上直接出现大红感叹号的问题
- 计算机与应用在线作业答案,计算机应用基础在线作业及答案
- PHP模式-单例模式
- JavaScript设计模式浅析
- mysql备份工具xtr,xtrbackup备份mysql与恢复
热门文章
- 16进制颜色代码大全
- 600度近视眼恢复方法_高度近视600度如何恢复视力?这三大办法
- 一度智信开网店靠谱吗
- CVPR:Refining Pseudo Labels with Clustering Consensus over Generations for Unsupervised Object Re-ID
- 关于移动视频直播技术,关键干货都在这里了(三)编码和封装
- html 字体模糊,详解css3使用transform出现字体模糊的解决办法
- python分析红楼梦中人物形象_《红楼梦》中女性人物形象分析
- 全靠这份Java知识点PDF大全,先睹为快
- # Sql语句过长报错、查询慢优化方案探索
- 墨者_密码学加解密实训(摩斯密码第1题)