亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用戶界面測試方法和裝置與流程

文檔序號:11432176閱讀:143來源:國知局
一種用戶界面測試方法和裝置與流程

本發(fā)明涉及應(yīng)用測試領(lǐng)域,尤其涉及一種用戶界面測試方法和裝置。



背景技術(shù):

隨著自動化測試技術(shù)的普及,對應(yīng)用程序進(jìn)行測試逐漸由人工測試轉(zhuǎn)為ui(userinterface,用戶界面)自動化測試。ui自動化測試,即由設(shè)備通過測試工具執(zhí)行預(yù)設(shè)測試腳本,模擬用戶針對被測應(yīng)用ui的操作,從而對被測應(yīng)用的功能及性能進(jìn)行自動化的測試。

現(xiàn)有的ui自動化測試方案中,當(dāng)ui自動化測試步驟涉及到需要被測應(yīng)用打開某個多媒體文件時,都需要到測試設(shè)備的存儲介質(zhì)中選擇一張多媒體文件,但每個測試設(shè)備內(nèi)的多媒體文件資源目錄結(jié)構(gòu)經(jīng)常存在差異,例如在不同廠商的手機(jī)中系統(tǒng)圖庫或系統(tǒng)相冊的展示效果經(jīng)常存在較大差異,因此在測試過程中通過現(xiàn)有的模擬點(diǎn)擊操作指令通常無法準(zhǔn)確找到指定的多媒體文件,給自動化測試帶來很大不確定性。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種用戶界面測試方法和裝置,可保證用戶界面測試過程的準(zhǔn)確性和一致性。

為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種用戶界面測試方法,所述方法包括:

在測試終端中執(zhí)行預(yù)設(shè)的測試腳本中的測試指令對被測應(yīng)用的用戶界面進(jìn)行自動化測試;

在進(jìn)行自動化測試過程中攔截被測應(yīng)用發(fā)出的多媒體文件請求;

根據(jù)攔截到的多媒體文件請求,向被測應(yīng)用返回預(yù)先記錄得到的所述多媒體文件請求對應(yīng)的多媒體測試文件在所述測試終端中的資源訪問路徑,以使所述被測應(yīng)用根據(jù)所述多媒體測試文件的資源訪問路徑打開所述多媒體測試文件。

相應(yīng)地,本發(fā)明實(shí)施例還提供了一種用戶界面測試裝置,包括:

測試文件存儲模塊,用于在測試終端中存儲測試腳本和多媒體測試文件,并記錄所述多媒體測試文件在所述測試終端的資源訪問路徑;

應(yīng)用測試模塊,用于在測試終端中執(zhí)行預(yù)設(shè)的測試腳本中的測試指令對被測應(yīng)用的用戶界面進(jìn)行自動化測試;

文件請求攔截模塊,用于在所述應(yīng)用測試模塊進(jìn)行自動化測試過程中攔截被測應(yīng)用發(fā)出的多媒體文件請求;

測試文件返回模塊,用于根據(jù)文件請求攔截模塊攔截到的多媒體文件請求,向被測應(yīng)用返回預(yù)先記錄得到的所述多媒體文件請求對應(yīng)的多媒體測試文件在所述測試終端中的資源訪問路徑,以使所述被測應(yīng)用根據(jù)所述資源訪問路徑打開所述多媒體測試文件。

本發(fā)明實(shí)施例通過攔截被測應(yīng)用發(fā)出的多媒體文件請求,并將預(yù)設(shè)的多媒體測試文件的資源訪問路徑返回給被測應(yīng)用,使得被測應(yīng)用在自動化測試過程中可以打開指定的多媒體測試文件,不再會受到測試終端資源管理架構(gòu)或界面顯示布局的影響,從而保證用戶界面測試過程的準(zhǔn)確性和一致性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例中的一種用戶界面測試方法流程示意圖;

圖2是本發(fā)明實(shí)施例中的用戶界面測試腳本的錄制方法流程示意圖;

圖3是本發(fā)明實(shí)施例中攔截被測應(yīng)用發(fā)出的多媒體文件請求的示意圖;

圖4是本發(fā)明實(shí)施例中錄制多媒體文件請求并且獲取多媒體測試文件的示意圖;

圖5是本發(fā)明實(shí)施例中的一種用戶界面測試裝置的結(jié)構(gòu)示意圖;

圖6是本發(fā)明另一實(shí)施例中的用戶界面測試裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實(shí)施例中的用戶界面測試方法,可以由本發(fā)明實(shí)施例中測試終端中的用戶界面測試裝置執(zhí)行,本發(fā)明實(shí)施例中的用戶界面測試裝置可以為運(yùn)行在測試終端中的測試工具,其預(yù)先設(shè)置有測試腳本和多媒體測試文件。

圖1是本發(fā)明實(shí)施例中的一種用戶界面測試方法流程示意圖,如圖所示本實(shí)施例中的用戶界面測試方法流程可以包括:

s101,在測試終端中執(zhí)行預(yù)設(shè)的測試腳本中的測試指令對被測應(yīng)用的用戶界面進(jìn)行自動化測試。

所述被測應(yīng)用可以為當(dāng)前運(yùn)行在測試終端中的應(yīng)用程序,其用戶界面顯示在測試終端的顯示屏幕上,本發(fā)明實(shí)施例中的用戶界面測試裝置可以通過執(zhí)行預(yù)設(shè)的測試腳本中的測試指令,模擬用戶點(diǎn)擊被測應(yīng)用的用戶界面中的界面對象從而向被測應(yīng)用輸入對應(yīng)的操作指令,被測應(yīng)用在接收到對應(yīng)的操作指令后會進(jìn)行相應(yīng)的響應(yīng),從而可以反映被測應(yīng)用的功能及性能。

s102,在進(jìn)行自動化測試過程中攔截被測應(yīng)用發(fā)出的多媒體文件請求。

具體實(shí)現(xiàn)中,在執(zhí)行測試腳本對被測應(yīng)用的用戶界面進(jìn)行自動化測試過程中,本發(fā)明實(shí)施例中的用戶界面測試裝置可以通過監(jiān)聽被測應(yīng)用向操作系統(tǒng)發(fā)出的進(jìn)程消息,從而攔截其發(fā)出的多媒體文件請求。示例性的,用戶界面測試裝置可以通過hook(鉤子)機(jī)制監(jiān)聽并攔截被測應(yīng)用向操作系統(tǒng)發(fā)出的多媒體文件請求,所述多媒體文件請求可以為被測應(yīng)用向操作系統(tǒng)發(fā)出攜帶多媒體類型標(biāo)識的intent消息,當(dāng)用戶界面測試裝置監(jiān)聽到被測應(yīng)用向操作系統(tǒng)發(fā)出攜帶多媒體類型標(biāo)識的intent消息,則確定其為多媒體文件請求并進(jìn)行攔截,從而該多媒體文件請求無法發(fā)送至操作系統(tǒng)。所述多媒體類型標(biāo)識示例性的可以包括“audio”(音頻文件)、“video”(視頻文件)或“image”(圖片文件)中的任一種。所述hook機(jī)制,可以為通過預(yù)先安裝的自定義hook工具對操作系統(tǒng)發(fā)生的特定事件進(jìn)行監(jiān)聽的方法。

s103,根據(jù)攔截到的多媒體文件請求,向被測應(yīng)用返回預(yù)先記錄得到的所述多媒體文件請求對應(yīng)的多媒體測試文件在所述測試終端中的資源訪問路徑, 以使所述被測應(yīng)用根據(jù)所述資源訪問路徑打開所述多媒體測試文件。

所述多媒體測試文件可以為本發(fā)明實(shí)施例中的用戶界面測試裝置預(yù)先保存在測試終端中的多媒體文件,例如可以包括圖片測試文件、視頻測試文件或音頻測試文件,用戶界面測試裝置保存所述多媒體測試文件時,記錄多媒體測試文件在所述測試終端中的資源訪問路徑,在可選實(shí)施例中,所述測試腳本中可以指定所述多媒體測試文件在所述測試終端中的資源訪問路徑,用戶界面測試裝置按照測試腳本中指定的資源訪問路徑在測試終端中保存所述多媒體測試文件。本發(fā)明實(shí)施例中的用戶界面測試裝置攔截下被測應(yīng)用在自動化測試過程中發(fā)出的多媒體文件請求后,根據(jù)攔截到的多媒體文件請求,向被測應(yīng)用返回對應(yīng)的多媒體測試文件的資源訪問路徑,例如若被測應(yīng)用請求的是圖片文件,則用戶界面測試裝置向被測應(yīng)用返回預(yù)設(shè)的圖片測試文件,若被測應(yīng)用請求的是音頻文件,則用戶界面測試裝置向被測應(yīng)用返回預(yù)設(shè)的音頻測試文件,等等。所述多媒體測試文件的資源訪問路徑,可以為預(yù)先保存在測試終端中的多媒體測試文件的url(uniformresourcelocator,統(tǒng)一資源定位符),由于不管在什么類型或廠商生產(chǎn)的測試設(shè)備中保存多媒體文件的存儲介質(zhì)對應(yīng)的url的定位規(guī)則都是一定的,因此只要約定預(yù)先將多媒體測試文件保存在測試設(shè)備中的指定路徑下,在測試過程中的被測應(yīng)用都可以通過對應(yīng)的url在測試設(shè)備中找到對應(yīng)的多媒體測試文件,進(jìn)而打開該多媒體測試文件。

例如圖3中所示的測試場景,用戶界面測試裝置執(zhí)行測試腳本中的測試指令,模擬用戶點(diǎn)擊圖3的用戶界面中的“上傳圖片”按鈕,被測應(yīng)用根據(jù)該測試點(diǎn)擊操作指令向操作系統(tǒng)發(fā)出圖片調(diào)用請求,若未被攔截,操作系統(tǒng)可以根據(jù)被測應(yīng)用發(fā)出的圖片調(diào)用請求向被測應(yīng)用返回圖庫的瀏覽界面,讓被測應(yīng)用在圖庫中選取調(diào)用圖片,但是本實(shí)施例中用戶界面測試裝置通過hook機(jī)制監(jiān)聽到被測應(yīng)用向操作系統(tǒng)發(fā)出的intent消息中攜帶“image”標(biāo)識,確認(rèn)該消息是圖片文件請求,從而攔截下來。進(jìn)而用戶界面測試裝置向被測應(yīng)用返回預(yù)設(shè)的圖片測試文件的資源訪問路徑,以使所述被測應(yīng)用根據(jù)所述資源訪問路徑打開所述圖片測試文件,如圖3右側(cè)所示為圖片打開效果。

本發(fā)明實(shí)施例中的用戶界面測試裝置通過攔截被測應(yīng)用發(fā)出的多媒體文件請求,并將對應(yīng)的多媒體測試文件在測試終端中的資源訪問路徑返回給被測應(yīng)用,使得被測應(yīng)用在自動化測試過程中可以打開指定的多媒體測試文件,不再 會受到測試終端資源管理架構(gòu)或界面顯示布局的影響,從而保證用戶界面測試過程的準(zhǔn)確性和一致性。

圖2是本發(fā)明實(shí)施例中的用戶界面測試腳本的錄制方法流程示意圖,本發(fā)明實(shí)施例中的用戶界面測試腳本的錄制流程可以發(fā)生在如圖1所示的如圖所示的用戶界面測試流程之前,在可選實(shí)施例中,測試腳本的錄制和執(zhí)行可以在不同的設(shè)備終端中實(shí)施,例如測試人員在終端a中錄制用戶界面測試腳本,后續(xù)在終端a之外的多個測試終端中分別針對同一被測應(yīng)用進(jìn)行圖1所示的用戶界面測試方法流程。如圖2所示本發(fā)明實(shí)施例中用戶界面測試腳本的錄制流程可以包括:

s201,在操作終端中監(jiān)聽針對所述被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,同時監(jiān)聽所述被測應(yīng)用根據(jù)所述點(diǎn)擊操作發(fā)出的多媒體文件請求。

具體實(shí)現(xiàn)中,測試人員可以在具備觸摸屏的操作終端上使用手指或觸控裝置觸發(fā)被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,也可以在非觸屏設(shè)備上通過鼠標(biāo)、鍵盤或遙控器等觸發(fā)被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作。示例性的,當(dāng)測試人員點(diǎn)擊被測應(yīng)用的用戶界面上的某個按鈕時,測試工具可以得到本次點(diǎn)擊操作的屏幕坐標(biāo)(xxx,yyy),進(jìn)而根據(jù)該屏幕坐標(biāo)可以找到點(diǎn)擊操作在被測應(yīng)用的用戶界面上的哪個控件,然后生成點(diǎn)擊的自動化代碼click(controler信息),該點(diǎn)擊的自動化代碼可以包括事件類型和界面對象參數(shù),以便后續(xù)測試終端在執(zhí)行該點(diǎn)擊的自動化代碼時,可以對被測應(yīng)用的用戶界面上的同一按鈕進(jìn)行模擬點(diǎn)擊操作。在另一示例中,操作終端根據(jù)測試人員的點(diǎn)擊操作產(chǎn)生點(diǎn)擊事件,并且該點(diǎn)擊事件會傳遞給被測應(yīng)用的用戶界面中的界面對象,例如測試人員通過觸控屏觸發(fā)點(diǎn)擊事件,會產(chǎn)生touch事件;若測試人員通過鼠標(biāo)等觸發(fā)點(diǎn)擊事件,則可以產(chǎn)生click事件。在操作終端的操作系統(tǒng),上述點(diǎn)擊事件會觸發(fā)相應(yīng)的函數(shù)調(diào)用,該函數(shù)中包含操作系統(tǒng)可以獲得的該點(diǎn)擊事件的相關(guān)參數(shù),包括點(diǎn)擊的界面對象參數(shù)以及事件類型(長按、短按、連擊、滑動、單點(diǎn)觸控、多點(diǎn)觸控等)。本發(fā)明實(shí)施例中的用戶界面測試裝置可以在通過hook機(jī)制監(jiān)聽得到操作系統(tǒng)對點(diǎn)擊事件的函數(shù)調(diào)用,并從該函數(shù)中的點(diǎn)擊的界面對象參數(shù)獲得點(diǎn)擊事件針對的界面對象,所述界面對象參數(shù)可以唯一標(biāo)記界面對象,例如可以包括界面對象標(biāo)識,如控件id,還可以包括對象名稱、對 象類型等。被測應(yīng)用根據(jù)所述點(diǎn)擊操作會作出響應(yīng),用戶界面測試裝置監(jiān)聽被測應(yīng)用發(fā)出的響應(yīng)信息,若監(jiān)聽到到被測應(yīng)用向操作系統(tǒng)發(fā)出的intent消息中攜帶“image”、“video”或“image”標(biāo)識等,則可以確認(rèn)該消息是多媒體文件請求。

s202,根據(jù)監(jiān)聽到的點(diǎn)擊操作,生成所述針對所述被測應(yīng)用的測試腳本中的測試指令。

具體實(shí)現(xiàn)中,用戶界面測試裝置每當(dāng)監(jiān)聽到一次針對所述被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,即可得到一條對應(yīng)的測試指令,若測試人員在錄制過程中輸入多次針對被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,則可以獲得一系列測試指令,并根據(jù)點(diǎn)擊操作的順序?qū)⒁幌盗袦y試指令組成測試腳本。

示例性的,假設(shè)測試人員依次點(diǎn)擊了用戶界面的主頁面的控件1、控件1對應(yīng)子頁面的控件2以及控件1對應(yīng)子頁面中的控件3,則用戶界面測試裝置可以獲取到控件1-控件3的界面對象參數(shù),由此得到依次點(diǎn)擊控件1->控件2->控件3的測試指令。

s203,根據(jù)監(jiān)聽到的多媒體文件請求,獲取所述被測應(yīng)用發(fā)出的多媒體文件請求所請求的多媒體文件在所述操作終端中的資源訪問路徑。

例如圖4所示的錄制多媒體文件請求過程中,測試人員點(diǎn)擊圖4的用戶界面中的“上傳圖片”按鈕,進(jìn)而從系統(tǒng)返回的圖庫界面中選擇打開一張圖片,本發(fā)明實(shí)施例中的用戶界面測試裝置通過監(jiān)聽這一過程從而可以捕捉到所述被測應(yīng)用發(fā)出的圖片文件請求所請求的圖片文件的資源訪問路徑(url)。

s204,根據(jù)獲取得到的所述多媒體文件在所述操作終端中的資源訪問路徑,加載所述多媒體文件作為多媒體測試文件。

具體實(shí)現(xiàn)中,用戶界面測試裝置可以根據(jù)在測試腳本錄制過程中獲取到的被測應(yīng)用發(fā)出的多媒體文件請求所請求的多媒體文件的訪問路徑,找到被請求的多媒體文件的實(shí)際存儲地址,從而將該多媒體文件加載到測試資源集合中(例如預(yù)設(shè)的文件夾),作為后續(xù)自動化測試過程中使用的多媒體測試文件。

s205,在所述測試終端中保存針對所述被測應(yīng)用的測試腳本和所述多媒體測試文件,并記錄所述多媒體測試文件在所述測試終端的資源訪問路徑。在可選實(shí)施例中,所述測試腳本中可以指定所述多媒體測試文件在所述測試終端中的資源訪問路徑,用戶界面測試裝置按照測試腳本中指定的資源訪問路徑在測 試終端中保存所述多媒體測試文件。即將測試腳本以及測試資源集合中的多媒體測試文件均存放(或安裝)至測試終端中,以便完成如圖1中所示的用戶界面自動化測試。

圖5是本發(fā)明實(shí)施例中的一種用戶界面測試裝置的結(jié)構(gòu)示意圖,可以實(shí)現(xiàn)在馮若依曼體系的計算機(jī)系統(tǒng)之上,例如可以以計算機(jī)程序的形式運(yùn)行,該計算機(jī)程序可集成在應(yīng)用中,也可作為獨(dú)立的工具類應(yīng)用運(yùn)行。該計算機(jī)系統(tǒng)可以是個人電腦、平板電腦、筆記本電腦、掌上電腦、智能手機(jī)等具有觸控功能的終端設(shè)備,也可以以后臺服務(wù)器的形式實(shí)施。如圖5所示本發(fā)明實(shí)施例中的用戶界面測試裝置至少可以包括:

測試文件存儲模塊500,用于在測試終端中存儲測試腳本和多媒體測試文件,并記錄所述多媒體測試文件在所述測試終端的資源訪問路徑。

所述多媒體測試文件可以包括圖片測試文件、視頻測試文件或音頻測試文件。在可選實(shí)施例中,所述測試腳本中可以指定所述多媒體測試文件在所述測試終端中的資源訪問路徑,測試文件存儲模塊500按照測試腳本中指定的資源訪問路徑在測試終端中保存所述多媒體測試文件。

應(yīng)用測試模塊510,用于在測試終端中執(zhí)行預(yù)設(shè)的測試腳本中的測試指令對被測應(yīng)用的用戶界面進(jìn)行自動化測試。

具體實(shí)現(xiàn)中,所述被測應(yīng)用可以為當(dāng)前運(yùn)行在測試終端中的應(yīng)用程序,其用戶界面顯示在測試終端的顯示屏幕上,應(yīng)用測試模塊520可以通過執(zhí)行預(yù)設(shè)的測試腳本中的測試指令,模擬用戶點(diǎn)擊被測應(yīng)用的用戶界面中的界面對象從而向被測應(yīng)用輸入對應(yīng)的操作指令,被測應(yīng)用在接收到對應(yīng)的操作指令后會進(jìn)行相應(yīng)的響應(yīng),從而可以反映被測應(yīng)用的功能及性能。

文件請求攔截模塊520,用于在所述應(yīng)用測試模塊進(jìn)行自動化測試過程中攔截被測應(yīng)用發(fā)出的多媒體文件請求。

在應(yīng)用測試模塊510執(zhí)行測試腳本對被測應(yīng)用的用戶界面進(jìn)行自動化測試過程中,文件請求攔截模塊520可以通過監(jiān)聽被測應(yīng)用向操作系統(tǒng)發(fā)出的進(jìn)程消息,從而攔截其發(fā)出的多媒體文件請求。示例性的,文件請求攔截模塊530可以通過hook(鉤子)機(jī)制監(jiān)聽并攔截被測應(yīng)用向操作系統(tǒng)發(fā)出的多媒體文件請求,所述多媒體文件請求可以為被測應(yīng)用向操作系統(tǒng)發(fā)出攜帶多媒體類型標(biāo)識 的intent消息,當(dāng)文件請求攔截模塊520監(jiān)聽到被測應(yīng)用向操作系統(tǒng)發(fā)出攜帶多媒體類型標(biāo)識的intent消息,則確定其為多媒體文件請求并進(jìn)行攔截,從而該多媒體文件請求無法發(fā)送至操作系統(tǒng)。所述多媒體類型標(biāo)識示例性的可以包括“audio”(音頻文件)、“video”(視頻文件)或“image”(圖片文件)中的任一種。

測試文件返回模塊530,用于根據(jù)文件請求攔截模塊攔截到的多媒體文件請求,向被測應(yīng)用返回預(yù)先記錄得到的所述多媒體文件請求對應(yīng)的多媒體測試文件在所述測試終端中的資源訪問路徑,以使所述被測應(yīng)用根據(jù)所述資源訪問路徑打開所述多媒體測試文件。

在文件請求攔截模塊520攔截下被測應(yīng)用在自動化測試過程中發(fā)出的多媒體文件請求后,測試文件返回模塊530可以根據(jù)攔截到的多媒體文件請求,向被測應(yīng)用返回預(yù)先記錄得到的所述多媒體文件請求對應(yīng)的多媒體測試文件在所述測試終端中的資源訪問路徑,例如若被測應(yīng)用請求的是圖片文件,則測試文件返回模塊530向被測應(yīng)用返回預(yù)設(shè)的圖片測試文件,若被測應(yīng)用請求的是音頻文件,則測試文件返回模塊530向被測應(yīng)用返回預(yù)設(shè)的音頻測試文件,等等。所述多媒體測試文件的資源訪問路徑,可以為預(yù)先保存在測試終端中的多媒體測試文件的url(uniformresourcelocator,統(tǒng)一資源定位符),由于在任意類型或廠商生產(chǎn)的測試設(shè)備中保存多媒體文件的存儲介質(zhì)對應(yīng)的url的定位規(guī)則都是一定的,因此只要約定預(yù)先將多媒體測試文件保存在測試設(shè)備中的指定路徑下,在測試過程中的被測應(yīng)用都可以通過對應(yīng)的url在測試設(shè)備中找到對應(yīng)的多媒體測試文件,進(jìn)而打開該多媒體測試文件。

進(jìn)而在可選實(shí)施例中,用戶界面測試裝置進(jìn)一步還可以包括:

測試腳本錄制模塊540,用于在操作終端中監(jiān)聽針對所述被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,根據(jù)監(jiān)聽到的點(diǎn)擊操作,生成針對所述被測應(yīng)用的測試腳本中的測試指令。

具體實(shí)現(xiàn)中,測試人員可以在具備觸摸屏的操作終端上使用手指或觸控裝置觸發(fā)被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,也可以在非觸屏設(shè)備上通過鼠標(biāo)、鍵盤或遙控器等觸發(fā)被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作。示例性的,當(dāng)測試人員點(diǎn)擊被測應(yīng)用的用戶界面上的某個按鈕時,測試工具可以得到本次點(diǎn)擊操作的屏幕坐標(biāo)(xxx,yyy),進(jìn)而根據(jù)該屏幕坐標(biāo)可以找到點(diǎn)擊操作在被測應(yīng)用的用戶界面上的哪個控件,然后生成點(diǎn)擊的自動化代碼click (controler信息),該點(diǎn)擊的自動化代碼可以包括事件類型和界面對象參數(shù),以便后續(xù)測試終端在執(zhí)行該點(diǎn)擊的自動化代碼時,可以對被測應(yīng)用的用戶界面上的同一按鈕進(jìn)行模擬點(diǎn)擊操作。在另一示例中,操作終端根據(jù)測試人員的點(diǎn)擊操作產(chǎn)生點(diǎn)擊事件,并且該點(diǎn)擊事件會傳遞給被測應(yīng)用的用戶界面中的界面對象,例如測試人員通過觸控屏觸發(fā)點(diǎn)擊事件,會產(chǎn)生touch事件;若測試人員通過鼠標(biāo)等觸發(fā)點(diǎn)擊事件,則可以產(chǎn)生click事件。在操作終端的操作系統(tǒng),上述點(diǎn)擊事件會觸發(fā)相應(yīng)的函數(shù)調(diào)用,該函數(shù)中包含操作系統(tǒng)可以獲得的該點(diǎn)擊事件的相關(guān)參數(shù),包括點(diǎn)擊的界面對象參數(shù)以及事件類型(長按、短按、連擊、滑動、單點(diǎn)觸控、多點(diǎn)觸控等)。測試腳本錄制模塊540可以在通過hook機(jī)制監(jiān)聽得到操作系統(tǒng)對點(diǎn)擊事件的函數(shù)調(diào)用,并從該函數(shù)中的點(diǎn)擊的界面對象參數(shù)獲得點(diǎn)擊事件針對的界面對象,所述界面對象參數(shù)可以唯一標(biāo)記界面對象,例如可以包括界面對象標(biāo)識,如控件id,還可以包括對象名稱、對象類型等。進(jìn)而,測試腳本錄制模塊540每當(dāng)監(jiān)聽到一次針對所述被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,即可由此得到一條對應(yīng)的測試指令,若測試人員在錄制過程中輸入多次針對被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作,則可以獲得一系列測試指令,并根據(jù)點(diǎn)擊操作的順序?qū)⒁幌盗袦y試指令組成測試腳本。

示例性的,假設(shè)測試人員依次點(diǎn)擊了用戶界面的主頁面的控件1、控件1對應(yīng)子頁面的控件2以及控件1對應(yīng)子頁面中的控件3,則用戶界面測試裝置可以獲取到控件1-控件3的界面對象參數(shù),由此得到依次點(diǎn)擊控件1->控件2->控件3的測試指令。

測試文件加載模塊550,用于在操作終端中監(jiān)聽針對所述被測應(yīng)用的用戶界面中界面對象的點(diǎn)擊操作的同時,監(jiān)聽所述被測應(yīng)用根據(jù)所述點(diǎn)擊操作發(fā)出的多媒體文件請求,根據(jù)監(jiān)聽到的多媒體文件請求,獲取所述被測應(yīng)用發(fā)出的多媒體文件請求所請求的在所述操作終端中多媒體文件的資源訪問路徑,根據(jù)獲取得到的所述多媒體文件的資源訪問路徑,加載所述多媒體文件作為多媒體測試文件。

被測應(yīng)用根據(jù)所述點(diǎn)擊操作會作出響應(yīng),測試文件加載模塊550監(jiān)聽被測應(yīng)用發(fā)出的響應(yīng)信息,若監(jiān)聽到到被測應(yīng)用向操作系統(tǒng)發(fā)出的intent消息中攜帶“image”、“video”或“image”標(biāo)識等,則可以確認(rèn)該消息是多媒體文件請求。例如圖4所示的錄制多媒體文件請求過程中,測試人員點(diǎn)擊圖4的用戶界面中 的“上傳圖片”按鈕,進(jìn)而從系統(tǒng)返回的圖庫界面中選擇打開一張圖片,測試文件加載模塊550從而可以通過監(jiān)聽這一過程從而可以捕捉到所述被測應(yīng)用發(fā)出的圖片文件請求所請求的圖片文件的資源訪問路徑(url)。進(jìn)而可以根據(jù)獲取到的被測應(yīng)用發(fā)出的多媒體文件請求所請求的多媒體文件的訪問路徑,找到被請求的多媒體文件的實(shí)際存儲地址,從而將該多媒體文件加載到測試資源集合中(例如預(yù)設(shè)的文件夾),作為后續(xù)自動化測試過程中使用的多媒體測試文件,并且生成對應(yīng)的測試代碼,后續(xù)在測試終端中進(jìn)行自動化測試之前,需要將測試代碼、測試腳本以及測試資源集合中的多媒體測試文件均存放(或安裝)至測試終端中,以便完成如圖1中所示的用戶界面自動化測試。

本發(fā)明實(shí)施例中的用戶界面測試裝置通過攔截被測應(yīng)用發(fā)出的多媒體文件請求,并將對應(yīng)的多媒體測試文件在測試終端中的資源訪問路徑返回給被測應(yīng)用,使得被測應(yīng)用在自動化測試過程中可以打開指定的多媒體測試文件,不再會受到測試終端資源管理架構(gòu)或界面顯示布局的影響,從而保證用戶界面測試過程的準(zhǔn)確性和一致性。

圖6展示了一種執(zhí)行上述用戶界面測試方法的基于馮諾依曼體系的計算機(jī)系統(tǒng),即另一實(shí)施例中的用戶界面測試裝置。該計算機(jī)系統(tǒng)可以是智能手機(jī)、平板電腦、掌上電腦,筆記本電腦或個人電腦等終端設(shè)備。具體的,可包括通過系統(tǒng)總線連接的輸入輸出接口610、處理器620、存儲器630。其中,輸入輸出接口610可包括輸入接口611,輸出接口612,可選的還可以包括網(wǎng)絡(luò)接口613,其中輸入接口611可包括觸控屏、鼠標(biāo)、鍵盤或遙控信號接收裝置。存儲器630可包括外存儲器631(例如硬盤、光盤或軟盤等)和內(nèi)存儲器632。

在本實(shí)施例中,本方法的運(yùn)行可以基于計算機(jī)程序,該計算機(jī)程序的程序文件(包括本發(fā)明實(shí)施例中提及的測試腳本)和預(yù)設(shè)的多媒體測試文件可以存儲于前述基于馮諾依曼體系的計算機(jī)系統(tǒng)的外存儲器631中,其中程序文件在運(yùn)行時被加載到內(nèi)存儲器632中,然后被編譯為機(jī)器碼之后傳遞至處理器620中執(zhí)行,從而使得基于馮諾依曼體系的計算機(jī)系統(tǒng)中形成前述邏輯上的應(yīng)用測試模塊510、文件請求攔截模塊520、測試文件返回模塊530、測試腳本錄制模塊540、以及測試文件加載模塊550。且在上述實(shí)施例中用戶界面測試方法的執(zhí)行過程中,輸入的參數(shù)和指令均通過輸入接口611接收,并傳遞至內(nèi)存儲器632 中緩存,然后輸入到處理器620中進(jìn)行處理,處理的結(jié)果數(shù)據(jù)或緩存于內(nèi)存儲器632中進(jìn)行后續(xù)地處理,或被傳遞至輸出接口612或網(wǎng)絡(luò)接口613進(jìn)行輸出。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存儲記憶體(randomaccessmemory,ram)等。

以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1