WEditor:高效的移動端UI自動化腳本可視化編輯器
- 前言
- 一、核心特性與優勢
- 1. 可視化操作,降低門檻
- 2. 跨平臺支持
- 3. 豐富的控件層級展示
- 4. 快捷鍵高效操作
- 5. 開源可擴展
- 二、安裝與環境配置
- 1. 環境準備
- Android 設備用戶需額外準備
- ADB 安裝與配置步驟
- 2. 安裝依賴
- 3. 啟動服務
- Windows 用戶
- Mac/Linux 用戶
- 4. 連接設備
- 三、功能詳解與典型場景
- 1. 屏幕實時預覽與操作
- 2. 控件層級樹與屬性查看
- 3. 腳本編輯與運行
- 4. 代碼片段與模板復用
- 5. 多設備管理
- 四、常見問題與解決方案
- 1. 啟動后無法連接設備
- 2. 控件樹無法獲取或顯示異常
- 3. 腳本運行報錯
- 4. 端口沖突
- 五、與同類工具對比
- 結語
前言
App自動化腳本傳統的編寫方式門檻較高,涉及到控件定位、層級遍歷、事件模擬等復雜操作。為降低自動化測試的門檻,提高測試效率,阿里巴巴開源了 WEditor ,一款可視化UI腳本編輯器。
WEditor 作為 OpenATX 生態的重要子項目,致力于為測試工程師、開發者提供一個所見即所得的 UI 自動化腳本編輯環境。它通過 Web 瀏覽器實現跨平臺操作,支持主流的 Android/iOS 設備,極大地提升了 UI 自動化腳本的開發效率和可維護性。
一、核心特性與優勢
1. 可視化操作,降低門檻
WEditor 提供了類似“錄制回放”的可視化界面,用戶可以通過鼠標點擊、拖拽等方式,直接在頁面上操作手機屏幕,自動生成對應的自動化腳本。無需手寫繁瑣的定位代碼,極大降低了自動化測試的入門門檻。
2. 跨平臺支持
WEditor 基于 Web 技術開發,支持 Windows、Mac、Linux 等主流操作系統。只需安裝 Python3 環境及相關依賴,即可在本地啟動服務,通過瀏覽器訪問,無需額外配置。
3. 豐富的控件層級展示
通過 Dump Hierarchy 功能,WEditor 能夠實時展示當前設備屏幕的控件樹結構,支持節點展開、屬性查看、XPath 路徑自動生成等,方便用戶精準定位控件。
4. 快捷鍵高效操作
WEditor 針對 Windows 和 Mac 平臺分別設計了高效的快捷鍵組合,如 Ctrl+Enter/Command+Enter 一鍵運行腳本,Ctrl+Shift+Enter/Command+Shift+Enter 運行選中代碼等,大幅提升開發效率。
5. 開源可擴展
WEditor 采用 MIT 協議開源,支持二次開發和定制。開發者可根據自身業務需求,擴展功能或集成到現有測試平臺中。
二、安裝與環境配置
1. 環境準備
- 操作系統:Windows 10/11、macOS、Linux
- Python 版本:3.6 及以上
- 瀏覽器:推薦 Google Chrome
Android 設備用戶需額外準備
- ADB 工具(Android Debug Bridge),用于與 Android 設備通信。
ADB 安裝與配置步驟
-
下載 ADB 工具包
訪問 https://adbdownload.com/,根據操作系統下載對應版本。 -
解壓并配置環境變量
-
將下載的壓縮包解壓到任意目錄(如
D:\platform-tools
)。
-
將該目錄添加到系統環境變量
PATH
中。
Windows 下可在“系統屬性”→“高級”→“環境變量”中設置。
-
-
驗證 adb 是否安裝成功
打開命令行(Windows 可用 PowerShell),輸入:adb version
若能正確顯示 adb 版本號,說明安裝成功。
-
連接手機并開啟 USB 調試
- 手機通過 USB 連接電腦。
- 手機端開啟“開發者選項”及“USB 調試”。
- 在命令行輸入:
若能看到設備序列號,說明連接成功。adb devices
2. 安裝依賴
WEditor 依賴于 uiautomator2(Android自動化)和 facebook-wda(iOS自動化),請根據目標設備類型提前安裝好相關依賴。
pip install weditor
如需開發調試,可克隆源碼后本地安裝:
git clone https://github.com/openatx/weditor
pip install -e weditor
3. 啟動服務
Windows 用戶
可通過命令行或桌面快捷方式啟動:
weditor --shortcut
# 或
weditor
Mac/Linux 用戶
直接在終端輸入:
weditor
啟動后,WEditor 會自動打開瀏覽器并訪問本地服務(默認端口 17310)。
4. 連接設備
確保手機已通過 USB 連接到電腦,并開啟了開發者模式及 USB 調試。對于 iOS 設備,需配置 WebDriverAgent 并信任證書。
注意:
- Android 設備需確保 adb 工具已正確安裝并可在命令行中使用。可通過
adb devices
命令檢查設備連接狀態。- 若未安裝 adb,WEditor 將無法識別 Android 設備。
三、功能詳解與典型場景
1. 屏幕實時預覽與操作
WEditor 啟動后,主界面會實時顯示當前連接設備的屏幕截圖。用戶可直接在界面上點擊、滑動、長按等,模擬真實用戶操作。每一次操作都會被記錄,并可自動生成對應的自動化腳本。
2. 控件層級樹與屬性查看
點擊“Dump Hierarchy”或右鍵屏幕,可獲取當前頁面的控件樹。支持節點展開、收起,點擊任意節點可查看其詳細屬性(如 resource-id、class、text、bounds 等),并可一鍵復制 XPath 路徑。
3. 腳本編輯與運行
WEditor 內置代碼編輯器,支持 Python 語法高亮、自動補全。用戶可在編輯器中編寫、修改自動化腳本,并通過快捷鍵或按鈕一鍵運行。運行結果會在下方輸出區域實時展示,便于調試。
4. 代碼片段與模板復用
支持常用操作的代碼片段插入,如點擊、輸入、滑動、等待等。用戶可自定義模板,提高腳本復用率,減少重復勞動。
5. 多設備管理
支持同時連接多臺設備,用戶可在界面上切換目標設備,進行并行測試或多端對比。
四、常見問題與解決方案
1. 啟動后無法連接設備
- 檢查手機是否正確連接,USB 調試是否開啟。
- Android 需安裝 uiautomator2,并確保 adb 工具已安裝且設備已被識別。
- iOS 需配置 WebDriverAgent。
- 嘗試重啟 WEditor 或更換 USB 端口。
2. 控件樹無法獲取或顯示異常
- 某些 App 存在防抓取機制,可嘗試切換頁面或重啟 App。
- 檢查 uiautomator2 服務是否正常運行。
3. 腳本運行報錯
- 檢查 Python 依賴是否完整,建議使用虛擬環境隔離。
- 查看輸出日志,定位具體報錯信息。
4. 端口沖突
- 默認端口為 17310,如被占用可通過
weditor --port 端口號
指定新端口。
五、與同類工具對比
工具 | 可視化編輯 | 多平臺支持 | 腳本導出 | 社區活躍度 | 易用性 |
---|---|---|---|---|---|
WEditor | ? | ? | ? | 高 | 高 |
Appium Inspector | ? | ? | ? | 高 | 中 |
UIAutomator Viewer | 部分 | Android | ? | 中 | 低 |
AirtestIDE | ? | ? | ? | 高 | 高 |
WEditor 在可視化編輯、易用性、腳本導出等方面表現突出,適合快速上手和大規模用例維護。
結語
WEditor 作為一款開源的移動端 UI 自動化腳本可視化編輯器,極大降低了自動化測試的門檻,提高了測試效率和腳本可維護性。
參考資料:
- alibaba/web-editor GitHub 倉庫
- uiautomator2 官方文檔
- facebook-wda 官方文檔
- uiauto.dev 新一代自動化平臺