[發明專利]應用執行腳本的方法、應用測試方法、裝置和計算機設備有效
| 申請號: | 201810338703.3 | 申請日: | 2018-04-16 |
| 公開(公告)號: | CN108595327B | 公開(公告)日: | 2023-06-06 |
| 發明(設計)人: | 周江;王梟;王建行;羅德志;李建穎;周洪斌;魏學峰;嚴明 | 申請(專利權)人: | 深圳市騰訊網絡信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 華進聯合專利商標代理有限公司 44224 | 代理人: | 謝曲曲;何平 |
| 地址: | 518101 廣東省深圳市寶安區新安街道新安六路御景*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用 執行 腳本 方法 測試 裝置 計算機 設備 | ||
本申請涉及一種應用執行腳本的方法、應用測試方法、裝置、計算機可讀存儲介質和計算機設備,所述方法包括:運行應用,所述應用執行編譯后的動態庫,所述編譯后的動態庫是在應用運行過程中注入的;對所述應用的進程的函數執行事件進行監聽;當監聽到所述應用的進程創建虛擬機線程時,則獲取到所述虛擬機線程;對所述虛擬機線程的函數執行事件進行監聽;當監聽到所述虛擬機線程執行所述編譯后的動態庫中包含的邏輯函數時,通過所述虛擬機線程加載外部腳本并執行。這種應用加載腳本的方法,無須創建新的線程對腳本進行加載并執行,而是使用虛擬機自身的線程對腳本進行加載執行,避免了加載外部腳本時會導致崩潰的問題,提高了加載腳本的穩定性。
技術領域
本申請涉及計算機技術領域,特別是涉及一種應用執行腳本的方法、應用測試方法、裝置、計算機可讀存儲介質和計算機設備。
背景技術
隨著計算機技術的發展,越來越多的腳本語言被開發使用,比如lua語言。lua是一種小巧的腳本語言,隨著計算機技術的發展,越來越多的應用逐漸使用lua語言實現應用內的各種邏輯功能。對應用的lua語言部分的功能進行測試時,當需要運行外部腳本文件對應用進行測試時,由于lua本身不支持多線程,因此傳統技術采取的是在另一個線程中進行外部腳本的加載。但這種加載外部腳本進行測試的方式會破壞lua棧結構,導致上下文環境出錯,進而引起應用程序崩潰。
發明內容
基于此,有必要針對上述加載外部腳本進行測試會導致崩潰的技術問題,提供一種提高測試穩定性的應用執行腳本的方法、應用測試方法、裝置、計算機可讀存儲介質和計算機設備。
一種應用執行腳本的方法,所述方法包括:
運行應用,所述應用執行編譯后的動態庫,所述編譯后的動態庫是在應用運行過程中注入的;
對所述應用的進程的函數執行事件進行監聽;
當監聽到所述應用的進程創建虛擬機線程時,則獲取到所述虛擬機線程;
對所述虛擬機線程的函數執行事件進行監聽;
當監聽到所述虛擬機線程執行所述編譯后的動態庫中包含的邏輯函數時,通過所述虛擬機線程加載外部腳本并執行。
一種應用測試方法,所述方法包括:
在被測試終端的應用運行過程中注入編譯后的動態庫;
在協議顯示界面顯示所述應用加載并執行外部測試腳本獲取到的協議數據,所述協議數據為所述應用執行所述外部測試腳本獲取到的數據,所述外部測試腳本是通過所述應用創建的虛擬機線程執行所述編譯后的動態庫中包含的邏輯函數加載的;
獲取對所述協議顯示界面中顯示的所述協議數據的修改指令,將所述修改指令發送至所述被測試終端運行的所述應用,所述修改指令用于所述虛擬機線程根據所述修改指令再次執行所述外部測試腳本。
一種應用執行腳本的裝置,所述裝置包括:
運行模塊,用于運行應用,所述應用執行編譯后的動態庫,所述編譯后的動態庫是在應用運行過程中注入的;
監聽模塊,用于對所述應用的進程的函數執行事件進行監聽;當監聽到所述應用的進程創建虛擬機線程時,則獲取到所述虛擬機線程;對所述虛擬機線程的函數執行事件進行監聽;
腳本執行模塊,用于當監聽到所述虛擬機線程執行所述編譯后的動態庫中包含的邏輯函數時,通過所述虛擬機線程加載外部腳本并執行。
一種應用測試裝置,所述裝置包括:
動態庫注入模塊,用于在被測試終端的應用運行過程中注入編譯后的動態庫;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊網絡信息技術有限公司,未經深圳市騰訊網絡信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810338703.3/2.html,轉載請聲明來源鉆瓜專利網。





