審UI 還在找設(shè)備一個一個看效果?一段腳本都搞定
一、前言
昨天發(fā) wm 適配的文章之后,發(fā)現(xiàn)好像還是不方便。每次都需要一次次修改參數(shù),來完成對設(shè)備參數(shù)的調(diào)整。而且通常,我們都是一個頁面一個頁面開發(fā)的,如果可以一次將一個頁面,在不同設(shè)備的顯示情況,截圖出來,應(yīng)該就會更方便一點。
有關(guān) wm 命令相關(guān)的內(nèi)容,不了解的可以先看看之前的文章《當你只有一個設(shè)備的時候,如何做好屏幕適配》。
所以我寫了個 Python 的腳本,用的上的就看看,用不上的權(quán)當娛樂了。
因為 Python 的版本差異,這里特別說明一下,我這邊的運行環(huán)境是 2.7.10。
二、利用 Python 去修改參數(shù)并截圖
利用 Python 寫邏輯腳本還是很方便的,大概需要用到的就是 Python、adb 命令、wm 命令等等。
先說說思路吧。
其實邏輯很簡單,大概的步驟如下:
利用 Python 去調(diào)用 adb shell wm 命令,修改屏幕參數(shù)。
再使用 adb shell screencap 進行截屏。
將截到的圖片,利用 adb pull 命令,復制到本地。
根據(jù)配置的設(shè)備信息,重復以上邏輯。
邏輯還是很清晰的,直接上代碼了。
先做一下基本的定義,將不變的命令提取出來,并獲取到當前的腳本的目錄地址。
在初始化的時候,判斷本地是否有 devicescreen 文件夾,如果沒有就創(chuàng)建它。
到最重要的方法了,根據(jù)傳遞的參數(shù),修改設(shè)備的屏幕信息,并截圖保存到本地。
因為有一些設(shè)備上,修改了參數(shù)之后設(shè)備會有卡頓和刷新的情況,所以在這些操作之后,都粗暴的等待了一會兒,我這里設(shè)定的是 3s。
使用完成之后,在將屏幕 reset 到最初的狀態(tài)。
到這里就已經(jīng)完成了主要邏輯的編寫,然后只需要配置好我們需要的設(shè)備參數(shù)即可。這里搜集了比較常見的設(shè)備。

完成之后,調(diào)用 python start.py 或者在 PyCharm 里直接運行。最終會把運行的結(jié)果,保存在本地的 devicescreen 目錄下。
這是整個項目的結(jié)構(gòu)。
在 devicescreen 目錄下,就可以看到我們需要的不同設(shè)備的截圖了。
這里我用了掘金的個人主頁頁面,可以看到在不同設(shè)備下顯示效果的截屏。
三、小結(jié)
其實 wm 命令,還是有一些缺陷的,最常見的就是修改了屏幕參數(shù),頁面并沒有刷新正確,這個時候退出 App 再重新進入就好了。
這里的使用方式只能作為一個輔助,如果遇上無法正確修改的頁面,就需要退出重進的話,這樣一個簡單的腳本就無效了。
所以這個腳本只適用于部分場景,非所有場景都適用。
雖然關(guān)鍵代碼文內(nèi)都有,但是如果你想要源碼的話,可以在公眾號回復關(guān)鍵字『適配腳本』。

【本文為51CTO專欄作者“張旸”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號聯(lián)系作者獲取授權(quán)】