欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在安卓設(shè)備中進行錄制回放的自動化測試方法及安卓設(shè)備的制作方法

文檔序號:6492302閱讀:504來源:國知局
在安卓設(shè)備中進行錄制回放的自動化測試方法及安卓設(shè)備的制作方法
【專利摘要】本申請?zhí)峁┮环N在安卓設(shè)備中進行錄制回放的自動化測試方法以及安卓設(shè)備。所述方法包括以下步驟:獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件;獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件;獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
【專利說明】在安卓設(shè)備中進行錄制回放的自動化測試方法及安卓設(shè)備
【技術(shù)領(lǐng)域】
[0001]本申請涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種在安卓設(shè)備中進行錄制回放的自動化測試方法及安卓設(shè)備。
【背景技術(shù)】
[0002]目前對Android設(shè)備(操作系統(tǒng)為安卓系統(tǒng)的手機、平板電腦、電視等電子設(shè)備)的用戶操作進行錄制和回放的方式主要有以下兩種:第一種為基于Monkeyrunner的錄制和回放,第二種為基于Instrumentat ion的錄制和回放。其中,Monkeyrunner為Google官方提供的一套api,它用于在Android的代碼之外控制Android設(shè)備和模擬器。Instrumentation為Google官方為Android系統(tǒng)測試提供的一種機制,該機制是一系列對Android系統(tǒng)進行控制的方法的集合??梢栽贏ndroid程序正常的生命周期之外獨立的控制Android應(yīng)用的各個組件。
[0003]對于Monkeyrunner內(nèi)在的錄制和回放,由于Monkeyrunner本身是可以基于屏幕坐標(biāo)來實現(xiàn)點擊屏幕區(qū)域,模擬鍵盤按鍵輸入,拖拽屏幕。因此可以提供PC上的客戶端程序或者web程序。他們負責(zé)監(jiān)聽用戶的操作,記錄下用戶的操作到某個文件,并同時利用的對應(yīng)monkeyrunner api去進行實際的用戶操作,完成錄制。回放的時候,根據(jù)存儲的操作文件,生成對應(yīng)的monkeyrunner代碼去進行實際的用戶操作。
[0004]對于基于Ins trumentat ion的testdroid (商業(yè)化的Android自動化測試工具)的錄制和回放功能。Ins trumentation內(nèi)部提供類似于“sendKeyDownUpSync”這樣的方法來觸發(fā)對鍵盤或者屏幕的操作。與方法一一樣,基于這個原理同樣可以通過自己實現(xiàn)的pc客戶端程序或者web程序監(jiān)聽用戶的操作,記錄,然后用這種方式來播放操作。
[0005]但是,現(xiàn)有技術(shù)的兩種方法分別存在以下缺點:第一種方法由于Monkeyrunner自身不夠穩(wěn)定,使用中經(jīng)常會有問題;支持的操作有限,目前僅有屏幕點擊,鍵盤輸入,拖拽,不包括比如“搖一搖”等操作;第二種方法只能針對被測Android應(yīng)用本身的界面進行錄制和回放,無法跨不同應(yīng)用測試進行錄制跟回放。

【發(fā)明內(nèi)容】

[0006]本申請的目的在于,提供一種在Android設(shè)備上就能進行錄制回放的自動化解決方案。
[0007]本申請的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實現(xiàn)的。
[0008]一種在安卓設(shè)備中進行錄制回放的自動化測試方法,包括以下步驟:獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件;獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件;獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
[0009]一種安卓設(shè)備,包括:第一獲取執(zhí)行模塊,用于獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件;第二獲取執(zhí)行模塊,用于獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件;第三獲取執(zhí)行模塊,用于獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
[0010]相對于現(xiàn)有技術(shù),本發(fā)明提供的在安卓設(shè)備中進行錄制回放的自動化測試方法及安卓設(shè)備具有以下優(yōu)點:1.支持跨應(yīng)用(不同的app)的界面操作的錄制和回放,不受instrument只能在本程序內(nèi)的約束,可以方便的對無源碼第三方app以及系統(tǒng)應(yīng)用實現(xiàn)自動操作;2.支持幾乎所有用戶操作類型,在已知的范圍內(nèi),Android的用戶操作事件都會被記錄在eventX記錄文件中,因此不會像其他方案會漏掉一些上層應(yīng)用不支持的操作,比如:搖一搖,指南針,屏幕旋轉(zhuǎn)等操作;3.在Android設(shè)備中就可以完成錄制跟回放,不需要連接PC,不受辦公地點限制,可以非常方便的完成錄制回放測試,可以自動適配不同Android設(shè)備(不同硬件輸入設(shè)備的)錄制跟回放。
[0011]上述說明僅是本申請技術(shù)方案的概述,為了能夠更清楚了解本申請的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本申請的上述和其他目的、特征和優(yōu)點能夠更明顯易懂,以下特舉較佳實施例,并配合附圖,詳細說明如下。
【專利附圖】

【附圖說明】
[0012]圖1是本申請第一實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的流程圖。
[0013]圖2是本申請第二實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的流程圖。
[0014]圖3是本申請第三實施例提供的安卓設(shè)備的軟件性能測試方法的流程圖。
[0015]圖4是本申請第三實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的原理圖。
[0016]圖5是沒有設(shè)置快捷鍵的用戶操作流程圖。
[0017]圖6是設(shè)有快捷鍵的用戶操作流程圖。
[0018]圖7是本申請第四實施例提供的安卓設(shè)備的結(jié)構(gòu)示意圖。
[0019]圖8是本申請第五實施例提供的安卓設(shè)備的結(jié)構(gòu)示意圖。
[0020]圖9是本申請第六實施例提供的安卓設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0021]為更進一步闡述本申請為達成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本申請?zhí)岢龅能浖阅軠y試方法和測試裝置的【具體實施方式】、方法、步驟、特征及其功效,詳細說明如下。[0022]有關(guān)本申請的前述及其他技術(shù)內(nèi)容、特點及功效,在以下配合參考圖式的較佳實施例的詳細說明中將可清楚呈現(xiàn)。通過【具體實施方式】的說明,當(dāng)可對本申請為達成預(yù)定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本申請加以限制。
[0023]第一實施例
[0024]請參考圖1,圖1是本申請第一實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的流程圖。所述測試方法包括以下步驟:
[0025]Sll:獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件。
[0026]第一可執(zhí)行二進制文件負責(zé)記錄事件,后面提到的第二可執(zhí)行二進制文件負責(zé)回放事件。錄制事件指的是記錄用戶在安卓設(shè)備上的操作的過程,將用戶的操作按照某種特殊的方式記錄下來?;胤攀录傅氖前凑珍浿朴涗浀膬?nèi)容,讓安卓設(shè)備自動執(zhí)行用戶的操作。第一可執(zhí)行二進制文件與第二可執(zhí)行二進制文件都是由C程序編譯的Android系統(tǒng)可執(zhí)行的二進制文件,然后在Android程序中通過命令行方式(shell)調(diào)用這兩個二進制文件就可以執(zhí)行相關(guān)功能。第一可執(zhí)行二進制文件與第二可執(zhí)行二進制文件被打包到APK里面形成一個Android應(yīng)用程序。當(dāng)這個Android應(yīng)用程序被安裝后,初次啟動時,會將第一可執(zhí)行二進制文件與第二可執(zhí)行二進制文件拷貝到安卓設(shè)備系統(tǒng)的某個可讀寫操作目錄下(例如/data/local),同時修改第一可執(zhí)行二進制文件與第二可執(zhí)行二進制文件的屬性為可執(zhí)行。由于第一可執(zhí)行二進制文件與第一可執(zhí)行二進制文件都裝載于被測的安卓設(shè)備中,因此在Android設(shè)備中就可以完成錄制跟回放,不需要連接PC,不受辦公地點限制,可以非常方便的完成錄制回放測試,可以自動適配不同Android設(shè)備(不同硬件輸入設(shè)備的)錄制跟回放。
[0027]因為Android系統(tǒng)使用標(biāo)準(zhǔn)的Linux輸入系統(tǒng),所以應(yīng)用程序的所有操作事件包括鍵盤事件、屏幕的鼠標(biāo)點擊事件等等都會被記錄到系統(tǒng)底層的例如/dev/input/eventX這樣的記錄文件中,其中X是從O開始的數(shù)字,例如鍵盤事件可能記錄/dev/input/eventO文件中,屏幕鼠標(biāo)點擊事件記錄到/dev/input/eventl文件中,設(shè)備中重力感應(yīng)事件記錄到/dev/input/event2文件中。根據(jù)不同的Android設(shè)備擁有不同硬件設(shè)備,例如重力感應(yīng)器、指南針、光線感應(yīng)器等等,X會從O到不同的數(shù)字(常見是從O到6)。
[0028]本發(fā)明的測試方法支持幾乎所有用戶操作類型,在已知的范圍內(nèi),Android的用戶操作事件都會被記錄在eventX記錄文件中,因此不會像現(xiàn)有技術(shù)會漏掉一些上層應(yīng)用不支持的操作,比如:搖一搖,指南針,屏幕旋轉(zhuǎn)等操作。同時,本發(fā)明的測試方法能夠支持跨應(yīng)用(不同的app)的界面操作的錄制和回放,可以方便的對無源碼第三方app以及系統(tǒng)應(yīng)用實現(xiàn)自動操作。
[0029]進一步的,第一可執(zhí)行二進制文件在初始化的時候可以先通過安卓系統(tǒng)的shell指令查看系統(tǒng)底層/dev/input/下面所有的文件,查找到所有與操作事件相關(guān)的記錄文件,然后記錄所述記錄文件的數(shù)量,避免以后讀取跟寫入時候出錯,便于兼容不同Android設(shè)備用戶操作的錄制和回放。[0030]S12:獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件。
[0031]錄制時候觸發(fā)的每個操作事件的記錄文件的內(nèi)容被記錄到錄制文件里,錄制文件可以是一個臨時文件。
[0032]S13:獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中并將所述錄制文件中的內(nèi)容重寫寫入至對應(yīng)的所述記錄文件中。
[0033]第二實施例
[0034]請參閱圖2,圖2是本申請第二實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的流程圖。所述測試方法包括以下步驟:
[0035]S21:獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件;
[0036]S22:獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件;
[0037]S23:獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
[0038]與第一實施例不同的是,于本實施例中,步驟S21進一步包括:
[0039]S211:接收安卓設(shè)備端提供的錄制文件名稱;
[0040]S212:監(jiān)聽所述安卓設(shè)備系統(tǒng)底層的所有操作事件記錄文件,當(dāng)被錄制的被測應(yīng)用程序的發(fā)生操作事件時,讀取所發(fā)生的操作事件對應(yīng)的記錄文件中的內(nèi)容并將其記錄于與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中。
[0041]于步驟S21中,永久監(jiān)聽當(dāng)前設(shè)備所有的系統(tǒng)底層的/dev/input/eventX記錄文件。當(dāng)發(fā)生可讀事件時(例如用戶進行瀏覽網(wǎng)頁操作、輸入網(wǎng)址、打開網(wǎng)頁等),讀取對應(yīng)eventX記錄文件上的內(nèi)容,記錄到用戶指定的文件中,例如與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中。
[0042]于本實施例中,步驟S23進一步包括:
[0043]S231:接收安卓設(shè)備端提供的回放次數(shù)以及錄制文件名稱;
[0044]S232:按照所述回放次數(shù)重復(fù)讀取與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中的內(nèi)容,并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
[0045]可選的,于步驟S21的通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第一可執(zhí)行二進制文件前進一步包括:
[0046]檢測所述第一可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第一可執(zhí)行二進制文件裝載于所述安卓設(shè)備中,如果已經(jīng)裝載,則直接執(zhí)行所述通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第一可執(zhí)行二進制文件的步驟。
[0047]可選的,于步驟S23的通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件前進一步包括:
[0048]檢測所述第二可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第二可執(zhí)行二進制文件裝載于所述安卓設(shè)備中,如果已經(jīng)裝載,則直接執(zhí)行所述通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第二可執(zhí)行二進制文件的步驟。
[0049]第三實施例
[0050]圖3是本申請第三實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的流程圖,圖4是本申請第三實施例提供的在安卓設(shè)備中進行錄制回放的自動化測試方法的原理圖。請同時參照圖3及圖4,所述測試方法包括以下步驟:
[0051]S31:獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件;
[0052]S32:獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件;
[0053]S33:獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
[0054]與第一實施例不同的是,于本實施例中,于步驟S31前進一步包括:
[0055]S30:生成測試用戶交互界面,所述測試用戶交互界面包括:開始錄制按鈕、結(jié)束錄制按鈕、開始回放按鈕、錄制文件名稱輸入框以及回放次數(shù)輸入框,當(dāng)所述開始錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始錄制命令,當(dāng)所述結(jié)束錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述結(jié)束錄制命令,當(dāng)所述開始回放按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始回放命令。
[0056]于步驟S30中,通過編寫Android的應(yīng)用程序給用戶交互使用,名稱例如可以叫做應(yīng)用程序R&R (Record&R印lay),R&R提供Π交互讓用戶方便操作。應(yīng)用程序R&R例如包括以下幾部分:開始錄制按鈕、結(jié)束錄制按鈕、開始回放按鈕、錄制文件名稱輸入框以及回放次數(shù)輸入框。錄制開始,結(jié)束以及回放開始還可以提供相應(yīng)的快捷鍵設(shè)置方式(例如照相機按鍵或者關(guān)機按鍵等等)。點擊開始錄制按鈕、結(jié)束錄制按鈕都會調(diào)用第一可執(zhí)行二進制文件,點擊開始回放按鈕或者輸入回放次數(shù)會調(diào)用第二可執(zhí)行二進制文件。
[0057]錄制開始后,用戶一般會切換到被測程序進行各種操作(例如切換到瀏覽器,輸入網(wǎng)址,打開網(wǎng)頁等等),當(dāng)完成各種操作后,用戶需要切換回應(yīng)用程序R&R,然后點擊結(jié)束錄制按鈕,也就是用戶需要切換到應(yīng)用程序R&R才進行操作,這樣不是很方便。在應(yīng)用程序R&R里面也可以提供快捷鍵設(shè)置,例如可以把開始錄制映射為短按或者長按音量鍵上,把結(jié)束錄制映射為短按或者長按音量鍵下等等。舉個例子,用戶在Android設(shè)備上任何界面,如果想開始錄制腳本,只需要按下音量鍵上,然后進行各種操作;然后想結(jié)束錄制,只需要按下音量鍵下就可以完成錄制。這樣,開始錄制與結(jié)束錄制不需要切換到應(yīng)用程序R&R就可以完成了。
[0058]具體的用戶操作流程可以參考圖5及圖6,圖5是沒有設(shè)置快捷鍵的用戶操作流程圖,圖6是設(shè)有快捷鍵的用戶操作流程圖。
[0059]第四實施例
[0060]圖7是本申請第四實施例提供的安卓設(shè)備的結(jié)構(gòu)示意圖,請參照圖7,于本實施例中,所述安卓設(shè)備40包括:第一獲取執(zhí)行模塊41、第二獲取執(zhí)行模塊42與第三獲取執(zhí)行模塊43。
[0061]其中,第一獲取執(zhí)行模塊41用于獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件。第二獲取執(zhí)行模塊42用于獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件。第三獲取執(zhí)行模塊43用于獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。所述第一可執(zhí)行二進制文件與所述第二可執(zhí)行二進制文件為經(jīng)過C程序編譯的安卓系統(tǒng)可執(zhí)行的二進制文件。
[0062]進一步的,安卓設(shè)備40還可以包括:初始化模塊44以及第一記錄模塊45。初始化模塊44用于初始化第一可執(zhí)行二進制文件。第一記錄模塊45用于通過安卓系統(tǒng)的shell指令查看系統(tǒng)底層的所有與操作事件相關(guān)的記錄文件,記錄所述記錄文件的數(shù)量。
[0063]第五實施例
[0064]圖8是本申請第五實施例提供的安卓設(shè)備的結(jié)構(gòu)示意圖,請參照圖8,于本實施例中,所述安卓設(shè)備50包括:第一獲取執(zhí)行模塊51、第二獲取執(zhí)行模塊52與第三獲取執(zhí)行模塊53。
[0065]與第四實施例不同的是,所述第一獲取執(zhí)行模塊51包括第一接收模塊511、監(jiān)聽模塊512、第二記錄模塊513。第一接收模塊511用于接收安卓設(shè)備端提供的錄制文件名稱。監(jiān)聽模塊512用于監(jiān)聽所述安卓設(shè)備系統(tǒng)底層的所有操作事件記錄文件,當(dāng)被錄制的被測應(yīng)用程序的發(fā)生操作事件時,讀取所發(fā)生的操作事件對應(yīng)的記錄文件中的內(nèi)容并將其記錄于所述錄制文件中。第二記錄模塊513用于將所發(fā)生的操作事件對應(yīng)的記錄文件中的內(nèi)容記錄于與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中。
[0066]于本實施例中,第三獲取執(zhí)行模塊53包括:第二接收模塊531、讀取模塊532。第二接收模塊531用于接收安卓設(shè)備端提供的回放次數(shù)。讀取模塊532用于按照所述回放次數(shù)重復(fù)讀取所述錄制文件中的內(nèi)容。
[0067]可選的,所述安卓設(shè)備50還包括第一檢測執(zhí)行模塊54以及第二檢測執(zhí)行模塊55。第一檢測執(zhí)行模塊54用于檢測所述第一可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第一可執(zhí)行二進制文件裝載于所述安卓設(shè)備中。第二檢測執(zhí)行模塊55用于檢測所述第二可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第二可執(zhí)行二進制文件裝載于所述安卓設(shè)備中。
[0068]第六實施例
[0069]圖9是本申請第六實施例提供的安卓設(shè)備的結(jié)構(gòu)示意圖,請參照圖9,于本實施例中,所述安卓設(shè)備60包括:第一獲取執(zhí)行模塊61、第二獲取執(zhí)行模塊62與第三獲取執(zhí)行模塊63。
[0070]與第四實施例不同的是,于本實施例中,所述安卓設(shè)備60進一步包括界面生成模塊64。
[0071]界面生成模塊64用于生成測試用戶交互界面,所述測試用戶交互界面包括:開始錄制按鈕、結(jié)束錄制按鈕、開始回放按鈕以及回放次數(shù)輸入框,當(dāng)所述開始錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始錄制命令,當(dāng)所述結(jié)束錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述結(jié)束錄制命令,當(dāng)所述開始回放按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始回放命令。所述開始錄制命令、結(jié)束錄制命令或開始回放命令被映射于所述安卓設(shè)備的自帶按鍵上形成快捷鍵。
[0072]綜上所述,相對于現(xiàn)有技術(shù),本發(fā)明提供的在安卓設(shè)備中進行錄制回放的自動化測試方法及安卓設(shè)備具有以下優(yōu)點:1.支持跨應(yīng)用(不同的app)的界面操作的錄制和回放,不受instrument只能在本程序內(nèi)的約束,可以方便的對無源碼第三方app以及系統(tǒng)應(yīng)用實現(xiàn)自動操作;2.支持幾乎所有用戶操作類型,在已知的范圍內(nèi),Android的用戶操作事件都會被記錄在eventX記錄文件中,因此不會像其他方案會漏掉一些上層應(yīng)用不支持的操作,比如:搖一搖,指南針,屏幕旋轉(zhuǎn)等操作;3.在Android設(shè)備中就可以完成錄制跟回放,不需要連接PC,不受辦公地點限制,可以非常方便的完成錄制回放測試,可以自動適配不同Android設(shè)備(不同硬件輸入設(shè)備的)錄制跟回放。
[0073]需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0074]需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0075]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提 到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0076]以上所述,僅是本申請的較佳實施例而已,并非對本申請作任何形式上的限制,雖然本申請已以較佳實施例揭露如上,然而并非用以限定本申請,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本申請技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容做出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本申請技術(shù)方案內(nèi)容,依據(jù)本申請的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本申請技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種在安卓設(shè)備中進行錄制回放的自動化測試方法,其特征在于:包括以下步驟: 獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的Shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件; 獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件; 獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
2.如權(quán)利要求1所述的測試方法,其特征在于:所述第一可執(zhí)行二進制文件與所述第二可執(zhí)行二進制文件為經(jīng)過C程序編譯的安卓系統(tǒng)可執(zhí)行的二進制文件。
3.如權(quán)利要求1所述的測試方法,其特征在于:于獲取所述開始錄制命令前進一步包括以下步驟: 初始化第一可執(zhí)行二進制文件; 通過安卓系統(tǒng)的shell指令查看系統(tǒng)底層的所有與操作事件相關(guān)的記錄文件,記錄所述記錄文件的數(shù)量。
4.如權(quán)利要求1所述的測試方法,其特征在于:所述執(zhí)行所述第一可執(zhí)行二進制文件的步驟包括: 監(jiān)聽所述安卓設(shè)備系統(tǒng)底層的所有操作事件記錄文件,當(dāng)被錄制的被測應(yīng)用程序的發(fā)生操作事件時,讀取所發(fā)生的 操作事件對應(yīng)的記錄文件中的內(nèi)容并將其記錄于所述錄制文件中。
5.如權(quán)利要求4所述的測試方法,其特征在于:所述執(zhí)行所述第一可執(zhí)行二進制文件的步驟進一步包括: 接收安卓設(shè)備端提供的錄制文件名稱;將所發(fā)生的操作事件對應(yīng)的記錄文件中的內(nèi)容記錄于與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中。
6.如權(quán)利要求1所述的測試方法,其特征在于:所述執(zhí)行所述第二可執(zhí)行二進制文件的步驟包括: 接收安卓設(shè)備端提供的回放次數(shù)以及錄制文件名稱; 按照所述回放次數(shù)重復(fù)讀取與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中的內(nèi)容,并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
7.如權(quán)利要求1所述的測試方法,其特征在于:于所述步驟通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第一可執(zhí)行二進制文件前進一步包括: 檢測所述第一可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第一可執(zhí)行二進制文件裝載于所述安卓設(shè)備中,如果已經(jīng)裝載,則直接執(zhí)行所述通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第一可執(zhí)行二進制文件的步驟。
8.如權(quán)利要求1所述的測試方法,其特征在于:于所述步驟通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第二可執(zhí)行二進制文件前進一步包括: 檢測所述第二可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第二可執(zhí)行二進制文件裝載于所述安卓設(shè)備中,如果已經(jīng)裝載,則直接執(zhí)行所述通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行所述第二可執(zhí)行二進制文件的步驟。
9.如權(quán)利要求1所述的測試方法,其特征在于:于所述獲取安卓設(shè)備端的開始錄制命令步驟前進一步包括: 生成測試用戶交互界面,所述測試用戶交互界面包括:開始錄制按鈕、結(jié)束錄制按鈕、開始回放按鈕、錄制文件名稱輸入框以及回放次數(shù)輸入框,當(dāng)所述開始錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始錄制命令,當(dāng)所述結(jié)束錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述結(jié)束錄制命令,當(dāng)所述開始回放按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始回放命令。
10.如權(quán)利要求1所述的測試方法,其特征在于:所述開始錄制命令、結(jié)束錄制命令或開始回放命令被映射于所述安卓設(shè)備的自帶按鍵上形成快捷鍵。
11.一種安卓設(shè)備,其特征在于:所述安卓設(shè)備中包括: 第一獲取執(zhí)行模塊,用于獲取安卓設(shè)備端的開始錄制命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第一可執(zhí)行二進制文件,所述第一可執(zhí)行二進制文件用于錄制被測應(yīng)用程序,監(jiān)聽位于安卓系統(tǒng)底層的所有被測應(yīng)用程序的所有操作事件所對應(yīng)的記錄文件; 第二獲取執(zhí)行模塊,用于獲取安卓設(shè)備端的結(jié)束錄制命令,根據(jù)所述記錄文件生成錄制文件; 第三獲取執(zhí)行模塊,用于獲取安卓設(shè)備端的開始回放命令,通過安卓系統(tǒng)的shell指令調(diào)用并執(zhí)行裝載于所述安卓設(shè)備中的第二可執(zhí)行二進制文件,讀取所述錄制文件中的內(nèi)容并將所述錄制文件中的內(nèi)容重新寫入至對應(yīng)的所述記錄文件中。
12.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述第一可執(zhí)行二進制文件與所述第二可執(zhí)行二進制文件為經(jīng)過C程序編譯的安卓系統(tǒng)可執(zhí)行的二進制文件。·
13.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述安卓設(shè)備進一步包括: 初始化模塊,用于初始化第一可執(zhí)行二進制文件; 第一記錄模塊,用于通過安卓系統(tǒng)的shell指令查看系統(tǒng)底層的所有與操作事件相關(guān)的記錄文件,記錄所述記錄文件的數(shù)量。
14.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述第一獲取執(zhí)行模塊包括: 監(jiān)聽模塊,用于監(jiān)聽所述安卓設(shè)備系統(tǒng)底層的所有操作事件記錄文件,當(dāng)被錄制的被測應(yīng)用程序的發(fā)生操作事件時,讀取所發(fā)生的操作事件對應(yīng)的記錄文件中的內(nèi)容并將其記錄于所述錄制文件中。
15.如權(quán)利要求14所述的安卓設(shè)備,其特征在于:所述第一獲取執(zhí)行模塊包括: 第一接收模塊,用于接收安卓設(shè)備端提供的錄制文件名稱; 第二記錄模塊,用于將所發(fā)生的操作事件對應(yīng)的記錄文件中的內(nèi)容記錄于與安卓設(shè)備端提供的錄制文件名稱相同的錄制文件中。
16.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述第三獲取執(zhí)行模塊包括: 第二接收模塊,用于接收安卓設(shè)備端提供的回放次數(shù); 讀取模塊,用于按照所述回放次數(shù)重復(fù)讀取所述錄制文件中的內(nèi)容。
17.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述安卓設(shè)備進一步包括: 第一檢測執(zhí)行模塊,用于檢測所述第一可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第一可執(zhí)行二進制文件裝載于所述安卓設(shè)備中。
18.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述安卓設(shè)備進一步包括: 第二檢測執(zhí)行模塊,用于檢測所述第二可執(zhí)行二進制文件是否已被裝載于所述安卓設(shè)備中,如果沒有裝載,則將所述第二可執(zhí)行二進制文件裝載于所述安卓設(shè)備中。
19.如權(quán)利要求11所述的安卓設(shè)備,其特征在于:所述安卓設(shè)備進一步包括: 界面生成模塊,用于生成測試用戶交互界面,所述測試用戶交互界面包括:開始錄制按鈕、結(jié)束錄制按鈕、開始回放按鈕以及回放次數(shù)輸入框,當(dāng)所述開始錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始錄制命令,當(dāng)所述結(jié)束錄制按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述結(jié)束錄制命令,當(dāng)所述開始回放按鈕被點擊,所述安卓設(shè)備端的發(fā)出所述開始回放命令。
20.如權(quán)利要求1所述的安卓設(shè)備,其特征在于:所述開始錄制命令、結(jié)束錄制命令或開始回放命令被映射于所述 安卓設(shè)備的自帶按鍵上形成快捷鍵。
【文檔編號】G06F11/36GK103853658SQ201210512851
【公開日】2014年6月11日 申請日期:2012年12月4日 優(yōu)先權(quán)日:2012年12月4日
【發(fā)明者】丁如敏, 汪黎, 尹堃 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
湟源县| 沙田区| 武宁县| 互助| 岗巴县| 吐鲁番市| 增城市| 府谷县| 芦山县| 星座| 金坛市| 黑龙江省| 葫芦岛市| 罗甸县| 贺兰县| 宜黄县| 孟连| 景东| 蒙阴县| 额尔古纳市| 西平县| 临颍县| 抚远县| 建德市| 乌兰县| 洛宁县| 陵川县| 读书| 会宁县| 伊金霍洛旗| 乐陵市| 苗栗市| 富裕县| 安龙县| 凤城市| 南召县| 南城县| 城口县| 文山县| 林州市| 桃源县|