审 UI 还在找设备一个一个看效果?一段脚本都搞定

版权声明:python

本帐号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影全部。shell

每周会统一更新到这里,若是喜欢,可关注公众号获取最新文章。code

未经容许,不得转载。cdn

1、前言

昨天发 wm 适配的文章以后,发现好像仍是不方便。每次都须要一次次修改参数,来完成对设备参数的调整。并且一般,咱们都是一个页面一个页面开发的,若是能够一次将一个页面,在不一样设备的显示状况,截图出来,应该就会更方便一点。blog

有关 wm 命令相关的内容,不了解的能够先看看以前的文章《当你只有一个设备的时候,如何作好屏幕适配》。图片

因此我写了个 Python 的脚本,用的上的就看看,用不上的权当娱乐了。开发

由于 Python 的版本差别,这里特别说明一下,我这边的运行环境是 2.7.10。get

2、利用 Python 去修改参数并截图

利用 Python 写逻辑脚本仍是很方便的,大概须要用到的就是 Python、adb 命令、wm 命令等等。源码

先说说思路吧。it

其实逻辑很简单,大概的步骤以下:

  1. 利用 Python 去调用 adb shell wm 命令,修改屏幕参数。
  2. 再使用 adb shell screencap 进行截屏。
  3. 将截到的图片,利用 adb pull 命令,复制到本地。
  4. 根据配置的设备信息,重复以上逻辑。

逻辑仍是很清晰的,直接上代码了。

先作一下基本的定义,将不变的命令提取出来,并获取到当前的脚本的目录地址。

/s-fa.png
/s-fa.png

在初始化的时候,判断本地是否有 devicescreen 文件夹,若是没有就建立它。

/s-createf.png
/s-createf.png

到最重要的方法了,根据传递的参数,修改设备的屏幕信息,并截图保存到本地。

/s-changescreen.png
/s-changescreen.png

由于有一些设备上,修改了参数以后设备会有卡顿和刷新的状况,因此在这些操做以后,都粗暴的等待了一下子,我这里设定的是 3s。

/s-reset.png
/s-reset.png

使用完成以后,在将屏幕 reset 到最初的状态。

到这里就已经完成了主要逻辑的编写,而后只须要配置好咱们须要的设备参数便可。这里搜集了比较常见的设备。

/s-runcode.png
/s-runcode.png

完成以后,调用 python start.py 或者在 PyCharm 里直接运行。最终会把运行的结果,保存在本地的 devicescreen 目录下。

这是整个项目的结构。

/s-project.png
/s-project.png

在 devicescreen 目录下,就能够看到咱们须要的不一样设备的截图了。

/s-screen.png
/s-screen.png

这里我用了掘金的我的主页页面,能够看到在不一样设备下显示效果的截屏。

/s-cap.jpg
/s-cap.jpg

3、小结

其实 wm 命令,仍是有一些缺陷的,最多见的就是修改了屏幕参数,页面并无刷新正确,这个时候退出 App 再从新进入就行了。

这里的使用方式只能做为一个辅助,若是赶上没法正确修改的页面,就须要退出重进的话,这样一个简单的脚本就无效了。

因此这个脚本只适用于部分场景,非全部场景都适用。

虽然关键代码文内都有,可是若是你想要源码的话,能够在公众号回复关键字『适配脚本』。

公众号二维码.jpg
公众号二维码.jpg

点赞或者分享吧~

相关文章
相关标签/搜索