終端的測試方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種終端的測試方法及裝置,其中,上述方法包括:終端獲取用戶對所述終端的操作事件信息,并根據(jù)所述操作事件信息生成腳本文件;所述終端接收第一操作指令,執(zhí)行所述腳本文件;所述終端根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。采用本發(fā)明提供的上述技術(shù)方案,解決了相關(guān)技術(shù)中,終端的測試方案的應(yīng)用場景存在局限性等問題,從而在不需要PC的情況下,即僅需要憑借上述終端,便可以實(shí)現(xiàn)對終端的測試。
【專利說明】終端的測試方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及終端測試領(lǐng)域,尤其是涉及一種終端的測試方法及裝置。
【背景技術(shù)】
[0002]目前,智能終端的操作系統(tǒng),例如安卓(Android)操作系統(tǒng)、Windows操作系統(tǒng)等嵌入式操作系統(tǒng),被廣泛應(yīng)用于智能手機(jī)、平板電腦等便攜式終端中。以安卓操作系統(tǒng)為例,各個(gè)Android智能手機(jī)廠商和運(yùn)營商為了保證給用戶的產(chǎn)品質(zhì)量,對Android系統(tǒng)的測試也是重中之重。出現(xiàn)了很多針對Android平臺(tái)的自動(dòng)化測試工具和應(yīng)用。
[0003]在目前這些工具中大多數(shù)在個(gè)人計(jì)算機(jī)(Personal Computer,簡稱為PC)上運(yùn)行的,需要先安裝好手機(jī)驅(qū)動(dòng)程序,通過PC側(cè)和設(shè)備代理(Agent)進(jìn)行通訊,然后控制設(shè)備完成各種指令響應(yīng)。
[0004]但是,需要在基站現(xiàn)場進(jìn)行測試時(shí),可能會(huì)存在以下場景:只有智能終端沒有或不能提供PC,在沒有PC的條件下,無法使用上述自動(dòng)化測試工具,因此,上述自動(dòng)化測試方案應(yīng)用場景存在一定的局限性問題。
[0005]針對相關(guān)技術(shù)中的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0006]針對相關(guān)技術(shù)中,終端的測試方案的應(yīng)用場景存在局限性等問題,本發(fā)明提供了一種終端的測試方法及裝置,以至少解決上述問題。
[0007]根據(jù)本發(fā)明的一個(gè)方面,提供了一種終端的測試方法,包括:終端獲取用戶對所述終端的操作事件信息,并根據(jù)所述操作事件信息生成腳本文件;所述終端接收第一操作指令,執(zhí)行所述腳本文件;所述終端根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。
[0008]優(yōu)選地,終端獲取用戶對所述終端的操作事件信息,包括:監(jiān)測所述終端的當(dāng)前操作事件;將監(jiān)測到的所述當(dāng)前操作事件按照操作事件的觸發(fā)順序進(jìn)行保存。
[0009]優(yōu)選地,終端獲取用戶對所述終端的操作事件信息,包括:所述終端接收第二操作指令,設(shè)置對比點(diǎn);其中,所述對比點(diǎn)用于在執(zhí)行所述腳本文件過程中提供對比對象,該對比對象包括:在執(zhí)行所述腳本文件過程中所述對比點(diǎn)對應(yīng)的對象和獲取所述操作事件信息過程中的所述對象。
[0010]優(yōu)選地,所述終端執(zhí)行所述腳本文件,還包括:所述終端解析所述腳本文件,得到所述對比點(diǎn);所述終端根據(jù)解析得到的所述對比點(diǎn)對所述對比對象進(jìn)行對比,并保存對比結(jié)果。
[0011 ] 優(yōu)選地,所述終端根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告之前,包括:所述終端在執(zhí)行所述腳本文件的次數(shù)到達(dá)所述預(yù)設(shè)閾值時(shí)停止執(zhí)行。
[0012]優(yōu)選地,所述操作事件信息包括以下至少之一:所述操作事件信息所對應(yīng)操作事件的種類、所述操作事件所對應(yīng)的應(yīng)用標(biāo)識(shí)、所述操作事件的觸發(fā)時(shí)間、所述操作事件的觸摸坐標(biāo)信息。
[0013]優(yōu)選地,所述終端執(zhí)行所述腳本文件,包括:所述終端解析所述腳本文件,得到所述應(yīng)用標(biāo)識(shí)和/或所述觸發(fā)時(shí)間;所述終端按照解析得到的所述應(yīng)用標(biāo)識(shí)和/或所述觸發(fā)時(shí)間執(zhí)行所述操作事件信息對應(yīng)的動(dòng)作。
[0014]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種終端的測試裝置,應(yīng)用于終端,包括:獲取模塊,用于獲取用戶對所述終端的操作事件信息;第一生成模塊,用于根據(jù)所述操作事件信息生成腳本文件;執(zhí)行模塊,用于接收第一操作指令,執(zhí)行所述腳本文件;第二生成模塊,用于根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。
[0015]優(yōu)選地,所述獲取模塊包括:監(jiān)測單元,用于監(jiān)測所述終端的當(dāng)前操作事件;保存單元,用于將監(jiān)測到的所述當(dāng)前操作事件按照操作事件的觸發(fā)順序進(jìn)行保存。
[0016]優(yōu)選地,所述獲取模塊包括:設(shè)置單元,用于接收第二操作指令,設(shè)置對比點(diǎn);其中,所述對比點(diǎn)用于在執(zhí)行所述腳本文件過程中提供對比對象,該對比對象包括:在執(zhí)行所述腳本文件過程中所述對比點(diǎn)對應(yīng)的對象和獲取所述操作事件信息過程中的所述對象。
[0017]通過本發(fā)明,采用終端獲取操作事件信息,并生成腳本文件,執(zhí)行該腳本文件并根據(jù)執(zhí)行情況信息生成測試報(bào)告的技術(shù)方案,解決了相關(guān)技術(shù)中,終端的測試方案的應(yīng)用場景存在局限性等問題,從而在不需要PC的情況下,即僅需要憑借上述終端,便可以實(shí)現(xiàn)對終端的測試。
【專利附圖】
【附圖說明】
[0018]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1為根據(jù)本發(fā)明實(shí)施例的終端的測試方法的流程圖;
[0020]圖2為根據(jù)本發(fā)明實(shí)施例的終端的測試裝置的結(jié)構(gòu)框圖;
[0021]圖3為根據(jù)本發(fā)明優(yōu)選實(shí)施例的終端的測試裝置的結(jié)構(gòu)框圖;
[0022]圖4為根據(jù)本發(fā)明另一優(yōu)選實(shí)施例的終端的測試裝置的結(jié)構(gòu)示意圖;
[0023]圖5為根據(jù)本發(fā)明另一優(yōu)選實(shí)施例的終端的測試裝置的工作流程示意圖。
【具體實(shí)施方式】
[0024]下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0025]圖1為根據(jù)本發(fā)明實(shí)施例的終端的測試方法的流程圖。如圖1所示,該方法包括:
[0026]步驟S102,終端獲取用戶對該終端的操作事件信息,并根據(jù)該操作事件信息生成腳本文件;
[0027]該處理步驟可以通過以下方式實(shí)現(xiàn):監(jiān)測上述終端的當(dāng)前操作事件,該步驟可以通過建立服務(wù)(Service)或線程(Thread)方式實(shí)現(xiàn),具體可以表現(xiàn)為以下形式:監(jiān)測程序始終在終端的后臺(tái)運(yùn)行,通過循環(huán)的方式對終端底層的輸入設(shè)備文件進(jìn)行監(jiān)控,可以參考Android EventHub getevent中的事件獲取方式,實(shí)時(shí)獲取原始事件信息。將獲取的事件上報(bào)給上層,上層在接收到事件的同時(shí)可以獲取當(dāng)前頂層包名,從而將事件和包名相對應(yīng),然后進(jìn)行保存操作,即將監(jiān)測到的當(dāng)前操作事件按照操作事件的觸發(fā)順序進(jìn)行保存??蛇x地,為了有針對性的對終端中的特定對象進(jìn)行測試,還可以設(shè)置對比點(diǎn):終端接收第二操作指令,設(shè)置對比點(diǎn);其中,該對比點(diǎn)用于在執(zhí)行所述腳本文件過程中提供對比對象,該對比對象包括:在執(zhí)行所述腳本文件過程中上述對比點(diǎn)對應(yīng)的對象和獲取所述操作事件信息過程中的上述對象,即,在執(zhí)行上述腳本文件過程中,對上述對比點(diǎn)所對應(yīng)的對象和獲取上述操作事件信息過程中的上述對象進(jìn)行對比。
[0028]以安裝有安卓操作系統(tǒng)的智能終端為例,上述處理過程可以表現(xiàn)為以下實(shí)現(xiàn)形式:
[0029]在Android智能終端設(shè)備上啟動(dòng)測試工具,進(jìn)入初始化階段對終端設(shè)備信息進(jìn)行采集和分析,包含設(shè)備的LCD屏幕分辨率、虛擬鍵盤信息、各個(gè)物理按鍵信息、設(shè)備操作系統(tǒng)版本信息等信息,完成以后,可以進(jìn)行進(jìn)入錄制流程或者回放執(zhí)行流程。
[0030]選擇執(zhí)行錄制流程,工具在終端上建立服務(wù)Service或線程Thread的方式在后臺(tái)啟動(dòng)監(jiān)聽程序,監(jiān)聽程序監(jiān)聽智能終端底層事件信息,獲得智能終端底層上報(bào)的當(dāng)前操作事件,比如點(diǎn)擊屏幕、滑動(dòng)屏幕、音量上下調(diào)節(jié)、虛擬鍵按鍵點(diǎn)擊等操作,這些事件中包含了事件的種類、事件響應(yīng)的時(shí)間、事件的觸摸坐標(biāo)等詳細(xì)信息;并且在錄制過程中在終端設(shè)備上可以設(shè)置對比點(diǎn),用于在回放的時(shí)候進(jìn)行判斷,對比點(diǎn)可以選擇屏幕上圖片對比、屏幕上的控件名稱對比、屏幕上包含的文字對比、智能終端當(dāng)前最上方應(yīng)用包名稱的對比等。選擇停止錄制后,停止截取底層操作事件,將所有截取的事件按順序觸發(fā)的前后順序進(jìn)行保存。保存為腳本存儲(chǔ)到智能終端上,設(shè)置對比點(diǎn)的信息也會(huì)保存到錄制的腳本當(dāng)中,監(jiān)聽程序關(guān)閉。錄制流程的特點(diǎn)在于在終端側(cè)就完成了對終端底層事件的監(jiān)聽、解析、分析和保存工作,不需要發(fā)送給PC側(cè)來解析保存,提高了效率,節(jié)省了操作步驟和時(shí)間。
[0031]步驟S104,終端接收第一操作指令,執(zhí)行上述腳本文件;
[0032]該處理步驟可以通過但不限于以下方式實(shí)現(xiàn):終端解析上述腳本文件,得到上述對比點(diǎn);將解析得到的操作事件信息推送到終端的底層,執(zhí)行上述操作事件信息對應(yīng)的動(dòng)作終端。如果在獲取上述操作事件信息的過程中設(shè)置了對比點(diǎn),則還可以從上述腳本文件中解析得到對比點(diǎn),從而根據(jù)對比點(diǎn)對上述對比對象進(jìn)行對比,并保存對比結(jié)果。在腳本文件的執(zhí)行過程中,終端可以根據(jù)預(yù)設(shè)閾值執(zhí)行上述腳本文件,即,在執(zhí)行上述腳本文件的次數(shù)到達(dá)上述預(yù)設(shè)閾值時(shí)停止執(zhí)行。
[0033]上述處理過程可以表現(xiàn)為以下實(shí)現(xiàn)形式:
[0034]終端設(shè)備的操作事件錄制完成以后,可以選擇回放保存有操作事件的腳本,也可以繼續(xù)錄制其他的操作事件。選擇回放(即執(zhí)行)該腳本,在回放的時(shí)候可以設(shè)置回放的次數(shù)和規(guī)則,回放時(shí)候先讀取保存的腳本,將其中的事件信息和對比點(diǎn)信息內(nèi)容進(jìn)行解析,然后在終端上啟動(dòng)一個(gè)Service服務(wù)或者Thread線程用來管理要回放的事件順序和時(shí)間,不需要像PC側(cè)工具是通過建立連接以后Socket套接字發(fā)送命令的方式來控制手機(jī)的回放動(dòng)作,在終端設(shè)備上啟動(dòng)一個(gè)回放服務(wù)程序,這個(gè)回放服務(wù)程序會(huì)根據(jù)解析的事件觸發(fā)的時(shí)間不斷的將事件信息推送到智能終端底層,Android底層收到推送的事件信息后,會(huì)認(rèn)為是用戶操作產(chǎn)生這樣的事件響應(yīng)請求,智能終端就會(huì)執(zhí)行對應(yīng)事件的動(dòng)作,從而達(dá)到回放的目的。其中,在終端上啟動(dòng)一個(gè)Service服務(wù)或者Thread線程用來管理要回放的事件順序和時(shí)間,可以表現(xiàn)為以下形式:回放程序始終在終端的后臺(tái)運(yùn)行,通過讀取腳本獲取到錄制事件的信息,然后通過循環(huán)的方式判斷時(shí)間,執(zhí)行到對應(yīng)的時(shí)間點(diǎn),先判斷最上層包名(即應(yīng)用標(biāo)識(shí))是否和事件中的包名信息相同,如果相同則進(jìn)行推送操作,將事件推送到對應(yīng)的終端底層的輸入設(shè)備文件中,實(shí)現(xiàn)回放操作。如果不相同則進(jìn)行延遲等待再進(jìn)行推送,如果達(dá)到超時(shí)時(shí)間還不相同,則這次回放失敗。如果設(shè)置事件中不包含包名信息,則在回放時(shí)候,不判斷包名,根據(jù)時(shí)間點(diǎn)來推送事件信息,完成回放操作。
[0035]在回放過程中,遇到設(shè)置的對比點(diǎn)時(shí),回放服務(wù)程序就會(huì)做相應(yīng)的對比:對于圖片對比,需要先截圖當(dāng)前對比屏幕,然后利用圖片對比算法進(jìn)行對比;文字對比則比較文字內(nèi)容是否一致;對比當(dāng)前應(yīng)用包名,則會(huì)獲取當(dāng)前的包名和錄制腳本中的包名進(jìn)行對比,記錄下對比結(jié)果,所有事件都回放完成以后,該腳本完成回放,然后根據(jù)對比結(jié)果判斷回放的成功還是失敗,最后關(guān)閉回放服務(wù)程序。
[0036]正如上面所述,上述操作事件信息包括以下至少之一:操作事件信息所對應(yīng)操作事件的種類、操作事件所對應(yīng)應(yīng)用的應(yīng)用標(biāo)識(shí)(例如應(yīng)用名稱)、操作事件的觸發(fā)時(shí)間、操作事件的觸摸坐標(biāo)信息?;诖?,步驟S104可以通過以下處理過程實(shí)現(xiàn):終端解析所述腳本文件;終端按照所述解析得到的上述應(yīng)用標(biāo)識(shí)和/或上述觸發(fā)時(shí)間執(zhí)行所述操作事件信息對應(yīng)的動(dòng)作。
[0037]步驟S106,終端根據(jù)上述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。
[0038]在該處理步驟中,可以在執(zhí)行完一個(gè)腳本文件后便輸出測試報(bào)告,也可以等到所有選擇回放的腳本執(zhí)行完成以后,根據(jù)每條腳本的結(jié)果輸出所有腳本的執(zhí)行情況形成測試報(bào)告,以便查看執(zhí)行結(jié)果。
[0039]在本實(shí)施例中還提供了一種終端的測試裝置,該裝置應(yīng)用于終端,用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述,下面對該裝置中涉及到的模塊進(jìn)行說明。如以下所使用的,術(shù)語“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。圖2為根據(jù)本發(fā)明實(shí)施例的終端的測試裝置的結(jié)構(gòu)框圖。如圖2所示,該裝置包括:
[0040]獲取模塊20,連接至第一生成模塊22,用于獲取用戶對上述終端的操作事件信息;
[0041]第一生成模塊22,連接至執(zhí)行模塊22,用于根據(jù)上述操作事件信息生成腳本文件;
[0042]執(zhí)行模塊24,連接至第二生成模塊26,用于接收第一操作指令,執(zhí)行上述腳本文件;
[0043]第二生成模塊26,用于根據(jù)上述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。
[0044]通過上述各個(gè)模塊實(shí)現(xiàn)的功能,在不需要PC的情況下,即僅需要憑借上述終端,便可以實(shí)現(xiàn)對終端的測試。
[0045]需要說明的是,上述各個(gè)模塊是可以通過硬件來實(shí)現(xiàn)的。例如:一種處理器,包括上述各個(gè)模塊,或者,上述各個(gè)模塊分別位于一個(gè)處理器中。
[0046]在本實(shí)施例中,如圖3所示,獲取模塊20包括但不限于以下處理單元:
[0047]監(jiān)測單元200,連接至保存單元202,用于監(jiān)測上述終端的當(dāng)前操作事件;具體可以通過建立服務(wù)Service或線程Thread方式實(shí)現(xiàn)。
[0048]保存單元202,用于將監(jiān)測到的上述當(dāng)前操作事件按照操作事件的觸發(fā)順序進(jìn)行保存。
[0049]在本實(shí)施例的一個(gè)優(yōu)選實(shí)施方式中,如圖3所示,獲取模塊20還可以包括以下處理單元:設(shè)置單元204,用于接收第二操作指令,設(shè)置對比點(diǎn);其中,該對比點(diǎn)用于在執(zhí)行上述腳本文件過程中提供對比對象,該對比對象包括:在執(zhí)行所述腳本文件過程中對比點(diǎn)對應(yīng)的對象和獲取所述操作事件信息過程中的上述對象。
[0050]為了更好地理解上述實(shí)施例及其優(yōu)選實(shí)施例,以下結(jié)合一個(gè)優(yōu)選實(shí)施例(以安卓操作系統(tǒng)為例)和相關(guān)附圖詳細(xì)說明。
[0051]本實(shí)施例的目的在于,克服現(xiàn)有Android自動(dòng)化測試方案必須要在PC端安裝手機(jī)驅(qū)動(dòng)然后與手機(jī)通過USB建立連接才能測試的不足,提出一種僅需要一臺(tái)智能終端,就可以實(shí)現(xiàn)自動(dòng)錄制和回放、自動(dòng)進(jìn)行判斷結(jié)果的方案。
[0052]圖4為根據(jù)本發(fā)明另一優(yōu)選實(shí)施例的終端的測試裝置的結(jié)構(gòu)示意圖。如圖4所示,該裝置包括:終端初始化模塊40、終端錄制模塊42、終端回放執(zhí)行模塊44、終端結(jié)果判斷輸出模塊46。
[0053]終端初始化模塊40,用于終端中工具的初始化,包括界面用戶界面(UserInterface,簡稱為UI)顯示、獲取設(shè)備IXD屏幕分辨率、虛擬鍵盤信息、各個(gè)物理按鍵信息、設(shè)備操作系統(tǒng)版本信息等操作。初始化完成以后可以執(zhí)行終端錄制模塊42,也可以直接執(zhí)行終端回放執(zhí)行模塊44回放以前錄制的腳本。
[0054]終端錄制模塊42,負(fù)責(zé)啟動(dòng)監(jiān)聽程序,錄制手機(jī)事件設(shè)置對比點(diǎn)最后保存腳本,完成錄制以后關(guān)閉監(jiān)聽程序。在終端初始化t旲塊40初始化完成以后,可以選擇執(zhí)彳丁終端錄制模塊42。
[0055]終端回放執(zhí)行模塊44,負(fù)責(zé)啟動(dòng)回放服務(wù)程序,打開并解析保存的腳本,回放事件并進(jìn)行對比點(diǎn)對比判斷,完成執(zhí)行以后關(guān)閉回放服務(wù)程序??梢栽诮K端初始化模塊40初始化完成以后直接執(zhí)行終端回放執(zhí)行模塊44。
[0056]終端結(jié)果判斷輸出模塊46,用于根據(jù)終端回放執(zhí)行模塊44回放執(zhí)行的結(jié)果輸出執(zhí)行的結(jié)果信息,生成報(bào)告。
[0057]如圖5所示,上述裝置的工作流程如下:
[0058]步驟S502,啟動(dòng)工具應(yīng)用,進(jìn)行初始化,包括界面UI顯示、獲取設(shè)備IXD屏幕分辨率、虛擬鍵盤信息、各個(gè)物理按鍵信息、設(shè)備操作系統(tǒng)版本信息等操作。
[0059]步驟S504,啟動(dòng)終端錄制模塊,開始錄制,啟動(dòng)監(jiān)聽程序在后臺(tái)運(yùn)行,工具通過在終端上建立服務(wù)Service或線程Thread的方式在后臺(tái)啟動(dòng)一個(gè)監(jiān)聽程序,監(jiān)聽程序監(jiān)聽智能終端底層事件信息,獲得用戶操作智能終時(shí)端底層上報(bào)的當(dāng)前操作事件信息,比如點(diǎn)擊屏幕、滑動(dòng)屏幕、音量上下調(diào)節(jié)、虛擬鍵按鍵點(diǎn)擊等操作,這些事件中包含了事件的種類、事件響應(yīng)的時(shí)間、事件的觸摸坐標(biāo)等詳細(xì)信息。
[0060]步驟S506,錄制過程中在終端設(shè)備上可以設(shè)置對比點(diǎn),用于在回放的時(shí)候進(jìn)行判斷,對比點(diǎn)可以選擇屏幕上圖片對比、屏幕上的控件名稱對比、屏幕上包含的文字對比、智能終端當(dāng)前最上方應(yīng)用包名稱的對比等.這里選擇設(shè)置的對比點(diǎn),錄制過程中會(huì)將相應(yīng)的對比點(diǎn)信息保存到終端設(shè)備上方便回放的時(shí)候進(jìn)行對比,比如對比的圖片資源,文字信息等內(nèi)容。
[0061]步驟S508,是在判斷是否結(jié)束錄制,如果沒有結(jié)束就繼續(xù)監(jiān)聽錄制,如果結(jié)束錄制,就停止截獲智能終端事件信息,完成錄制。
[0062]步驟S510,完成錄制時(shí),把當(dāng)前截獲的事件和對比點(diǎn)按事件觸發(fā)的時(shí)間順序保存成腳本文件.存儲(chǔ)在手機(jī)內(nèi)置或者外置存儲(chǔ)上,這里Π界面可以提供保存腳本名稱等設(shè)置。最后關(guān)閉后臺(tái)監(jiān)聽程序。
[0063]步驟S512,選擇要回放執(zhí)行的腳本,這里可以選擇一條或者多條,可以提供回放規(guī)則,比如設(shè)置單條循環(huán)回放,設(shè)置全部循環(huán)回放,回放執(zhí)行的次數(shù)等。在Sll初始化完成以后可以不選擇進(jìn)行錄制,可以直接進(jìn)入步驟S512選擇以前錄制的腳本進(jìn)行執(zhí)行。
[0064]步驟S514,根據(jù)S512的選擇和設(shè)置進(jìn)行回放執(zhí)行動(dòng)作,啟動(dòng)一個(gè)回放服務(wù)程序,這個(gè)程序可以是Service服務(wù)或者Thread線程,用來管理控制要回放的事件順序和時(shí)間,程序會(huì)讀取腳本的內(nèi)容,進(jìn)行解析,根據(jù)事件的類型,事件的觸發(fā)的時(shí)間不斷的將事件信息推送到智能終端底層,讓智能終端認(rèn)為是收到這樣的事件響應(yīng)請求,智能終端就會(huì)執(zhí)行對應(yīng)事件的動(dòng)作,從而達(dá)到回放的目的。
[0065]步驟S516,這里根據(jù)腳本中設(shè)置的對比點(diǎn)進(jìn)行判斷,如果是屏幕對比則工具會(huì)截取當(dāng)前設(shè)備的屏幕圖片和錄制時(shí)候保存的圖片進(jìn)行對比,如果是文字對比則獲取當(dāng)前設(shè)備的腳本中指定的控件文字信息,然后進(jìn)行對比,如果是包名對比,則獲取當(dāng)前設(shè)備最上方的包名然后進(jìn)行對比。
[0066]步驟S518,回放服務(wù)程序判斷執(zhí)行回放是否結(jié)束,沒有結(jié)束則繼續(xù)執(zhí)行,如果回放結(jié)束則關(guān)閉后臺(tái)回放服務(wù)程序進(jìn)入S520。
[0067]步驟S520,為最后結(jié)果判斷輸出,所有腳本都根據(jù)設(shè)置回放執(zhí)行完畢以后,根據(jù)對比點(diǎn)的對比結(jié)果,輸出所有的腳本執(zhí)行情況信息,生成報(bào)告,這里的報(bào)告可以是txt/xml/html/xls等形式.方便查看執(zhí)行結(jié)果。
[0068]本實(shí)施例不需要PC機(jī),不需要安裝驅(qū)動(dòng),不要使用USB線連接,通過在終端設(shè)備上啟動(dòng)一種監(jiān)聽服務(wù)和回放服務(wù)程序的來完成監(jiān)聽和回放事件,通過監(jiān)聽和推送事件達(dá)到錄制和回放的目的,通過這種技術(shù)創(chuàng)新,使得僅需要一臺(tái)設(shè)備終端就可以運(yùn)行上述所有的過程,提升了 Android自動(dòng)化測試效率和讓自動(dòng)化測試更加靈活.例如通常外場測試條件比較艱苦沒有PC電腦,在這樣的環(huán)境下就可以使用本發(fā)明在終端設(shè)備進(jìn)行錄制回放測試,這種技術(shù)方案也可以應(yīng)用在Android軟件行業(yè)中,可以進(jìn)行功能重復(fù)操作,例如讓用戶很方便的可以在智能終端上進(jìn)行重復(fù)撥打100次電話,發(fā)送100條短信等操作。
[0069]在另外一個(gè)實(shí)施例中,還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí)施方式中描述的技術(shù)方案。
[0070]在另外一個(gè)實(shí)施例中,還提供了一種存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)中存儲(chǔ)有上述軟件,該存儲(chǔ)介質(zhì)包括但不限于:光盤、軟盤、硬盤、可擦寫存儲(chǔ)器等。
[0071]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0072]以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種終端的測試方法,其特征在于,包括: 終端獲取用戶對所述終端的操作事件信息,并根據(jù)所述操作事件信息生成腳本文件; 所述終端接收第一操作指令,執(zhí)行所述腳本文件; 所述終端根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,終端獲取用戶對所述終端的操作事件信息,包括: 監(jiān)測所述終端的當(dāng)前操作事件; 將監(jiān)測到的所述當(dāng)前操作事件按照操作事件的觸發(fā)順序進(jìn)行保存。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,終端獲取用戶對所述終端的操作事件信息,包括: 所述終端接收第二操作指令,設(shè)置對比點(diǎn);其中,所述對比點(diǎn)用于在執(zhí)行所述腳本文件過程中提供對比對象,該對比對象包括:在執(zhí)行所述腳本文件過程中所述對比點(diǎn)對應(yīng)的對象和獲取所述操作事件信息過程中的所述對象。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述終端執(zhí)行所述腳本文件,還包括: 所述終端解析所述腳本文件,得到所述對比點(diǎn); 所述終端根據(jù)所述對比點(diǎn)對所述對比對象進(jìn)行對比,并保存對比結(jié)果。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述終端根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告之前,包括: 所述終端在執(zhí)行所述腳本文件的次數(shù)到達(dá)所述預(yù)設(shè)閾值時(shí)停止執(zhí)行。
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,所述操作事件信息包括以下至少之一: 所述操作事件信息所對應(yīng)操作事件的種類、所述操作事件所對應(yīng)的應(yīng)用標(biāo)識(shí)、所述操作事件的觸發(fā)時(shí)間、所述操作事件的觸摸坐標(biāo)信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述終端執(zhí)行所述腳本文件,包括: 所述終端解析所述腳本文件,得到所述應(yīng)用標(biāo)識(shí)和/或所述觸發(fā)時(shí)間; 所述終端按照解析得到的所述應(yīng)用標(biāo)識(shí)和/或所述觸發(fā)時(shí)間執(zhí)行所述操作事件信息對應(yīng)的動(dòng)作。
8.—種終端的測試裝置,應(yīng)用于終端,其特征在于,包括: 獲取模塊,用于獲取用戶對所述終端的操作事件信息; 第一生成模塊,用于根據(jù)所述操作事件信息生成腳本文件; 執(zhí)行模塊,用于接收第一操作指令,執(zhí)行所述腳本文件; 第二生成模塊,用于根據(jù)所述腳本文件的執(zhí)行情況信息生成測試報(bào)告并輸出。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取模塊包括: 監(jiān)測單元,用于監(jiān)測所述終端的當(dāng)前操作事件; 保存單元,用于將監(jiān)測到的所述當(dāng)前操作事件按照操作事件的觸發(fā)順序進(jìn)行保存。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取模塊包括: 設(shè)置單元,用于接收第二操作指令,設(shè)置對比點(diǎn);其中,所述對比點(diǎn)用于在執(zhí)行所述腳本文件過程中提供對比對象,該對比對象包括:在執(zhí)行所述腳本文件過程中所述對比點(diǎn)對應(yīng)的對象和獲取所述操作事件信息過程中的所述對象。
【文檔編號(hào)】G06F11/36GK104424089SQ201310368803
【公開日】2015年3月18日 申請日期:2013年8月21日 優(yōu)先權(quán)日:2013年8月21日
【發(fā)明者】朱晉 申請人:中興通訊股份有限公司