背景
在相容性測試中,對于一個App進行相容性測試,需要安裝,冷啟動,熱啟動,解除安裝四個步驟,在這四個步驟都正确的情況下,才确定App相容這款手機。
在國内,Android手機的型号,品牌有很多,各個品牌廠商封裝代碼不同,給相容性測試帶來了很大的影響,尤其在Android6.0以後,Android為了使用者安全引入權限彈框,Android8.0以後oppo,vivo等手機需要使用者輸入賬戶,密碼才可以安裝,為確定相容性測試的正确執行,需要引入一種輔助處理機制,點窗助手。
該SDK是基于Google的Uiautomator開發的,是以隻适用于Android系統。
本方案采用雲端拉取彈框資料,動态修改代碼運作參數,完美的解決了相容性測試中彈框導緻的測試失敗的問題。
雲配置是在雲端拉取彈框配置資料,動态固化到本地,uiautomator監聽OnAccessibilityEventListener,拉取固化本地資料,進行彈框處理。架構圖如下圖所示:

整體方案主要分為四個部分:
1.資料更新固化機制:Android終端通過http請求,拉取雲端資料,固化到本地。
2.元件比對模型:Uiautomator監聽OnAccessibilityEventListener事件回調,通過判斷目前的界面是否彈窗,拉取本地資料,進行和彈窗比對。
3.比對成功後的處理:比對成功後,根據操作類型,去做相對應的操作
4.異常機制預警:比對失敗,或者操作失敗,郵件預警。
技術優勢
01
彈框比對資料動态更新,無需停止服務
02
斷網也可以處理彈框
03
元件比對速度快,彈窗定位精準
04
一個彈框,多操作
05
支援多種操作,操作結果成功率比較高
06
支援正則比對查找
07
完美解決AccessibilityNodeInfo點選産生的問題
1.啟動心跳服務,拉取雲端資料
2.資料固化
3.配置服務啟動參數
4.監聽UiAntomation.OnAccessibilityEventListener
5.判定彈框
6.精确比對彈框是否比對資料
7.元件操作:
8.異常預警
效果展示