[發明專利]一種自動化測試方法、裝置、服務器及存儲介質有效
| 申請號: | 201811003103.8 | 申請日: | 2018-08-30 |
| 公開(公告)號: | CN109144876B | 公開(公告)日: | 2021-02-19 |
| 發明(設計)人: | 李興波;牛耕 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 自動化 測試 方法 裝置 服務器 存儲 介質 | ||
本發明實施例公開了一種自動化測試方法、裝置、服務器及存儲介質。所述方法包括:獲取各個安卓安裝包APK對應的混淆行為日志;對各個APK對應的混淆行為日志進行解混淆,確定出各個APK對應的未混淆行為日志;根據各個APK對應的未混淆行為日志對各個APK進行測試??梢栽诨旌暇幾g模式下自動地對各個APK進行測試,從而可以解決自動化生成的測試案例不具有通用性和移植性的問題。
技術領域
本發明實施例涉及互聯網技術領域,尤其涉及一種自動化測試方法、裝置、服務器及存儲介質。
背景技術
代碼混淆(Obfuscated code)亦稱花指令,是將計算機程序的代碼,轉換成一種功能上等價,但是難于閱讀和理解的形式的行為。具體地,在代碼混淆過程中可以將代碼中的各種元素,如變量、函數、類的名字改寫成無意義的名字。比如改寫成單個字母,或是簡短的無意義字母組合,甚至改寫成“__”這樣的符號,使得閱讀的人無法根據名字猜測其用途。代碼混淆可以用于程序源代碼,也可以用于程序編譯而成的中間代碼。
在安卓Android客戶端的開發過程中,出于對應用資源的保密需要,通常服務器端會對應用資源進行混淆操作?;煜蟮目丶蘒D可以通過UiAutomator等工具抓取控件ID顯示為不具有可讀性的標識,增加對應用資源的逆向工程難度。
在實現本發明的過程中,發明人發現現有技術中至少存在如下問題:
在混淆編譯的模式下,代碼混淆使得自動化生成的測試案例不具有通用性和移植性。具體地,在安卓安裝包APK A上的測試案例,無法運行在APK B上。尤其在分支開發模式下,不同分支產出的安裝包混淆結果不同,這一問題變得尤為嚴重。
發明內容
有鑒于此,本發明實施例提供一種自動化測試方法、裝置、服務器及存儲介質,可以在混合編譯模式下自動地對各個APK進行測試,從而可以解決自動化生成的測試案例不具有通用性和移植性的問題。
第一方面,本發明實施例提供了一種自動化測試方法,所述方法包括:
獲取各個安卓安裝包APK對應的混淆行為日志;
對各個APK對應的混淆行為日志進行解混淆,確定出各個APK對應的未混淆行為日志;
根據各個APK對應的未混淆行為日志對各個APK進行測試。
在上述實施例中,所述獲取各個安卓安裝包APK對應的混淆行為日志,包括:
接收各個客戶端發送的APK測試請求;其中,各個APK測試請求中攜帶各個客戶端的客戶端標識;
響應于各個客戶端發送的APK測試請求獲取各個APK對應的混淆行為日志。
在上述實施例中,所述根據各個APK對應的未混淆行為日志對各個APK進行測試,包括:
將各個APK對應的未混淆行為日志進行聚合,確定出全部APK對應的未混淆行為日志;
根據全部APK對應的未混淆行為日志確定出全部APK對應的目標測試案例;
根據全部APK對應的目標測試案例對各個APK進行測試。
在上述實施例中,所述根據全部APK對應的未混淆行為日志確定出全部APK對應的目標測試案例,包括:
將全部APK對應的未混淆行為日志進行再混淆,確定出全部APK對應的再混淆行為日志;
根據全部APK對應的再混淆行為日志確定出全部APK對應的目標測試案例。
在上述實施例中,所述混淆行為日志包括:至少一個保護控件標識以及各個保護控件標識對應的操作序列;所述未混淆行為日志包括:至少一個資源控件標識以及各個資源控件標識對應的操作序列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811003103.8/2.html,轉載請聲明來源鉆瓜專利網。





