本發(fā)明涉及終端
技術領域:
:,具體而言,涉及一種采集應用性能數(shù)據(jù)的方法及裝置。
背景技術:
::目前,終端上都安裝有瀏覽器,瀏覽器的性能指標主要有網(wǎng)速、啟動速度和下載速度等。在對瀏覽器進行性能測試時,需要采集瀏覽器的性能數(shù)據(jù),以根據(jù)采集的性能數(shù)據(jù)確定瀏覽器的性能指標。當前,瀏覽器客戶端配置有自帶的截屏軟件,瀏覽器客戶端通過該截屏軟件不停地對當前顯示的頁面進行截屏,截取到的多副頁面圖像及每幅頁面圖像對應的截取時間即為采集的性能數(shù)據(jù)。分析采集的性能數(shù)據(jù)即可得到瀏覽器的性能指標。例如,若采集啟動速度對應的性能數(shù)據(jù),當瀏覽器客戶端啟動時,通過截屏軟件不停地截取當前顯示的頁面,直到截取到瀏覽器客戶端的主界面對應的頁面圖像時停止截屏,分析出從開始啟動到截取到主界面對應的頁面圖像所用的時間段,該時間段即可表示瀏覽器客戶端的啟動速度。上述通過瀏覽器自帶的截屏軟件來采集性能數(shù)據(jù),需要實時地截屏,占用大量的系統(tǒng)資源,截屏速度慢,誤差很大且效率很低,而且受終端的系統(tǒng)版本及硬件性能影響很大。技術實現(xiàn)要素:有鑒于此,本發(fā)明實施例的目的在于提供一種采集應用性能數(shù)據(jù)的方法及裝置,通過獨立的采集設備中的攝像模塊來采集待測終端中的待測應用的界面圖像,避免了通過應用自帶的截屏軟件來采集性能數(shù)據(jù)。第一方面,本發(fā)明實施例提供了一種采集應用性能數(shù)據(jù)的方法,所述方法包括:通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間;根據(jù)拍攝得到的圖像,獲取所述待測應用對應的界面圖像;根據(jù)所述待測應用的界面圖像及所述拍攝時間生成所述待測應用的性能數(shù)據(jù)。結合第一方面,本發(fā)明實施例提供了上述第一方面的第一種可能的實現(xiàn)方式,其中,所述根據(jù)拍攝得到的圖像,獲取所述待測應用對應的界面圖像,包括:根據(jù)拍攝得到的圖像中每個像素點的灰度值或顏色值,從所述圖像中確定出所述待測終端的屏幕邊界;根據(jù)確定的所述屏幕邊界,從所述圖像中截取出所述待測終端的屏幕圖像作為所述待測應用對應的界面圖像。結合第一方面的第一種可能的實現(xiàn)方式,本發(fā)明實施例提供了上述第一方面的第二種可能的實現(xiàn)方式,其中,所述根據(jù)拍攝得到的圖像中每個像素點的灰度值或顏色值,從所述圖像中確定出所述待測終端的屏幕邊界,包括:從拍攝得到的圖像的四周邊緣開始檢測每個像素點的灰度值或顏色值;當檢測到灰度值或顏色值首次滿足預設突變條件時,將首次滿足所述預設突變條件的像素點組成的輪廓確定為所述待測終端的邊界;從所述待測終端的邊界開始檢測像素點的灰度值或顏色值;當檢測到灰度值或顏色值再次滿足所述預設突變條件時,將再次滿足所述預設突變條件的像素點組成的輪廓確定為所述待測終端的屏幕邊界。結合第一方面,本發(fā)明實施例提供了上述第一方面的第三種可能的實現(xiàn)方式,其中,所述獲取所述待測應用對應的界面圖像之前,還包括:通過所述攝像模塊拍攝多幅所述待測終端的圖像,根據(jù)多幅所述待測終端的圖像中每個像素點的灰度值或顏色值,確定所述待測終端的屏幕邊界;相應地,所述根據(jù)拍攝得到的圖像,獲取所述待測應用對應的界面圖像,包括:根據(jù)確定的所述屏幕邊界,從拍攝得到的圖像中截取出所述待測終端的屏幕圖像作為所述待測應用對應的界面圖像。結合第一方面,本發(fā)明實施例提供了上述第一方面的第四種可能的實現(xiàn)方式,其中,所述根據(jù)所述待測應用的界面圖像及所述拍攝時間生成所述待測應用的性能數(shù)據(jù)之前,還包括:從內(nèi)存中獲取已采集的性能數(shù)據(jù)中的圖像,通過相似度對比算法分別計算所述待測應用的界面圖像與獲取的每個圖像之間的相似度;判斷所述每個圖像中是否存在相似度高于預設閾值的圖像,如果是,則丟棄所述待測應用的界面圖像;如果所述每個圖像中不存在相似度高于預設閾值的圖像,則執(zhí)行所述根據(jù)所述待測應用的界面圖像及所述拍攝時間生成所述待測應用的性能數(shù)據(jù)的操作。結合第一方面,本發(fā)明實施例提供了上述第一方面的第五種可能的實現(xiàn)方式,其中,所述根據(jù)所述待測應用的界面圖像及所述拍攝時間生成所述待測應用的性能數(shù)據(jù)之后,還包括:將所述性能數(shù)據(jù)存儲在內(nèi)存中;實時監(jiān)測所述待測應用執(zhí)行所述預設操作的過程,當監(jiān)測到所述待測應用停止執(zhí)行所述預設操作時,控制所述攝像模塊停止對所述待測終端進行拍攝。結合第一方面的第五種可能的實現(xiàn)方式,本發(fā)明實施例提供了上述第一方面的第六種可能的實現(xiàn)方式,其中,所述控制所述攝像模塊停止對所述待測終端進行拍攝之后,還包括:從內(nèi)存中獲取所述待測應用對應的性能數(shù)據(jù),根據(jù)獲取的性能數(shù)據(jù)包括的界面圖像和拍攝時間,確定所述待測應用中所述預設操作對應的性能指標。結合第一方面,本發(fā)明實施例提供了上述第一方面的第七種可能的實現(xiàn)方式,其中,所述通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝之前,還包括:通過開源計算機視覺庫opencv驅動攝像模塊,創(chuàng)建攝像任務線程。結合第一方面,本發(fā)明實施例提供了上述第一方面的第八種可能的實現(xiàn)方式,其中,所述通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝之前,還包括:建立與所述待測終端之間的通信連接,通過所述通信連接發(fā)送控制指令給所述待測終端,控制所述待測終端中的待測應用執(zhí)行預設操作。第二方面,本發(fā)明實施例提供了一種采集應用性能數(shù)據(jù)的裝置,所述裝置包括攝像模塊、控制模塊和性能分析模塊;所述控制模塊,用于控制所述攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間;所述性能分析模塊,用于根據(jù)所述攝像模塊拍攝得到的圖像,獲取所述待測應用對應的界面圖像,根據(jù)所述待測應用的界面圖像及所述拍攝時間生成所述待測應用的性能數(shù)據(jù)。結合第二方面,本發(fā)明實施例提供了上述第二方面的第一種可能的實現(xiàn)方式,其中,所述性能分析模塊包括:確定單元,用于根據(jù)所述攝像模塊拍攝得到的圖像中每個像素點的灰度值或顏色值,從所述圖像中確定出所述待測終端的屏幕邊界;截取單元,用于根據(jù)所述確定單元確定的所述屏幕邊界,從所述圖像中截取出所述待測終端的屏幕圖像作為所述待測應用對應的界面圖像。結合第二方面的第一種可能的實現(xiàn)方式,本發(fā)明實施例提供了上述第二方面的第二種可能的實現(xiàn)方式,其中,所述確定單元包括:檢測子單元,用于從所述攝像模塊拍攝得到的圖像的四周邊緣開始檢測每個像素點的灰度值或顏色值;確定子單元,用于當所述檢測子單元檢測到灰度值或顏色值首次滿足預設突變條件時,將首次滿足所述預設突變條件的像素點組成的輪廓確定為所述待測終端的邊界;所述檢測子單元,還用于從所述待測終端的邊界開始檢測像素點的灰度值或顏色值;所述確定子單元,還用于當所述檢測子單元檢測到灰度值或顏色值再次滿足所述預設突變條件時,將再次滿足所述預設突變條件的像素點組成的輪廓確定為所述待測終端的屏幕邊界。結合第二方面,本發(fā)明實施例提供了上述第二方面的第三種可能的實現(xiàn)方式,其中,所述控制模塊,還用于控制所述攝像模塊拍攝多幅所述待測終端的圖像;所述性能分析模塊,還用于根據(jù)所述攝像模塊拍攝的多幅所述待測終端的圖像中每個像素點的灰度值或顏色值,確定所述待測終端的屏幕邊界;根據(jù)確定的所述屏幕邊界,從所述拍攝得到的圖像中截取出所述待測終端的屏幕圖像作為所述待測應用對應的界面圖像。結合第二方面,本發(fā)明實施例提供了上述第二方面的第四種可能的實現(xiàn)方式,其中,所述性能分析模塊還包括:相似度計算單元,用于從內(nèi)存中獲取已采集的性能數(shù)據(jù)中的圖像,通過相似度對比算法分別計算所述待測應用的界面圖像與獲取的每個圖像之間的相似度;判斷單元,用于判斷所述每個圖像中是否存在相似度高于預設閾值的圖像;丟棄單元,用于當所述判斷單元判斷出所述每個圖像中存在相似度高于預設閾值的圖像時,丟棄所述待測應用的界面圖像;生成單元,用于當所述判斷單元判斷出所述每個圖像中不存在相似度高于預設閾值的圖像時,執(zhí)行所述根據(jù)所述待測應用的界面圖像及所述拍攝時間生成所述待測應用的性能數(shù)據(jù)的操作。結合第二方面,本發(fā)明實施例提供了上述第二方面的第五種可能的實現(xiàn)方式,其中,所述裝置還包括:存儲模塊,用于將所述性能數(shù)據(jù)存儲在內(nèi)存中;所述控制模塊,還用于實時監(jiān)測所述待測應用執(zhí)行所述預設操作的過程,當監(jiān)測到所述待測應用停止執(zhí)行所述預設操作時,控制所述攝像模塊停止對所述待測終端進行拍攝。結合第二方面的第五種可能的實現(xiàn)方式,本發(fā)明實施例提供了上述第二方面的第六種可能的實現(xiàn)方式,其中,所述裝置還包括:性能指標確定模塊,用于從內(nèi)存中獲取所述待測應用對應的性能數(shù)據(jù),根據(jù)獲取的性能數(shù)據(jù)包括的界面圖像和拍攝時間,確定所述待測應用中所述預設操作對應的性能指標。結合第二方面,本發(fā)明實施例提供了上述第二方面的第七種可能的實現(xiàn)方式,其中,所述控制模塊,還用于通過開源計算機視覺庫opencv驅動攝像模塊,創(chuàng)建攝像任務線程。結合第二方面,本發(fā)明實施例提供了上述第二方面的第八種可能的實現(xiàn)方式,其中,所述控制模塊,還用于建立與所述待測終端之間的通信連接,通過所述通信連接發(fā)送控制指令給所述待測終端,控制所述待測終端中的待測應用執(zhí)行預設操作。在本發(fā)明實施例提供的方法及裝置中,通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間;根據(jù)拍攝得到的圖像,獲取待測應用對應的界面圖像;根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)。本發(fā)明的執(zhí)行 主體為獨立于待測終端之外的采集設備,通過獨立的采集設備中的攝像模塊來拍攝待測終端的圖像,進而得到待測應用的界面圖像,避免了通過待測終端中的應用自帶的截屏軟件來采集性能數(shù)據(jù),在采集性能數(shù)據(jù)時不占用待測終端的系統(tǒng)資源,因此截屏速度快、誤差小而效率高,且不會受待測終端的系統(tǒng)版本和硬件性能的影響。為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。附圖說明為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關的附圖。圖1A示出了本發(fā)明實施例1所提供的一種采集設備的示意圖;圖1B示出了本發(fā)明實施例1所提供的一種采集應用性能數(shù)據(jù)的方法流程圖;圖1C示出了本發(fā)明實施例1所提供的攝像模塊對手機進行拍攝得到的圖像;圖1D示出了本發(fā)明實施例1所提供的從拍攝的手機的圖像中獲取的瀏覽器的界面圖像;圖1E示出了本發(fā)明實施例1所提供的瀏覽器的性能數(shù)據(jù)的示意圖;圖2示出了本發(fā)明實施例2所提供的一種采集應用性能數(shù)據(jù)的裝置結構示意圖。具體實施方式下面將結合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍??紤]到相關技術中通過終端中瀏覽器自帶的截屏軟件來采集性能數(shù)據(jù),需要實時地截屏,占用大量的系統(tǒng)資源,截屏速度慢,誤差很大且效率很低,而且受終端的系統(tǒng)版本及硬件性能影響很大。基于此,本發(fā)明實施例提供了一種采集應用性能數(shù)據(jù)的方法及裝置。下面通過實施例進行描述。實施例1本發(fā)明實施例提供了一種采集應用性能數(shù)據(jù)的方法。該方法的執(zhí)行主體為獨立于待測終端之外的采集設備,該采集設備上配置有攝像模塊,該攝像模塊可以為攝像頭等。本發(fā)明實施例通過獨立于待測終端之外的采集設備來采集待測終端上的待測應用的性能數(shù)據(jù),從而避免在采集性能數(shù)據(jù)的過程中占用待測終端的系統(tǒng)資源,以及避免性能數(shù)據(jù)的采集受待測終端的系統(tǒng)版本和硬件性能的影響。待測終端可以為手機、PAD(PortableAndroidDevice,平板電腦)或PC(PersonalComputer,個人計算機)等。待測應用可以為 安裝在待測終端上的應用程序,如瀏覽器、視頻播放器和社交應用等。待測應用的性能指標包括啟動速度、網(wǎng)速和下載速度等。在通過采集設備的攝像模塊來采集待測終端中的待測應用的性能數(shù)據(jù)之前,將待測終端放置在采集設備的攝像模塊的拍攝區(qū)域內(nèi),且待測終端位于攝像模塊的拍攝區(qū)域的中心位置,并將拍攝區(qū)域的拍攝焦點對準待測終端,保持待測終端的屏幕與攝像模塊的拍攝鏡頭平行,攝像模塊與待測終端之間的位置關系如圖1A采集設備的示意圖中所示。本發(fā)明實施例通過opencv(opensourcecomputervisionlibrary,開源計算機視覺庫)驅動攝像模塊,創(chuàng)建攝像任務線程,后續(xù)攝像模塊通過該攝像任務線程來拍攝圖像。在采集待測應用的不同性能指標對應的性能數(shù)據(jù)之前,待測應用需要先執(zhí)行待測指標對應的操作。例如,在采集瀏覽器的啟動速度對應的性能數(shù)據(jù)之前,瀏覽器需要先執(zhí)行啟動操作;在采集瀏覽器的網(wǎng)速對應的性能數(shù)據(jù)之前,瀏覽器需要先執(zhí)行訪問網(wǎng)頁的操作;在采集瀏覽器的下載速度對應的性能數(shù)據(jù)之前,瀏覽器需要先執(zhí)行下載操作。在本發(fā)明實施例中,設置啟動操作、訪問網(wǎng)頁的操作及下載操作等為預設操作。在通過采集設備中的攝像模塊來采集待測終端中的待測應用的性能數(shù)據(jù)之前,用戶可以通過手動觸發(fā)待測應用執(zhí)行預設操作,如用戶點擊待測終端中瀏覽器的圖標,觸發(fā)瀏覽器執(zhí)行啟動操作。采集設備可以與待測終端之間建立通信連接,通過該通信連接實時監(jiān)測待測終端中的待測應用是否執(zhí)行了預設操作,當監(jiān)測到待測應用執(zhí)行預設操作時,通過本發(fā)明實施例步驟101-103的操作來采集待測應用的性能數(shù)據(jù)。上述通過用戶來觸發(fā)待測應用執(zhí)行預設操作的方式,由于需要人工干預,采集應用性能數(shù)據(jù)的自動化程度較低,所以本發(fā)明實施例提供了一種全自動的啟動待測應用執(zhí)行預設操作的方式,以提高采集應用性能數(shù)據(jù)的自動化程度。全自動的啟動方式包括:采集設備建立與待測終端之間的通信連接,通過該通信連接發(fā)送控制指令給待測終端,控制待測終端中的待測應用執(zhí)行預設操作。上述控制指令中包括待測應用的標識和用于指示預設操作的指示信息。待測應用的標識可以為待測應用的名稱或編號等,用于指示預設操作的指示信息可以為在采集終端與待測終端中預先設置的指示符或事件指令。采集設備與待測終端之間的通信連接可以為藍牙、紅外或Wi-Fi(Wireless-Fidelity,無線保真)等無線連接,也可以為通過有線線纜或USB(UniversalSerialBus,通用串行總線)接口等建立的有線連接。待測終端接收到采集設備發(fā)送的控制指令后,根據(jù)控制指令攜帶的待測應用的標識和預設操作的指示信息,觸發(fā)待測應用執(zhí)行該指示信息指示的預設操作。待測終端還通過與采集設備之間的通信連接發(fā)送執(zhí)行成功的指示信息給采集設備,采集設備接收到該執(zhí)行成功的指示信息時確定待測終端中的待測應用開始執(zhí)行預設操作。通過上述全自動的啟動方式來啟動待測終端執(zhí)行預設操作,避免了采集性能數(shù)據(jù)過程中的人工干預,可以通過擴展采集設備包括的攝像模塊的數(shù)量來同時采集多個待測終端中的待測應用的性能數(shù)據(jù),實現(xiàn)性能數(shù)據(jù)的批量采集。而且應用的性能指標也會受安裝該應用的終端的性能的影響,為了提高確定應用性能指標的準確性,需要檢測同一應用在不同終端上的性能,通過上述擴展了多個攝像模塊的采集設備,可以實現(xiàn)同時采集同一待測應用在多個不同待測 終端上的性能數(shù)據(jù),從而提高確定該待測應用的性能指標的效率和準確性。當采集設備通過通信連接發(fā)送控制指令給待測終端時,或者當采集設備通過該通信連接接收到待測終端發(fā)送的執(zhí)行成功的指示信息時,如圖1B所示,通過步驟101-103的操作來采集待測應用的性能數(shù)據(jù)。步驟101:通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間。通過攝像模塊對應的攝像任務線程對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝。拍攝得到的圖像可以劃分為背景部分和待測終端的圖像部分,而待測終端的圖像部分又可分為屏幕圖像部分和待測終端的邊框部分。其中,在確定待測應用的性能指標時,背景部分和待測終端的邊框部分的參考價值不大,可以忽略,而屏幕圖像部分的參考價值很大,因此為了縮減性能數(shù)據(jù)的數(shù)據(jù)量,以及提高性能數(shù)據(jù)的準確性,本發(fā)明實施例中在采集應用性能數(shù)據(jù)時主要采集屏幕圖像部分。在本發(fā)明實施例中,以待測終端為手機及待測應用為瀏覽器為例進行說明,如圖1C所示,對啟動了瀏覽器的手機進行拍攝得到的圖像中包括背景部分、手機邊框部分和手機屏幕圖像部分。步驟102:根據(jù)拍攝得到的圖像,獲取待測應用對應的界面圖像。由于拍攝得到的圖像中待測終端的屏幕圖像部分在確定性能指標中的參考性很高,且在待測應用執(zhí)行預設操作時,待測終端的屏幕上顯示的界面即為待測應用對應的界面,所以在本發(fā)明實施例中 獲取待測應用對的界面圖像,即為從拍攝得到的圖像中獲取待測終端的屏幕圖像。獲取待測應用對應的界面圖像的操作,具體包括:根據(jù)拍攝得到的圖像中每個像素點的灰度值或顏色值,從圖像中確定出待測終端的屏幕邊界;根據(jù)確定的屏幕邊界,從拍攝得到的圖像中截取出待測終端的屏幕圖像作為待測應用對應的界面圖像。因為拍攝的圖像中包括背景部分、待測終端的邊框部分和屏幕圖像部分,通常背景部分的顏色與待測終端的邊框顏色不同,而待測終端的邊框顏色與屏幕的顏色也不相同。所以在確定待測終端的屏幕邊界時,可以根據(jù)拍攝的圖像中的像素點的灰度值或顏色值來確定,具體包括:從拍攝得到的圖像的四周邊緣開始檢測每個像素點的灰度值或顏色值;當檢測到灰度值或顏色值首次滿足預設突變條件時,將首次滿足預設突變條件的像素點組成的輪廓確定為待測終端的邊界;從待測終端的邊界開始檢測像素點的灰度值或顏色值;當檢測到灰度值或顏色值再次滿足預設突變條件時,將再次滿足預設突變條件的像素點組成的輪廓確定為待測終端的屏幕邊界。由于背景部分的顏色與待測終端的邊框顏色不同,因此在背景部分與待測終端的邊框顏色的臨界位置,像素點的灰度值和顏色值會發(fā)生很大變化。而待測終端的邊框顏色與屏幕的顏色不相同,則在待測終端的邊框與屏幕的臨界位置的像素點的灰度值和顏色值也會發(fā)生很大變化。而且由于待測終端的邊框的顏色一般為單一顏色,如白色或黑色等,所以待測終端的邊框圖像包括的每個像素點的灰度值都相同,且顏色值也都相同。同樣地,待測終端的屏幕的邊緣 的顏色也一般為單一顏色,所以屏幕圖像的邊緣的每個像素點的灰度值也都相同,且顏色值也都相同。在本發(fā)明實施例中由于待測終端位于攝像模塊的拍攝區(qū)域的中心位置,所以在拍攝得到的圖像中待測終端的圖像位于中間位置,因此在檢測待測終端的邊框及屏幕邊界時可以從拍攝得到的圖像的四周邊緣開始檢測,檢測外側一圈像素點的灰度值或顏色值,與這一圈相鄰的內(nèi)側一圈像素點的灰度值或顏色值的差別。預設突變條件可以為內(nèi)側一圈像素點中有超過預設個數(shù)的像素點的灰度值與外側一圈像素點的灰度值不同且該超過預設個數(shù)的像素點中每個像素點的灰度值近似相等?;蛘撸A設突變條件可以為內(nèi)側一圈像素點中有超過預設個數(shù)的像素點的灰度值與外側一圈像素點的顏色值不同且該超過預設個數(shù)的像素點中每個像素點的顏色值近似相等。上述確定待測終端的屏幕邊界的方式是以背景部分與待測終端的邊框的顏色不同為前提進行確定的,因為只有當背景部分與待測終端的邊框的顏色不同時,攝像模塊拍攝的圖像中才會存在待測終端的邊界和屏幕邊界兩個邊界線。但是當背景部分與待測終端的邊框的顏色相同或相近時很難檢測出待測終端的邊界,因此在本發(fā)明實施例中通過上述方式檢測拍攝得到的圖像中像素點的顏色值或灰度值,當檢測出兩次滿足預設突變條件時,將第二次滿足預設突變條件的像素點組成的輪廓作為待測終端的屏幕邊界。而當只檢測出一次滿足預設突變條件時,將該次滿足預設突變條件的像素點組成的輪廓作為待測終端的屏幕邊界。在本發(fā)明實施例中,可以通過上述方式在獲取待測應用對應的界面圖像時來確定待測終端的屏幕邊界,也可以在獲取待測應用對應的界面圖像之前,甚至在步驟101通過攝像模塊對啟動了待測應 用并執(zhí)行了預設操作的待測終端進行拍攝之前,先確定待測終端的屏幕邊界。具體地,通過攝像模塊拍攝多幅待測終端的圖像,根據(jù)多幅待測終端的圖像中每個像素點的灰度值或顏色值,確定待測終端的屏幕邊界。根據(jù)多幅待測終端的圖像中每個像素點的灰度值或顏色值來確定的具體操作,也是根據(jù)預設突變條件來進行檢測,在此不再贅述。另外通過多副待測終端的圖像來確定屏幕邊界可以提高確定的屏幕邊界的準確性。確定的屏幕邊界可以為屏幕的四條邊的位置、屏幕的對角線的位置或屏幕的四個頂點的位置等。相應地,通過上述方式事先確定出待測終端的屏幕邊界后,可以根據(jù)確定的屏幕邊界,直接從拍攝得到的圖像中截取出待測終端的屏幕圖像作為待測應用對應的界面圖像。如此在后續(xù)多次采集該待測終端上的不同待測應用的性能數(shù)據(jù)時,不必在每次獲取待測應用的界面圖像時都重復確定屏幕邊界,提高了采集性能數(shù)據(jù)的效率。如圖1C所示的拍攝的手機的圖像,通過上述方式從該拍攝的手機的圖像中獲取的瀏覽器的界面圖像如圖1D所示。在本發(fā)明實施例中,對于不同的性能指標,獲取的待測應用的界面圖像包括的圖像內(nèi)容不同。例如,對于啟動速度,獲取的界面圖像中包括待測應用從開始啟動至完成啟動過程中的界面圖;對于網(wǎng)速,則獲取的界面圖像中包括從開始訪問一網(wǎng)頁至完全顯示該網(wǎng)頁過程中的頁面圖;對于下載速度,獲取的界面圖像中包括從開始下載文件至完成下載過程中的下載進度條的圖像。獲取到待測應用的界面圖像之后,通過如下步驟103的操作來生成待測應用的性能數(shù)據(jù)。步驟103:根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)。由于啟動速度、網(wǎng)速和下載速度等性能指標都與時間相關,如啟動速度可以為待測應用從開始啟動至完成啟動所用的時間,下載速度與從開始下載文件至下載完成所用的時間及該文件的大小相關,網(wǎng)速與待測應用從開始訪問一個網(wǎng)頁至完全顯示該網(wǎng)頁所用的時間及該網(wǎng)頁的大小相關。所以在本發(fā)明實施例中,生成待測應用的性能數(shù)據(jù)可以為將待測應用的界面圖像及拍攝時間組成待測應用的性能數(shù)據(jù)。生成待測應用的性能數(shù)據(jù)之后,還將該待測應用的標識及該性能數(shù)據(jù)對應存儲在內(nèi)存中,以便于后續(xù)根據(jù)性能數(shù)據(jù)分析待測應用的性能指標。在本發(fā)明實施例中,可以直接將待測應用的界面圖像及拍攝時間組成待測應用的性能數(shù)據(jù)。還可以對該界面圖像進行重命名處理,將該界面圖像的名稱重命名為該拍攝時間,然后將重命名之后的界面圖像作為該待測應用的性能數(shù)據(jù)。另外,還可以記錄待測終端中的待測應用開始執(zhí)行預設操作的時間作為啟動時間,然后在生成性能數(shù)據(jù)時,計算拍攝時間與該啟動時間的時間差,將該時間差和界面圖像組成待測應用的性能數(shù)據(jù),或者將該界面圖像重命名為該時間差,再將重命名后的界面圖像作為待測應用的性能數(shù)據(jù)。但是由于采集設備的攝像模塊采集圖像的頻率很高,若攝像模塊采用現(xiàn)有的普通攝像頭,則一般每30毫秒就可以采集一幅圖像,若攝像模塊采用比普通攝像頭更精密的攝像頭,則采集圖像的頻率更高,因此采集的界面圖像中很可能存在相同的圖像,為了節(jié)省存儲性能數(shù)據(jù)所需的內(nèi)存空間,減少設備硬盤的讀寫次數(shù),以及提高根據(jù)性能數(shù)據(jù)分析性能指標的效率,本發(fā)明實施例中,在根據(jù)采集 的待測應用的界面圖像生成性能數(shù)據(jù)之前,還可以先對采集的界面圖像進行去重處理。具體包括:從內(nèi)存中獲取已采集的性能數(shù)據(jù)中的圖像,通過相似度對比算法分別計算待測應用的界面圖像與獲取的每個圖像之間的相似度;判斷每個圖像中是否存在相似度高于預設閾值的圖像,如果是,則丟棄待測應用的界面圖像;如果每個圖像中不存在相似度高于預設閾值的圖像,則執(zhí)行根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)的操作。在本發(fā)明實施例中,通過opencv2的相似度對比算法來獲取待測應用的界面圖像與內(nèi)存中已采集的每個圖像之間的相似度。如果該界面圖像與內(nèi)存中已采集的一幅圖像之間的相似度大于預設閾值,則表明該界面圖像與內(nèi)存中的該幅圖像為近似圖像,則丟棄該界面圖像,以避免內(nèi)存中出現(xiàn)重復的圖像。如果該界面圖像與內(nèi)存中的任一圖像之間的相似度均小于或等于預設閾值,則表明內(nèi)存中沒有與該界面圖像相似的圖像,根據(jù)該界面圖像及記錄的拍攝時間生成待測應用的性能數(shù)據(jù),然后將該待測應用的標識及該性能數(shù)據(jù)存儲在內(nèi)存中。如圖1E所示,以待測終端為手機及待測應用為瀏覽器為例,采集手機上的瀏覽器的網(wǎng)速。采集的性能數(shù)據(jù)包括T1、preT2和T2,T1為名稱是2831.jpg的界面圖像,preT2為名稱是3055.jpg的界面圖像,T2為名稱是3087.jpg的圖像。其中,2831、3055和3087分別為T1、preT2和T2與啟動時間之間的時間差,且時間單位為毫秒,T1所示為瀏覽器剛顯示出用戶可識別的內(nèi)容,preT2則為瀏覽器的當前屏中充滿內(nèi)容之前的狀態(tài),T2為瀏覽器的當前屏中充滿內(nèi)容的狀態(tài)。如圖1E所示T2與preT2之間僅相隔32毫秒,從T2中 可以獲知顯示的圖像的大小,根據(jù)圖像的大小及顯示這些圖像所用的時間32毫秒,即可計算出瀏覽器的網(wǎng)速。通過上述步驟101-103的操作,在待測終端上的待測應用執(zhí)行預設操作的過程中采集待測應用的界面圖像,在此過程中還通過與待測終端之間的通信連接實時監(jiān)測待測應用執(zhí)行預設操作的過程,當監(jiān)測到待測應用停止執(zhí)行預設操作時,控制攝像模塊停止對待測終端進行拍攝。至此完成了對待測應用執(zhí)行該預設操作過程中的性能數(shù)據(jù)的采集。完成性能數(shù)據(jù)的采集之后,還從內(nèi)存中獲取待測應用對應的性能數(shù)據(jù),根據(jù)獲取的性能數(shù)據(jù)包括的界面圖像和拍攝時間,確定待測應用中預設操作對應的性能指標。由于本發(fā)明實施例通過獨立于待測終端以外的采集設備來采集性能數(shù)據(jù),不占用待測終端的系統(tǒng)資源,所以本發(fā)明實施例的應用場景非常廣泛。本發(fā)明實施例還可以采集待測終端的開機性能數(shù)據(jù),通過攝像模塊拍攝待測終端從執(zhí)行開機操作至顯示待測終端主界面過程中的界面圖像。還可以采集待測終端中一應用調(diào)用另一應用的調(diào)用性能數(shù)據(jù),通過攝像模塊采集從觸發(fā)一應用調(diào)用另一應用的操作至顯示另一應用的界面的圖像,如采集瀏覽器調(diào)用社交應用的性能數(shù)據(jù)。本發(fā)明實施例的應用廣泛,并不限制于本發(fā)明實施例已介紹的場景,對于其它未介紹的場景在此不一一詳述。在本發(fā)明實施例中,通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間;根據(jù)拍攝得到的圖像,獲取待測應用對應的界面圖像;根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)。本發(fā)明的執(zhí)行主體為獨立于待測終端之外的采集設備,通過獨立的采集設備中的攝像模塊來拍攝 待測終端的圖像,進而得到待測應用的界面圖像,避免了通過待測終端中的應用自帶的截屏軟件來采集性能數(shù)據(jù),在采集性能數(shù)據(jù)時不占用待測終端的系統(tǒng)資源,因此截屏速度快、誤差小而效率高,且不會受待測終端的系統(tǒng)版本和硬件性能的影響。實施例2參見圖2,本發(fā)明實施例提供了一種采集應用性能數(shù)據(jù)的裝置,該裝置用于執(zhí)行上述實施例1提供的采集應用性能數(shù)據(jù)的方法。該裝置具體包括:攝像模塊201、控制模塊202和性能分析模塊203;控制模塊202,用于控制攝像模塊201對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間;性能分析模塊203,用于根據(jù)攝像模塊201拍攝得到的圖像,獲取待測應用對應的界面圖像,根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)。拍攝得到的圖像可以劃分為背景部分和待測終端的圖像部分,而待測終端的圖像部分又可分為屏幕圖像部分和待測終端的邊框部分。其中,在確定待測應用的性能指標時,背景部分和待測終端的邊框部分的參考價值不大,可以忽略,而屏幕圖像部分的參考價值很大,因此為了縮減性能數(shù)據(jù)的數(shù)據(jù)量,以及提高性能數(shù)據(jù)的準確性,本發(fā)明實施例中在采集應用性能數(shù)據(jù)時主要采集屏幕圖像部分。由于在待測應用執(zhí)行預設操作時,待測終端的屏幕上顯示的界面即為待測應用對應的界面,所以在本發(fā)明實施例中獲取待測應用對的界面圖像,即為從拍攝得到的圖像中獲取待測終端的屏幕圖像。上述性能分析模塊203通過確定單元和截取單元來獲取待測應用對應的界面圖像。確定單元,用于根據(jù)攝像模塊201拍攝得到的圖像中每個像素點的灰度值或顏色值,從圖像中確定出待測終端的屏幕邊界;截取單元,用于根據(jù)確定單元確定的屏幕邊界,從圖像中截取出待測終端的屏幕圖像作為待測應用對應的界面圖像。因為拍攝的圖像中包括背景部分、待測終端的邊框部分和屏幕圖像部分,通常背景部分的顏色與待測終端的邊框顏色不同,而待測終端的邊框顏色與屏幕的顏色也不相同。所以確定單元在確定待測終端的屏幕邊界時,可以根據(jù)拍攝的圖像中的像素點的灰度值或顏色值來確定。確定單元具體通過檢測子單元和確定子單元來確定屏幕邊界。檢測子單元,用于從攝像模塊201拍攝得到的圖像的四周邊緣開始檢測每個像素點的灰度值或顏色值;確定子單元,用于當檢測子單元檢測到灰度值或顏色值首次滿足預設突變條件時,將首次滿足預設突變條件的像素點組成的輪廓確定為待測終端的邊界;檢測子單元,還用于從待測終端的邊界開始檢測像素點的灰度值或顏色值;確定子單元,還用于當檢測子單元檢測到灰度值或顏色值再次滿足預設突變條件時,將再次滿足預設突變條件的像素點組成的輪廓確定為待測終端的屏幕邊界。在本發(fā)明實施例中,性能分析模塊203在獲取待測應用對應的界面圖像時來確定待測終端的屏幕邊界,也可以在性能分析模塊203獲取待測應用對應的界面圖像之前,甚至在控制模塊202控制攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝之前,先確定待測終端的屏幕邊界??刂颇K202,還用于控制攝像模塊201拍攝多幅待測終端的圖像;相應地,性能分析模塊203,還用于根據(jù)攝像模塊201拍攝的多幅待測終端的圖像中每個像素點的灰度值或顏色值,確定待測終端的屏幕邊界;根據(jù)確定的屏幕邊界,從拍攝得到的圖像中截取出待測終端的屏幕圖像作為待測應用對應的界面圖像。由于攝像模塊201采集圖像的頻率很高,若攝像模塊201采用現(xiàn)有的普通攝像頭,則一般每30毫秒就可以采集一幅圖像,若攝像模塊201采用比普通攝像頭更精密的攝像頭,則采集圖像的頻率更高,因此采集的界面圖像中很可能存在相同的圖像,為了節(jié)省存儲性能數(shù)據(jù)所需的內(nèi)存空間,減少設備硬盤的讀寫次數(shù),以及提高根據(jù)性能數(shù)據(jù)分析性能指標的效率,在性能分析模塊203根據(jù)采集的待測應用的界面圖像生成性能數(shù)據(jù)之前,還可以先對采集的界面圖像進行去重處理。性能分析模塊203通過如下相似度計算單元、判斷單元、丟棄單元和生成單元來進行去重處理。相似度計算單元,用于從內(nèi)存中獲取已采集的性能數(shù)據(jù)中的圖像,通過相似度對比算法分別計算待測應用的界面圖像與獲取的每個圖像之間的相似度;判斷單元,用于判斷每個圖像中是否存在相似度高于預設閾值的圖像;丟棄單元,用于當判斷單元判斷出每個圖像中存在相似度高于預設閾值的圖像時,丟棄待測應用的界面圖像;生成單元,用于當判斷單元判斷出每個圖像中不存在相似度高于預設閾值的圖像時,執(zhí)行根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)的操作。當判斷單元判斷出每個圖像中不存在相似度高于預設閾值的圖像,且生成單元生成性能數(shù)據(jù)之后,還通過存儲模塊來存儲生成的性能數(shù)據(jù)。存儲模塊,用于將性能數(shù)據(jù)存儲在內(nèi)存中。在采集待測應用的界面圖像的過程中,控制模塊202,還用于實時監(jiān)測待測應用執(zhí)行預設操作的過程,當監(jiān)測到待測應用停止執(zhí)行預設操作時,控制攝像模塊201停止對待測終端進行拍攝。至此完成了對待測應用執(zhí)行該預設操作過程中的性能數(shù)據(jù)的采集。完成性能數(shù)據(jù)的采集之后,還通過性能指標確定模塊來確定待測應用的性能指標。性能指標確定模塊,用于從內(nèi)存中獲取待測應用對應的性能數(shù)據(jù),根據(jù)獲取的性能數(shù)據(jù)包括的界面圖像和拍攝時間,確定待測應用中預設操作對應的性能指標。在本發(fā)明實施例中,控制模塊202在控制攝像模塊201進行拍攝之前,控制模塊202,還用于通過開源計算機視覺庫opencv驅動攝像模塊201,創(chuàng)建攝像任務線程。在采集待測應用的不同性能指標對應的性能數(shù)據(jù)之前,待測應用需要先執(zhí)行待測指標對應的操作。在本發(fā)明實施例中,設置啟動操作、訪問網(wǎng)頁的操作及下載操作等為預設操作??刂颇K202在控制攝像模塊201來采集待測終端中的待測應用的性能數(shù)據(jù)之前,用戶可以通過手動觸發(fā)待測應用執(zhí)行預設操作,如用戶點擊待測終端中瀏覽器的圖標,觸發(fā)瀏覽器執(zhí)行啟動操作。上述通過用戶來觸發(fā)待測應用執(zhí)行預設操作的方式,由于需要人工干預,采集應用性能數(shù)據(jù)的自動化程度較低,所以本發(fā)明實施例中控制模塊202還可以控制待測終端啟動待測應用執(zhí)行預設操作,以提高采集應用性能數(shù)據(jù)的自動化程度??刂颇K202,還用于建立與待測終端之間的通信連接,通過通信連接發(fā)送控制指令給待測終端,控制待測終端中的待測應用執(zhí)行預設操作。通過控制模塊202來控制啟動待測終端執(zhí)行預設操作,避免了采集性能數(shù)據(jù)過程中的人工干預,可以通過擴展攝像模塊201的數(shù)量來同時采集多個待測終端中的待測應用的性能數(shù)據(jù),實現(xiàn)性能數(shù)據(jù)的批量采集。而且應用的性能指標也會受安裝該應用的終端的性能的影響,為了提高確定應用性能指標的準確性,需要檢測同一應用在不同終端上的性能,通過上述擴展了多個攝像模塊201的采集設備,可以實現(xiàn)同時采集同一待測應用在多個不同待測終端上的性能數(shù)據(jù),從而提高確定該待測應用的性能指標的效率和準確性。在本發(fā)明實施例中,通過攝像模塊對啟動了待測應用并執(zhí)行了預設操作的待測終端進行拍攝,記錄拍攝時間;根據(jù)拍攝得到的圖像,獲取待測應用對應的界面圖像;根據(jù)待測應用的界面圖像及拍攝時間生成待測應用的性能數(shù)據(jù)。本發(fā)明的執(zhí)行主體為獨立于待測終端之外的采集設備,通過獨立的采集設備中的攝像模塊來拍攝待測終端的圖像,進而得到待測應用的界面圖像,避免了通過待測終端中的應用自帶的截屏軟件來采集性能數(shù)據(jù),在采集性能數(shù)據(jù)時不占用待測終端的系統(tǒng)資源,因此截屏速度快、誤差小而效率高,且不會受待測終端的系統(tǒng)版本和硬件性能的影響。本發(fā)明實施例所提供的采集應用性能數(shù)據(jù)的裝置可以為設備上的特定硬件或者安裝于設備上的軟件或固件等。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,前述描述的模塊、裝置和單元的具體工作過程,均可以參考上述方法實施例中的對應過程。在本申請所提供的幾個實施例中,應該理解到,所揭露裝置和方法,可以通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,又例如,多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、 隨機存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本
技術領域:
:的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。當前第1頁1 2 3 當前第1頁1 2 3