本發(fā)明涉及圖像或視頻識別或理解領域,具體為一種基于多模態(tài)感知的app自動化測試方法及agent系統(tǒng)。
背景技術:
1、隨著移動應用生態(tài)的復雜化與多端融合趨勢的加速,自動化測試技術面臨日益嚴峻的挑戰(zhàn)。當前主流的自動化測試框架(如appium、ui?automator等)主要基于預定義控件坐標或?qū)蛹壗Y(jié)構(gòu)屬性進行操作,其技術局限性在跨設備、跨版本及動態(tài)化場景中逐漸凸顯,具體表現(xiàn)為以下問題:
2、動態(tài)界面適配能力不足:傳統(tǒng)工具依賴靜態(tài)坐標或控件屬性定位元素,無法有效應對界面動態(tài)渲染、分辨率自適應調(diào)整或屏幕旋轉(zhuǎn)等場景,導致測試用例在設備遷移或布局更新時頻繁失效;
3、視覺語義理解斷層:現(xiàn)有方案缺乏對界面元素的視覺特征(如圖標樣式、色彩對比度)與功能語義的關聯(lián)建模能力,難以識別復雜交互場景中的意圖(如區(qū)分"購物車"圖標與"收藏夾"圖標的功能差異),限制了測試邏輯的智能化水平;
4、版本迭代維護成本高:靜態(tài)腳本與固化的測試知識庫無法適應app快速迭代中的界面邏輯變更(如控件層級重構(gòu)、業(yè)務流程跳轉(zhuǎn)規(guī)則調(diào)整),需人工重新定位元素并修正測試邏輯,顯著增加維護開銷;
5、跨平臺泛化能力缺失:android與ios等異構(gòu)agent在ui描述體系、交互協(xié)議上的差異性,迫使開發(fā)者需為不同平臺獨立設計測試腳本,導致測試邏輯復用率低且多端一致性驗證困難。
6、盡管已有研究嘗試通過ocr文本匹配或圖像模板識別提升控件定位魯棒性,但仍未突破單一模態(tài)信息處理的局限性,且缺乏對界面上下文語義的動態(tài)推理能力。此外,現(xiàn)有知識驅(qū)動型測試方法多采用預定義規(guī)則庫,難以實現(xiàn)實時環(huán)境感知與自適應決策,制約了自動化測試agent系統(tǒng)在復雜場景中的長期演進能力。
技術實現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于多模態(tài)感知的app自動化測試方法及agent系統(tǒng),其目的在于克服現(xiàn)有技術中存在的上述問題。
2、為實現(xiàn)目的,本發(fā)明提供如下技術方案:
3、一種基于多模態(tài)感知的app自動化測試方法,包括以下步驟:
4、步驟s1:啟動并連接被測的app,同時因果鏈學習器根據(jù)動態(tài)知識庫完成初始化。
5、步驟s2:實時感知層對app的屏幕界面實時截圖。
6、步驟s3:利用截圖進行動態(tài)響應檢測。
7、步驟s4:通過動態(tài)響應檢測,發(fā)現(xiàn)界面變化時,分三路進行處理截圖:進行控件邊界框檢測;對界面元素進行視覺語義編碼;同步提取文本內(nèi)容,生成功能標簽。
8、步驟s5:融合三路輸出結(jié)果,構(gòu)建包含層級拓撲關系的ui樹,并將ui樹傳遞給動態(tài)推理層。
9、步驟s6:當動態(tài)推理層接收到任務指令時,動態(tài)推理層通過神經(jīng)-符號協(xié)同機制,解析任務指令,并結(jié)合ui樹,生成動作序列,再對動作序列進行符號系統(tǒng)校驗和權限狀態(tài)檢查。
10、步驟s7:將動作序列更新到動態(tài)文檔,并保存到實時知識庫,同時將動作序列傳遞給執(zhí)行優(yōu)化層。
11、步驟s8:執(zhí)行優(yōu)化層將動作序列的動作轉(zhuǎn)換為平臺專屬的操作代碼;執(zhí)行操作代碼,并將操作路徑和操作結(jié)果存儲于多模態(tài)記憶池。
12、步驟s10:重復步驟s3-s8,直至完成當前任務指令。
13、進一步,上述步驟s4中,由yolov5模型進行控件邊界框檢測;由clip模型對界面元素進行視覺語義編碼;由ocr模塊同步提取文本內(nèi)容,生成功能標簽。
14、進一步,上述步驟s5中,ui樹的格式為xml或者json。
15、進一步,上述步驟s6中,動態(tài)推理層通過神經(jīng)-符號協(xié)同機制,通過神經(jīng)-符號協(xié)同機制,解析任務指令,并結(jié)合ui樹,生成動作序列,再對動作序列進行符號系統(tǒng)校驗和權限狀態(tài)檢查,具體是:
16、利用大語言模型對用戶發(fā)出的任務指令進行語義解析,得到指令意圖;因果鏈學習器根據(jù)ui樹和指令意圖,生成動作序列;符號系統(tǒng)對動作序列進行符號系統(tǒng)校驗和權限狀態(tài)檢查,修復存在的錯誤,確保有權限執(zhí)行該動作。
17、進一步,上述步驟s6中,結(jié)合多模態(tài)記憶池存儲的時序記憶,進一步優(yōu)化動作序列的生成。
18、進一步,上述步驟s6中,接收完一條任務指令后,關閉任務指令入口;
19、在上述步驟s5與步驟s6之間,還包括:動態(tài)推理層檢測當前任務指令是否完成;如果完成,保存檢測結(jié)果到實時知識庫,打開任務指令入口,接收下一條任務指令;如果未完成,則繼續(xù)處理當前任務指令,且任務指令入口保持關閉。
20、進一步,上述步驟s8還包括,在符號系統(tǒng)校驗失敗或者操作結(jié)果錯誤時,自動標注異常路徑,觸發(fā)路徑回滾,反饋至因果鏈學習器,同時更新規(guī)避策略至實時知識庫。
21、一種基于多模態(tài)感知的app自動化測試agent系統(tǒng)(即智能體),用于執(zhí)行如上述任一app自動化測試方法;該agent系統(tǒng)以大語言模型為基座,包括實時感知層、動態(tài)推理層、執(zhí)行優(yōu)化層、實時知識庫和多模態(tài)記憶池;
22、上述實時感知層用于將app的屏幕界面實時截圖轉(zhuǎn)化成包含層級拓撲關系的ui樹;
23、上述動態(tài)推理層用于通過神經(jīng)-符號協(xié)同機制,解析任務指令,并結(jié)合ui樹,生成動作序列,再對動作序列進行符號系統(tǒng)校驗和權限狀態(tài)檢查;
24、上述執(zhí)行優(yōu)化層用于將動作序列轉(zhuǎn)化成平臺專屬的操作代碼,并執(zhí)行操作代碼;
25、上述實時知識庫用于存儲更新的動態(tài)文檔、規(guī)避策略以及保存測試結(jié)果;
26、上述多模態(tài)記憶池用于存儲執(zhí)行操作代碼的操作路徑和操作結(jié)果。
27、進一步,上述實時感知層包括動態(tài)響應檢測模塊、yolov5模型、clip模型、ocr模塊和ui結(jié)構(gòu)生成器,動態(tài)響應檢測模塊用于通過ssim算法對界面變化進行差異度分析;在發(fā)現(xiàn)界面變化時,yolov5模型用于進行控件邊界框檢測,clip模型用于對界面元素進行視覺語義編碼,ocr模塊用于同步提取文本內(nèi)容,生成功能標簽;上述ui結(jié)構(gòu)生成器用于融合三個模型輸出結(jié)果,構(gòu)建包含層級拓撲關系的ui樹;
28、上述動態(tài)推理層包括多功能模塊、因果鏈學習器、符號系統(tǒng)和沖突消除引擎,上述多功能模塊用于進行l(wèi)lm任務解析和任務狀態(tài)檢測;上述因果鏈學習器用于根據(jù)ui樹和任務指令,生成動作序列;上述符號系統(tǒng)用于校驗動作序列,上述沖突消除引擎用于在檢測到符號系統(tǒng)校驗失敗或者操作結(jié)果錯誤時,自動標注異常路徑,觸發(fā)路徑回滾,并反饋至因果鏈學習器。此外,因果鏈學習器在檢測到異常界面時,也將觸發(fā)路徑回滾,產(chǎn)生回滾的動作序列。
29、本發(fā)明相比于現(xiàn)有技術具有如下有益效果:
30、相比于現(xiàn)有技術,本發(fā)明通過三級架構(gòu)實現(xiàn)實時感知-動態(tài)推理-執(zhí)行閉環(huán),在泛化能力、維護成本、異常覆蓋,以及執(zhí)行效率等指標上,均有顯著提升。本發(fā)明可以根據(jù)任務的需要動態(tài)更新知識庫,確保在不同應用場景中快速適應,通過不斷更新歷史信息和操作結(jié)果,自動優(yōu)化自身決策過程。
1.一種基于多模態(tài)感知的app自動化測試方法,其特征在于:包括以下步驟:
2.根據(jù)權利要求1所述的一種基于多模態(tài)感知的app自動化測試方法,其特征在于:所述步驟s4中,由yolov5模型進行控件邊界框檢測;由clip模型對界面元素進行視覺語義編碼;由ocr模塊同步提取文本內(nèi)容,生成功能標簽。
3.根據(jù)權利要求1所述的一種基于多模態(tài)感知的app自動化測試方法,其特征在于:所述步驟s5中,ui樹的格式為xml或者json格式。
4.根據(jù)權利要求1所述的一種基于多模態(tài)感知的app自動化測試方法,其特征在于:所述步驟s6中,動態(tài)推理層通過神經(jīng)-符號協(xié)同機制,解析任務指令,并結(jié)合ui樹,生成動作序列,再對動作序列進行符號系統(tǒng)校驗和權限狀態(tài)檢查,具體是:
5.根據(jù)權利要求1或4所述的一種基于多模態(tài)感知的app自動化測試方法,其特征在于:所述步驟s6中,結(jié)合多模態(tài)記憶池存儲的時序記憶,進一步優(yōu)化動作序列的生成。
6.根據(jù)權利要求1所述的一種基于多模態(tài)感知的app自動化測試方法,其特征在于:所述步驟s6中,接收完一條任務指令后,關閉任務指令入口;
7.根據(jù)權利要求1所述的一種基于多模態(tài)感知的app自動化測試方法,其特征在于:所述步驟s8還包括,在符號系統(tǒng)校驗失敗或者操作結(jié)果錯誤時,自動標注異常路徑,觸發(fā)路徑回滾,反饋至因果鏈學習器,同時更新規(guī)避策略至實時知識庫。
8.一種基于多模態(tài)感知的app自動化測試agent系統(tǒng),其特征在于:用于執(zhí)行如權利要求1-7任意一項所述的app自動化測試方法;該agent系統(tǒng)以大語言模型為基座,包括實時感知層、動態(tài)推理層、執(zhí)行優(yōu)化層、實時知識庫和多模態(tài)記憶池;
9.根據(jù)權利要求8所述的一種基于多模態(tài)感知的app自動化測試agent系統(tǒng),其特征在于:所述實時感知層包括動態(tài)響應檢測模塊、yolov5模型、clip模型、ocr模塊和ui結(jié)構(gòu)生成器,動態(tài)響應檢測模塊用于通過ssim算法對界面變化進行差異度分析;在發(fā)現(xiàn)界面變化時,yolov5模型用于進行控件邊界框檢測,clip模型用于對界面元素進行視覺語義編碼,ocr模塊用于同步提取文本內(nèi)容,生成功能標簽;所述ui結(jié)構(gòu)生成器用于融合三個模型輸出結(jié)果,構(gòu)建包含層級拓撲關系的ui樹;