聊聊微信小程序自動化如何來作


1. 前言

日常咱們使用自動化主要是針對 App 端和 Web 端,另外還有兩種場景比較少用可是也很重要,分別是:瀏覽器、微信小程序。chrome

今天咱們聊聊如何在微信小程序上進行自動化操做。npm

2. 微信小程序

小程序內嵌於微信內部,頁面包含 Native 原生元素和 Web 元素,至關於一個混合應用。小程序

而且,小程序 Web 部分是基於騰訊 X5 內核開發的,也是一個特殊的 WebView。微信小程序

那小程序如何作自動化呢?
瀏覽器

主要方法包含:UiAutomator 原生、基於 WebView 、基於微信官方自動化 SDK微信

下面將這些方式逐一進行說明網絡

3. 原生

原生的自動化就是利用 UiAutomator2 捕獲到元素 UI 樹,而後利用元素屬性及層級關係及座標值來定位元素,執行一系列自動化操做。框架

可是原生有一個缺點,因爲小程序基於 WebView,因此元素定位符缺失,不少屬性包含:content-desc、resource-id 不存在。工具

雖然利用這種方法來進行元素定位存在必定難度,可是仍是能夠利用元素的層級關係來補充這個缺點。測試

4. WebView

網絡上大部分的教程都是基於 WebView 來完成的自動化。

首先,須要打開微信的調試功能,文件傳輸助手中輸入:debugx5.qq.com 進入,勾選上 :打開 TBS 內核 Inspector 調試功能。

接着,在 Chrome 上輸入下面的命令進行到設備和頁面管理頁面

chrome://inspect/#devices

點擊對應的頁面項,即能在開發者工具內展現小程序目標頁面完整的 HTML 元素信息。

自動化的操做就很簡單了。好比使用 Appium 的話,直接將對應的小程序發送到文件發送助手中,做爲自動化開始的入口。

切換到小程序全部的 Context ,最後,利用 Css 選擇器去選擇網頁元素進行一系列自動化操做。

須要說明的是,這種方式在微信 7.X 後,默認已經沒法基於 WebView 完成自動化操做了,這個能夠下降 ChromeDriver 的版原本對應微信 x5 內核的版本。

5. 官方 SDK

微信官方提供了小程序自動化 SDK,做爲一款標準的測試框架,支持真機和模擬器。

若是是本身公司開發的小程序,徹底能夠配置小程序開發者工具,利用官方提供的 API 編寫簡單的腳本,指向項目地址,藉助 npm 命令完成自動化操做。

若是是第三方小程序,這種方式就不適合了。

6. 對比

上面提到的小程序自動化的 3 種方式,各有優缺點。

若是是微信小程序源碼,建議使用官方 SDK 完成小程序的自動化,不然能夠選擇原生和 WebView 中的一種。

另外,使用 WebView 作小程序的自動化對 ChromeDriver 的版本及 x5 內核版本有要求,須要保證統一。


更多技術乾貨文章能夠關注公衆號【 AirPython 】來解鎖。

相關文章
相關標籤/搜索