欢迎访问
这是个实用的Python网站

Android 自动化测试截图详解,保存在电脑或者adb保存在手机中

我们在做APP的自动化测试的时候,通常需要截图。截图通常有两种形式,一种是把截图保存在自己的电脑中。另一种就是把截图保存在手机内存里面。

保存在电脑本地

把截图保存在电脑中的需求比较常见,实现也比较简单,直接调用的 get_screenshot_as_file 方法直接可以保存在 PC 本地。

括号里给的是图片保存的路径和图片的命名。

保存在手机内存

如何把截图保存在手机内存里呢?

adb 推送到手机

第一种方法是先用上面的 get_screenshot_as_file 方法保存到本地,然后用 adb 命令 push 到手机内存里。

push 命令的格式如下:

前面的路径是电脑中的路径,后面的路径是你需要推送到手机内存中的路径,我写的是手机中所有截图的路径目录。

这是 adb 命令,我们在 Python 中怎么调用呢?

引号里写入上面的 adb 命令即可

直接用 adb 中的截图方法

直接用 adb 命令中的截图方法,格式如下。

-p 后写的是保存在手机的路径。

这两种方法有什么区别?第 1 种分了两步,先保存在电脑,再推送到自己 sdcard 手机内存。如果你现在要用这张截图,比如你要将这张图用微信发给一个好友。你会发现在手机相册里暂时找不到这张截图。手机内存和相册同步有时间上的延迟,等待时间不确定。我的 Android 手机是这样,大家可以试试自己的手机。

第2种用 adb 命令直接截图放在手机里的,我们可以直接在相册中找到,而且是显示在最新的位置,这样就很方便了。

其他截图方法探索

其实我还在探索另外一种方法。就是用安卓手机的模拟按键方法。

比如上面中的 4 表示手机中的返回按键,安卓中截图用的是 音量- 键加电源键,音量-键对应的 keyevent 是 25,电源键对应的 keyevent 是 26,把这两个放一起能到达效果吗?

 

这样不行,25 和 26 调个头也不行,keyevent 源码中看了下,也没写支持这种同时按键的,所以这种方法放弃。

keyevent 源码:

 

赞(0) 打赏
未经允许不得转载:Python知识圈 » Android 自动化测试截图详解,保存在电脑或者adb保存在手机中

评论 抢沙发