微信小程序的自動化測試,目前有兩種。
一、基於微信官方的SDK進行微信小程序的自動化測試
微信小程序自動化 SDK 的缺點:
從官網提供的代碼示例來看,微信的這套體系主要用於研發自測
微信的研發對自動化測試理解不到位,大量的 wait,實用性不高
需要在已有的 WebSocket 體系上做二次封裝對接 Appium
微信官方網址: https://developers.weixin.qq.com/miniprogram/dev/devtools/auto/
二、基於webview利用uiautomator原生定位實現的微信小程序的自動化測試
Appium 使用Uiautomator2定位可以識別內部WebView組件
缺點:
元素定位符不夠精確,content-desc、resource-id 多數都沒有
NoReset 默認為 false,會默認清空微信聊天記錄,所以請使用測試機測試帳號
各版本情況:
微信6.x版本支持基於WebView自動化測試(曾經這個方案是最好用的,Appium 默認支持)
7.x改版后默認已經無法使用基於 WebView 的自動化
7.x + root強行開啟 WebView debug + Appium hack
微信調試開關
文件傳輸助手發送:debugtbs.qq.com或者debugx5.qq.com
注意事項:
WebView 開關/ x5內核調試開關
x5內核版本低,需要低版本的ChromeDriver對應(WebView 版本和 ChromeDriver 版本對應問題 )
低版本的ChromeDriver在高版本7.x以上的Android手機上有Bug(低版本ChromeDriver需要修復 ps 命令的Bug )
ChromeOptions 選項需要填寫AndroidProcess
Context API有一定的延遲需要等待
代碼編寫思路
參考其他博主博文:https://www.cnblogs.com/yyoba/p/9455519.html
參考開源項目:https://github.com/richshaw2015/wxapp-appium