[發明專利]一種基于動作觸摸模擬的自動化測試方法和裝置有效
| 申請號: | 201310222513.2 | 申請日: | 2013-06-06 |
| 公開(公告)號: | CN103353858A | 公開(公告)日: | 2013-10-16 |
| 發明(設計)人: | 李炳國 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京鴻德海業知識產權代理事務所(普通合伙) 11412 | 代理人: | 袁媛 |
| 地址: | 100085 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 動作 觸摸 模擬 自動化 測試 方法 裝置 | ||
【技術領域】
本發明涉及計算機測試技術領域,特別涉及一種基于動作觸摸模擬的自動化測試方法和裝置。
【背景技術】
Monkey測試是通過Monkey程序模擬用戶點擊屏幕、滑動、按鍵等操作來對設備上的程序進行壓力測試。目前iOS產品的Monkey自動化測試需要通過連接PC端(Mac機器)的Instruments工具,然后啟動javascript腳本執行Monkey自動化測試。這種方式存在以下缺陷:
1)必須連接Mac機器才能夠執行Monkey測試,占用額外的資源。
2)對Instruments工具的內存要求較高,如果內存不足可能導致Monkey測試停止,測試質量無法得到保證。
【發明內容】
有鑒于此,本發明提供了一種基于動作觸摸模擬的自動化測試方法和裝置,以便于節約資源和提高測試質量。
具體技術方案如下:
一種基于動作觸摸模擬的自動化測試方法,該方法包括:
S1、生成符合測試狀態的觸摸事件并組合成觸摸動作的觸摸事件序列;
S2、將觸摸事件序列發送給被測試系統的事件轉發對象,由事件轉發對象對序列中的觸摸事件進行轉發。
根據本發明一優選實施例,所述步驟S1具體包括:
S11、從測試用例中獲取觸摸動作信息;
S12、根據獲取的觸摸動作信息計算觸摸軌跡;
S13、按照觸摸動作方向,每隔預設時間間隔在觸摸軌跡中對應位置插入與該位置的觸摸動作類型對應的觸摸事件,得到觸摸事件序列。
根據本發明一優選實施例,所述觸摸動作信息采用多元參數組進行描述,所述多元參數組包括:起始點和結束點的位置、速度、加速度、持續時間和點擊次數。
根據本發明一優選實施例,若所述觸摸動作類型為N點觸摸,則所述觸摸動作信息采用N個多元參數組進行描述,在所述步驟S12中得到N條觸摸軌跡,在所述步驟S13中每個觸摸事件插入的位置存在N個坐標點,N為正整數。
根據本發明一優選實施例,在插入與該位置的觸摸動作類型對應的觸摸事件時,在起始點位置插入按下狀態的觸摸事件,在結束點位置插入彈起狀態的觸摸事件,在起始點和結束點之間的各位置插入移動狀態的觸摸事件。
根據本發明一優選實施例,若所述被測試系統為iSO系統,則所述觸摸事件為UIEvent,所述事件轉發對象為UIApplication,所述UIApplication將UIEvent序列中的UIEvent分發給目標視圖;
若所述被測試系統為Android系統,則所述觸摸事件為MotionEvent,所述事件轉發對象為Instrumentation,所述Instrumentation將MotionEvent序列中的MotionEvent轉發給Android系統,以供Android系統系統廣播給監聽的Application。
一種基于動作觸摸模擬的自動化測試裝置,該裝置包括:
事件生成單元,用于生成符合測試狀態的觸摸事件并組合成觸摸動作的觸摸事件序列;
事件發送單元,用于將所述觸摸事件序列發送給被測試系統的事件轉發對象,由事件轉發對象對序列中的觸摸事件進行轉發。
根據本發明一優選實施例,所述事件生成單元具體包括:
信息獲取子單元,用于從測試用例中獲取觸摸動作信息;
軌跡計算子單元,用于根據所述觸摸動作信息計算觸摸軌跡;
事件插入子單元,用于按照觸摸動作方向,每隔預設時間間隔在觸摸軌跡中對應位置插入與該位置的觸摸動作類型對應的觸摸事件,得到觸摸事件序列。
根據本發明一優選實施例,所述觸摸動作信息采用多元參數組進行描述,所述多元參數組包括:起始點和結束點的位置、速度、加速度、持續時間和點擊次數。
根據本發明一優選實施例,若所述觸摸動作類型為N點觸摸,則所述觸摸動作信息采用N個多元參數組進行描述,所述軌跡計算子單元得到N條觸摸軌跡,所述事件插入子單元在插入觸摸事件時,每個觸摸事件插入的位置存在N個坐標點,N為正整數。
根據本發明一優選實施例,所述事件插入子單元在插入與該位置的觸摸動作類型對應的觸摸事件時,在起始點位置插入按下狀態的觸摸事件,在結束點位置插入彈起狀態的觸摸事件,在起始點和結束點之間的各位置插入移動狀態的觸摸事件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310222513.2/2.html,轉載請聲明來源鉆瓜專利網。





