[發明專利]基于Appium的安卓應用自動化觸發執行方法在審
| 申請號: | 201810271904.6 | 申請日: | 2018-03-29 |
| 公開(公告)號: | CN108829389A | 公開(公告)日: | 2018-11-16 |
| 發明(設計)人: | 宋虹;王焱景;朱雙 | 申請(專利權)人: | 中南大學 |
| 主分類號: | G06F8/38 | 分類號: | G06F8/38;G06F9/451 |
| 代理公司: | 長沙永星專利商標事務所(普通合伙) 43001 | 代理人: | 周詠;米中業 |
| 地址: | 410083 *** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 觸發 應用 模擬操作 自動化 控件元素 啟動參數 唯一標識 應用程序 遍歷 壓棧 算法 存儲 覆蓋率 輸出 | ||
1.一種基于Appium的安卓應用自動化觸發執行方法,包括如下步驟:
S1.獲取待執行Android應用程序的全部Activity組件名稱并生成啟動參數文件,將待執行Android應用程序在Appium框架下自動啟動執行;
S2.獲取待執行Android應用的GUI信息及控件元素的信息,并生成GUI唯一標識;
S3.動態生成待執行應用的模擬操作事件,并進行壓棧存儲;
S4.在Appium框架下按照深度遍歷算法依次執行步驟S3得到的模擬操作事件,從而對待執行應用進行自動觸發測試;
S5.輸出遍歷結果,從而完成安卓應用的自動化觸發執行。
2.根據權利要求1所述的基于Appium的安卓應用自動化觸發執行方法,其特征在于步驟S2所述的獲取待執行Android應用的GUI信息及控件元素的信息并生成GUI唯一標識,具體包括如下步驟:
a.獲取當前GUI下所有控件元素信息和GUI所在的Activity組件名稱;
b.生成當前GUI的唯一標識并存儲。
3.根據權利要求1所述的基于Appium的安卓應用自動化觸發執行方法,其特征在于步驟S3所述的動態生成待執行應用的模擬操作事件并進行壓棧存儲,具體為包括如下步驟;
(1)對編輯控件EditText生成模擬操作事件Event;
(2)對列表控件ListView生成模擬操作事件Event;
(3)對除編輯控件和列表控件外的剩余控件生成模擬操作事件Event。
4.根據權利要求3所述的基于Appium的安卓應用自動化觸發執行方法,其特征在于步驟(1)所述的對編輯控件EditText生成模擬操作事件Event,具體為首先,獲取編輯控件EditText的輸入提示信息,當編輯控件EditText的text屬性值或content-desc屬性值不為空時,則以此作為編輯控件EditText的輸入提示信息,否則根據編輯控件EditText坐標屬性bounds尋找當前GUI下,坐標中心點位于編輯控件EditText左側且與之距離最近的文本控件TextView,作為與編輯控件EditText存在語義關聯的控件,獲得其不為空的text屬性值或content-desc屬性值作為編輯控件EditText的輸入提示信息;其次,根據輸入提示信息匹配EditContent.txt中寫入的鍵值對,如果匹配成功,則以匹配到的值作為編輯控件EditText的測試數據,生成執行輸入操作的模擬操作事件Event,否則分析輸入提示信息,產生要求格式的隨機輸入字符串作為編輯控件EditText的測試數據,生成執行輸入操作的模擬操作事件Event,最后將生成的Event壓入EventStack棧中存儲。
5.根據權利要求3所述的基于Appium的安卓應用自動化觸發執行方法,其特征在于步驟(2)所述的對列表控件ListView生成模擬操作事件Event,具體為首先分別判斷列表控件ListView的clickable屬性和long-clickable屬性的值,對其子項目Item生成相應的操作事件Event壓入EventStack棧中存儲;然后根據Item中內部控件的clickable屬性、long-clickable屬性對其生成相應的操作事件Event壓入EventStack棧中存儲。
6.根據權利要求1所述的基于Appium的安卓應用自動化觸發執行方法,其特征在于步驟S4所述的在Appium框架下按照深度遍歷算法依次執行步驟S3得到的模擬操作事件從而對待執行應用進行自動觸發測試,具體包括如下步驟:
1)確定TraversalStack棧頂所指向的GUI是否完成其內部控件的遍歷;
2)前往模擬操作事件Event正確的執行頁面;
3)執行模擬操作事件Event;
4)繼續遍歷待執行應用中未被測試的Activity組件,直到遍歷結束。
7.根據權利要求6所述的基于Appium的安卓應用自動化觸發執行方法,其特征在于步驟4)所述的繼續遍歷待執行應用中未被測試的Activity組件,具體為在TraversalStack中GUI的相關模擬操作事件全部被執行完畢,完成對Activity組件森林中以主頁面所在Activity組件作為根節點的樹的深度遍歷之后,判斷待執行應用是否仍有Activity組件未被測試并依次利用Appium工具以之作為主頁面所在Activity組件啟動應用,重復權利要求1中所述步驟S2~S4對執行未被測試的Activity組件再次進行深度優先遍歷,直至不存在未被測試的Activity組件為止。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中南大學,未經中南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810271904.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種界面展示的處理方法及系統
- 下一篇:一種軟件主界面框架設計方法





