关键词搜索

源码搜索 ×
×

《自拍教程38》Python adb一键截屏

发布2021-01-12浏览324次

详情内容

做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")     
    
      13
    • 14
    • 15

    代码运行方式
    确保Android设备通过USB线与电脑连接了,adb设备python基础教程有效连接,
    以上代码的3种实现形式都可以直接运行,
    比如保存为adb_screencap.py并放在桌面,
    每次需要截图的时候,双击运行adb_screencap.py,
    就会在桌面上生成一个a.png。

    有的Android系统是用screencap命令, 有的是用screenshot命令来截图。
    需要自行尝试下。

    自拍教程(自动化测试Python教程)
    原文链接:https://www.zipython.com/#/detail?id=f8396e5cf8b443ec8b68de2fb4a72623

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载