本發(fā)明涉及軟件技術(shù)領(lǐng)域,特別是涉及一種界面加載時(shí)間計(jì)算方法方法和一種界面加載時(shí)間計(jì)算裝置及一種界面加載時(shí)間計(jì)算系統(tǒng)。
背景技術(shù):
隨著智能手機(jī)等移動(dòng)終端的發(fā)展,越來(lái)越多的用戶開(kāi)始通過(guò)手機(jī)等設(shè)備瀏覽網(wǎng)頁(yè),以獲取用戶所需的信息。
用戶使用手機(jī)訪問(wèn)網(wǎng)站是基于手機(jī)瀏覽器所獲取的網(wǎng)頁(yè)實(shí)現(xiàn)的。通常情況下,用戶訪問(wèn)網(wǎng)站的頁(yè)面全部加載完畢時(shí),總頁(yè)面高度可能有一屏到多屏不等,總的頁(yè)面加載時(shí)間要比首屏加載時(shí)間長(zhǎng)很多,但是首屏加載時(shí)間是用戶對(duì)一個(gè)瀏覽器加載性能的重要體驗(yàn)因素,首屏加載時(shí)間是指手機(jī)等設(shè)備的瀏覽器全屏區(qū)域充滿網(wǎng)站頁(yè)面所需的時(shí)間。當(dāng)網(wǎng)站頁(yè)面充滿首屏區(qū)域后,用戶就可以看到網(wǎng)頁(yè)內(nèi)容并進(jìn)行相應(yīng)的點(diǎn)擊、屏幕滾動(dòng)等操作,而不必等到網(wǎng)站的所有網(wǎng)頁(yè)都加載完成。因而,從用戶發(fā)起訪問(wèn)開(kāi)始,到首屏內(nèi)容加載完成這段時(shí)間,對(duì)用戶的使用體驗(yàn)至關(guān)重要。
而對(duì)于手機(jī)瀏覽器網(wǎng)頁(yè)首屏加載時(shí)間的測(cè)量也是至關(guān)重要的,在先技術(shù)中,通常采用高速攝像機(jī)對(duì)整個(gè)網(wǎng)頁(yè)請(qǐng)求過(guò)程進(jìn)行拍照,并記錄每張照片的拍攝時(shí)間,然后人工的在拍攝的照片中對(duì)比查找預(yù)先拍攝好的起始和結(jié)束圖片,最后將這兩張照片的拍攝時(shí)間相減,以獲得網(wǎng)頁(yè)的首屏加載時(shí)間。但是高速攝像機(jī)受外界因素(如距離、光度等)的影響,使得拍攝得到的照片具有一定的時(shí)間間隔,進(jìn)而導(dǎo)致測(cè)試的結(jié)果不準(zhǔn)確,并且,采用人工對(duì)比查找預(yù)先拍攝好的起始和結(jié)束圖片,導(dǎo)致測(cè)試過(guò)程耗費(fèi)的時(shí)間比較長(zhǎng),整個(gè)測(cè)試步驟繁瑣。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的界面加載時(shí)間計(jì)算方法和相應(yīng)的界面加載時(shí)間計(jì)算裝 置。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種界面加載時(shí)間計(jì)算方法,包括:將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;如果匹配,則記錄同步的第二時(shí)間點(diǎn);
由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
優(yōu)選地,在所述由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配的步驟之前,還包括:
由測(cè)試終端獲取待測(cè)試的界面的所述第一圖像中的至少一個(gè)位置的子圖像。
優(yōu)選地,所述由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配的步驟,包括:
由測(cè)試終端從所述同步的屏幕圖像中獲取與各預(yù)定位置的子圖像;所述預(yù)定位置與所述界面的加載完畢之后的屏幕圖像中的至少一個(gè)位置相同;
判斷各預(yù)定位置的子圖像與第一圖像的相同位置子圖像是否完全匹配。
優(yōu)選地,所述將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接的步驟,包括:
通過(guò)測(cè)試終端本地的瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái),以建立第一同步連接;所述測(cè)試服務(wù)器中STF遠(yuǎn)程控制平臺(tái)與所述待測(cè)試終端建立第二同步連接。
優(yōu)選地,在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還包括:
由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
優(yōu)選地,所述性能指標(biāo)包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量其中至少一項(xiàng)。
優(yōu)選地,在由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像的步驟之前,還包括:
由測(cè)試終端通過(guò)測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包;所述界面屬于所述測(cè)試安裝包安裝后的應(yīng)用的界面。
優(yōu)選地,在所述由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間的步驟之后,還包括:
判斷是否對(duì)所述測(cè)試安裝包的應(yīng)用的界面測(cè)試完成;
判斷是否還存在未測(cè)試的測(cè)試安裝包;
如果存在,則繼續(xù)安裝一未測(cè)試的測(cè)試安裝包至待測(cè)試終端,進(jìn)入通過(guò)所述同步連接,同步待測(cè)試終端的屏幕圖像的步驟。
優(yōu)選地,在所述由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間的步驟之后,還包括:
將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄。
優(yōu)選地,所述針對(duì)一界面的加載操作包括:針對(duì)一網(wǎng)頁(yè)的生成網(wǎng)頁(yè)請(qǐng)求的加載操作;
進(jìn)一步的,所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作包括:
所述待測(cè)試終端同步獲取所述加載操作,并根據(jù)所述加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。
優(yōu)選地,所述界面的界面標(biāo)識(shí)包括:網(wǎng)頁(yè)的網(wǎng)址信息。
優(yōu)選地,在所述將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄的步驟之后,還包括:
將所述界面標(biāo)識(shí)的加載時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
當(dāng)所述加載時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間符合要求;
當(dāng)所述加載時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間不符合要求,并生成報(bào)警信息。
依據(jù)本發(fā)明的另一方面,提供了一種界面加載時(shí)間計(jì)算系統(tǒng),包括:
測(cè)試終端、測(cè)試服務(wù)器、待測(cè)試終端
所述測(cè)試終端包括:
第一同步連接建立模塊,適于與測(cè)試服務(wù)器建立第一同步連接;
屏幕圖像同步模塊,適于通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
第一時(shí)間點(diǎn)記錄模塊,適于在所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);
圖像匹配計(jì)算模塊,適于在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
第二時(shí)間點(diǎn)記錄模塊,適于在同步的屏幕圖像與預(yù)置的第一圖像匹配時(shí),記錄同步的第二時(shí)間點(diǎn);
加載時(shí)間計(jì)算模塊,適于根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間;
所述測(cè)試服務(wù)器包括:
第二同步連接建立模塊,適于基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
所述待測(cè)試終端包括:
處理模塊,適于由所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接 同步處理所述加載操作。
優(yōu)選地,在所述圖像匹配計(jì)算模塊之前,還包括:
子圖像獲取模塊,適于由測(cè)試終端獲取待測(cè)試的界面的所述第一圖像中的至少一個(gè)位置的子圖像。
優(yōu)選地,所述圖像匹配計(jì)算模塊包括:
預(yù)定位置的子圖像獲取子模塊,適于由測(cè)試終端從所述同步的屏幕圖像中獲取與各預(yù)定位置的子圖像;所述預(yù)定位置與所述界面的加載完畢之后的屏幕圖像中的至少一個(gè)位置相同;
相同位置子圖像匹配判斷模塊,適于判斷各預(yù)定位置的子圖像與第一圖像的相同位置子圖像是否完全匹配。
優(yōu)選地,所述第一同步連接建立模塊包括:
第一同步連接建立子模塊,適于通過(guò)測(cè)試終端本地的瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái),以建立第一同步連接;所述測(cè)試服務(wù)器中STF遠(yuǎn)程控制平臺(tái)與所述待測(cè)試終端建立第二同步連接。
優(yōu)選地,在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還包括:
性能指標(biāo)獲取子模塊,適于由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
優(yōu)選地,所述性能指標(biāo)包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量其中至少一項(xiàng)。
優(yōu)選地,在所述屏幕圖像同步模塊之前,還包括:
測(cè)試安裝包安裝模塊,適于由測(cè)試終端通過(guò)測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包;所述界面屬于所述測(cè)試安裝包安裝后的應(yīng)用的界面。
優(yōu)選地,在所述加載時(shí)間計(jì)算模塊之后,還包括:
測(cè)試完成判斷模塊,適于判斷是否對(duì)所述測(cè)試安裝包的應(yīng)用的界面測(cè)試完成;
測(cè)試安裝包判斷模塊,適于判斷是否還存在未測(cè)試的測(cè)試安裝包;
未測(cè)試安裝包安裝模塊,適于在存在未測(cè)試的測(cè)試安裝包時(shí),繼續(xù)安裝一未測(cè)試的測(cè)試安裝包至待測(cè)試終端,進(jìn)入通過(guò)所述同步連接,同步待測(cè)試終端的屏幕圖像的步驟。
優(yōu)選地,在所述加載時(shí)間計(jì)算模塊之后,還包括:
界面標(biāo)識(shí)記錄模塊,適于將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄。
優(yōu)選地,所述針對(duì)一界面的加載操作包括:針對(duì)一網(wǎng)頁(yè)的生成網(wǎng)頁(yè)請(qǐng)求的加載操作;
進(jìn)一步的,所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作包括:
所述待測(cè)試終端同步獲取所述加載操作,并根據(jù)所述加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。
優(yōu)選地,所述界面的界面標(biāo)識(shí)包括:網(wǎng)頁(yè)的網(wǎng)址信息。
優(yōu)選地,在所述界面標(biāo)識(shí)記錄模塊之后,還包括:
比較模塊,適于將所述界面標(biāo)識(shí)的加載時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
加載時(shí)間符合要求確定模塊,適于當(dāng)所述加載時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間符合要求;
報(bào)警信息生成模塊,適于當(dāng)所述加載時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間不符合要求,并生成報(bào)警信息。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種界面加載時(shí)間計(jì)算設(shè)備,包括:
存儲(chǔ)器,加載有多條可執(zhí)行指令;
處理器,執(zhí)行所述多條可執(zhí)行指令;所述多條指令包括執(zhí)行以下步驟的方法:
將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
如果匹配,則記錄同步的第二時(shí)間點(diǎn);
由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
根據(jù)本發(fā)明實(shí)施例的界面加載時(shí)間計(jì)算方案,通過(guò)將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接,測(cè)試服務(wù)器基于該第一同步連接于待測(cè)試終端建立第二同步連接,以同步待測(cè)試終端的屏幕圖像,在屏幕圖像中觸發(fā)針對(duì)一界面的加載操作時(shí),記錄觸發(fā)該加載操作的第一時(shí)間點(diǎn),并由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配,該第一圖像為界面加載完畢時(shí)的屏幕圖像,在匹配時(shí),則記錄同步的第二時(shí)間點(diǎn),然后根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算該界面的加載時(shí)間。相對(duì)在先技術(shù)中,本發(fā)明實(shí)施例的測(cè)試方案不受外界因素的影響,并且無(wú)需人工對(duì)比查找預(yù)先拍攝好的起始和結(jié)束圖片,可以使得獲取的首屏加載時(shí)間比較準(zhǔn)確,且節(jié)省了測(cè)試過(guò)程的時(shí)間,由此解決了在先技術(shù)中測(cè)試結(jié)果不準(zhǔn)確,測(cè)試過(guò)程耗時(shí)較長(zhǎng)、測(cè)試步驟繁瑣的問(wèn)題,取得了獲取準(zhǔn)確的測(cè)試結(jié)果,減少了測(cè)試使用時(shí)間,避免了用戶的繁瑣操作的有益效果。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于 本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的界面加載時(shí)間計(jì)算方法的步驟流程圖;
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的界面加載時(shí)間計(jì)算方法的步驟流程圖;
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的界面加載時(shí)間計(jì)算系統(tǒng)的結(jié)構(gòu)框圖;
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的界面加載時(shí)間計(jì)算系統(tǒng)的結(jié)構(gòu)框圖;及
圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的界面加載時(shí)間計(jì)算設(shè)備的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面加載時(shí)間計(jì)算方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟S100:將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接。
本發(fā)明實(shí)施例中,待測(cè)試終端可以為手機(jī)、pad等終端,在需要對(duì)待測(cè)試終端的首屏加載時(shí)間進(jìn)行測(cè)試時(shí),可以先建立與測(cè)試服務(wù)器的第一同步連接,該測(cè)試服務(wù)器可以基于第一同步連接與待測(cè)試終端建立第二同步連 接,測(cè)試終端可以通過(guò)第一同步連接和第二同步連接同步待測(cè)試終端的屏幕圖像。
在本發(fā)明實(shí)施例中,測(cè)試終端可以包括個(gè)人電腦、筆記本電腦等終端。
在實(shí)際應(yīng)用中,待測(cè)試終端和測(cè)試服務(wù)器可以通過(guò)數(shù)據(jù)線連接,然后待測(cè)試終端可以通過(guò)該數(shù)據(jù)線建立第二同步連接。當(dāng)然,前述通過(guò)網(wǎng)線連接,可以通過(guò)數(shù)據(jù)線連接測(cè)試終端和測(cè)試服務(wù)器、可以通過(guò)待測(cè)試終端和測(cè)試服務(wù)器的USB(Universal Serial Bus,通用串行總線)接口。前述通過(guò)網(wǎng)線連接還可以采用其他方式進(jìn)行連接,本發(fā)明對(duì)此不加以限制。相應(yīng)的,測(cè)試終端和測(cè)試服務(wù)器也可以通過(guò)網(wǎng)線連接,然后測(cè)試終端可以通過(guò)該網(wǎng)線建立第一同步連接。當(dāng)然,前述通過(guò)網(wǎng)線連接,可以通過(guò)網(wǎng)線連接測(cè)試終端和測(cè)試服務(wù)器、待測(cè)試終端和測(cè)試服務(wù)器的串行接口(Serial Interface)。前述通過(guò)網(wǎng)線連接還可以采用其他方式進(jìn)行連接,本發(fā)明對(duì)此不加以限制,比如測(cè)試終端通過(guò)wifi(WIrelessFIdelity無(wú)線保真)連接到測(cè)試服務(wù)器,以同測(cè)試服務(wù)器建立第一同步連接。
步驟S110:由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像。
在測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接,且測(cè)試服務(wù)器與待測(cè)試終端建立第二同步連接之后,測(cè)試服務(wù)器可以通過(guò)第二同步連接同步獲取到待測(cè)試終端的屏幕圖像,進(jìn)而測(cè)試終端可以通過(guò)第一同步連接,同步測(cè)試服務(wù)器中同步獲取的待測(cè)試終端的屏幕圖像,也即,測(cè)試終端可以同步待測(cè)試終端的屏幕圖像。
在待測(cè)試終端的屏幕圖像發(fā)生變化時(shí),測(cè)試終端顯示的屏幕圖像也隨著待測(cè)試終端的屏幕圖像變化同步發(fā)生改變。
在本發(fā)明實(shí)施例中,測(cè)試服務(wù)器以第二同步連接規(guī)定的數(shù)據(jù)格式同步獲取了待測(cè)試終端的屏幕圖像后,可以按照第一同步連接規(guī)定的數(shù)據(jù)格式將從待測(cè)試終端同步的屏幕圖像,封裝為第一同步連接對(duì)應(yīng)的數(shù)據(jù)格式的屏幕圖像,然后同步至測(cè)試終端。
在測(cè)試終端通過(guò)第一同步連接和第二同步連接,同步待測(cè)試終端的屏幕圖像之后,進(jìn)入步驟S120。
步驟S120:在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作。
本發(fā)明實(shí)施例中,測(cè)試終端在同步待測(cè)試終端的屏幕圖像之后,可以在測(cè)試終端的屏幕圖像中觸發(fā)針對(duì)一個(gè)界面的加載操作,例如,點(diǎn)擊屏幕圖像上的“NBA”按鈕,以顯示對(duì)應(yīng)于NBA的相關(guān)頁(yè)面。觸發(fā)該加載操作時(shí)對(duì)應(yīng)的時(shí)間點(diǎn)即為第一時(shí)間點(diǎn),并將該時(shí)間點(diǎn)進(jìn)行記錄。該第一時(shí)間點(diǎn)為測(cè)試終端的系統(tǒng)時(shí)間。
由于待測(cè)試終端是與測(cè)試終端同步進(jìn)行的,因而當(dāng)測(cè)試終端中觸發(fā)所顯示的屏幕圖像中的針對(duì)一界面的加載操作,那么待測(cè)試終端可以同步該加載操作,然后待測(cè)試終端可以跳轉(zhuǎn)到該加載操作對(duì)應(yīng)的頁(yè)面中。
而由于待測(cè)試終端與測(cè)試終端建立了同步連接,那么待測(cè)試終端的當(dāng)前屏幕圖像則同步到測(cè)試終端,因而待測(cè)試終端加載界面的過(guò)程的所有屏幕圖像也同步至測(cè)試終端。
在實(shí)際應(yīng)用中,由于待測(cè)試終端同步了測(cè)試終端的屏幕圖像,那么在測(cè)試終端中點(diǎn)擊了某個(gè)按鈕,則該點(diǎn)擊操作會(huì)通過(guò)第一同步連接同步到測(cè)試服務(wù)器,然后測(cè)試服務(wù)器通過(guò)第二同步連接將該點(diǎn)擊操作同步到待測(cè)試終端,從而實(shí)現(xiàn)了在測(cè)試終端中觸發(fā)針對(duì)一界面的加載操作的過(guò)程。比如測(cè)試終端當(dāng)前同步的待測(cè)試終端的屏幕圖像是系統(tǒng)主界面,當(dāng)在測(cè)試終端中點(diǎn)擊了一個(gè)APP(application),則該點(diǎn)擊操作同步到待測(cè)試終端,待測(cè)試終端則接收到啟動(dòng)該APP的請(qǐng)求,那么待測(cè)試終端啟動(dòng)該APP。繼而待測(cè)試終端的該APP的啟動(dòng)過(guò)程的屏幕圖像會(huì)同步到測(cè)試終端中。當(dāng)然,對(duì)該APP的其他操作類似,比如在APP啟動(dòng)后。在測(cè)試終端中點(diǎn)擊APP中的某個(gè)控件,則待測(cè)試終端同步該點(diǎn)擊操作,從而加載該控件對(duì)應(yīng)的頁(yè)面,該頁(yè)面的加載過(guò)程則會(huì)同步到測(cè)試終端。
當(dāng)然,在本發(fā)明實(shí)施例中可以預(yù)先配置測(cè)試哪個(gè)界面的加載過(guò)程,然 后測(cè)試終端根據(jù)該配置自動(dòng)執(zhí)行。
優(yōu)選地,所述針對(duì)一界面的加載操作可以包括:針對(duì)一網(wǎng)頁(yè)的生成網(wǎng)頁(yè)請(qǐng)求的加載操作;
進(jìn)一步的,所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作包括:
子步驟A11:所述待測(cè)試終端同步獲取所述加載操作,并根據(jù)所述加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。
本發(fā)明實(shí)施例中,當(dāng)針對(duì)一界面的加載操作為針對(duì)一個(gè)網(wǎng)頁(yè)的加載操作時(shí),相應(yīng)的,測(cè)試終端觸發(fā)該網(wǎng)頁(yè)的加載操作時(shí),該加載操作通過(guò)第一同步連接同步到測(cè)試服務(wù)器,然后測(cè)試服務(wù)器通過(guò)第二同步連接將該加載操作同步到待測(cè)試終端,待測(cè)試終端在接收到該加載操作之后,并同步處理該加載操作,如待測(cè)試終端的APP(如瀏覽器APP)根據(jù)該加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求,然后待測(cè)試終端的該APP則進(jìn)入對(duì)網(wǎng)頁(yè)的加載過(guò)程。
在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例可以對(duì)手機(jī)瀏覽器或者平板瀏覽器加載一網(wǎng)頁(yè)的首屏的加載時(shí)間進(jìn)行測(cè)試。那么在測(cè)試終端中上述針對(duì)一網(wǎng)頁(yè)的加載操作包括:
1、在瀏覽器的地址欄中輸入所述網(wǎng)頁(yè)的URL(Uniform Resource Locator,統(tǒng)一資源定位符);
2、點(diǎn)擊確定按鈕。
那么該加載操作則同步到待測(cè)試終端的瀏覽器中,該瀏覽器則生成網(wǎng)頁(yè)請(qǐng)求,向web服務(wù)器請(qǐng)求網(wǎng)頁(yè)內(nèi)容進(jìn)行加載。待測(cè)試終端的上述頁(yè)面的加載過(guò)程中的屏幕數(shù)據(jù)則同步到測(cè)試終端。
步驟S130:在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;如果匹配,則執(zhí)行步驟S140。
本發(fā)明實(shí)施例中,第一圖像是指根據(jù)觸發(fā)的針對(duì)一界面加載操作后,待測(cè)試終端對(duì)界面的加載。
由于待測(cè)試終端的屏幕圖像可以通過(guò)前述第二同步連接和第一同步連接一直同步到測(cè)試終端中,那么待測(cè)試終端在對(duì)一界面的加載過(guò)程的屏幕圖像也會(huì)同步到測(cè)試終端中。那么對(duì)于測(cè)試終端來(lái)說(shuō),其可以對(duì)同步得到的屏幕圖像,然后截取該屏幕圖像,以與預(yù)置該界面加載完畢時(shí)的第一圖像進(jìn)行匹配,如果兩者圖像相同,則進(jìn)入步驟140;如果不匹配,則說(shuō)明待測(cè)試終端未將該界面加載完畢,則繼續(xù)進(jìn)行圖像匹配。
優(yōu)選地,在所述步驟S130之前,還可以包括:
步驟S128:由測(cè)試終端獲取待測(cè)試的界面的所述第一圖像中的至少一個(gè)位置的子圖像。
對(duì)于一個(gè)界面,可以預(yù)先獲取該界面加載完畢后的屏幕圖像,然后從該屏幕圖像中選擇一個(gè)或多個(gè)位置的子圖像作為標(biāo)志點(diǎn)。該子圖像比如加載完畢的界面中的某些按鈕、組件等。
為了屏幕圖像的匹配的精確度,可以選擇多個(gè)子圖像作為標(biāo)志點(diǎn)。
比如對(duì)于界面A,在其加載完畢的圖像中選擇位置A1的子圖像M1、位置A1的子圖像M2、位置M3的子圖像M3、位置A4的子圖像M4,以作為標(biāo)志點(diǎn)。
優(yōu)選地,所述步驟S130可以包括:
子步驟S1302:由測(cè)試終端從所述同步的屏幕圖像中獲取各預(yù)定位置的子圖像;所述預(yù)定位置與所述界面的加載完畢之后的屏幕圖像中的至少一個(gè)位置相同;
子步驟S1304:判斷各預(yù)定位置的子圖像與第一圖像的相同位置子圖像是否完全匹配。
本發(fā)明實(shí)施例中,針對(duì)一界面的加載操作,可以獲取到所測(cè)試的界面對(duì)應(yīng)的第一圖像中的一個(gè)或者多個(gè)位置的子圖像,進(jìn)而,從同步的屏幕圖像中獲取與各預(yù)定位置的子圖像位置相同的子圖像,其中,該預(yù)定位置與界面加載完畢之后的屏幕圖像中的至少一個(gè)位置是相同。
比如前述例子,可以對(duì)同步得到的屏幕圖像,在位置A1截取圖像B1,在位置A2截取圖像B2,在位置A3截取圖像B3、在位置A4截取圖像B4.
然后與預(yù)置的位置A1的子圖像M1、位置A1的子圖像M2、位置M3的子圖像M3、位置A4的子圖像M4。將相同位置的子圖像進(jìn)行匹配,即將B1與M1匹配,將B2與M2匹配,將B3與M3匹配,將B4與M4匹配。如果完全匹配上,則說(shuō)明標(biāo)志點(diǎn)完全匹配上,進(jìn)而說(shuō)明界面A加載完畢。如果存在至少一個(gè)未匹配上,則說(shuō)明書界面A還未加載完畢,繼續(xù)在位置A1、A2、A3、A4截取圖像進(jìn)行匹配。在本發(fā)明實(shí)施例中兩次截取的時(shí)間間隔可以精度要求設(shè)定,比如設(shè)定為2ms。
在本發(fā)明實(shí)施例中,對(duì)于子圖像優(yōu)選的可以選擇界面中各組件對(duì)應(yīng)的圖像,從而可以方便用sikuli編寫圖像識(shí)別程序。在本發(fā)明實(shí)施例中對(duì)于圖像的截取和匹配邏輯可以sikuli編寫圖像識(shí)別程序,并提供圖像識(shí)別接口,在觸發(fā)針對(duì)一界面的加載操作后,調(diào)用該圖像識(shí)別接口執(zhí)行步驟S130-S160。
一個(gè)sikuli圖像識(shí)別程序片段示例如下所示:
從而根據(jù)獲取到的各預(yù)定位置的子圖像于第一圖像中相同位置的子圖像進(jìn)行比較,以確定是否完全匹配,如果完全匹配,則執(zhí)行步驟S140。
優(yōu)選地,在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還包括:
子步驟B11,由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
本發(fā)明實(shí)施例中,STF遠(yuǎn)程控制平臺(tái)還可以利用Python語(yǔ)言編寫的獲 取程序,以獲取在首屏界面加載的過(guò)程中的待測(cè)試終端的各性能指標(biāo),其中,待測(cè)試終端的性能指標(biāo)可以包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量等其中的一項(xiàng)或者多項(xiàng)。
測(cè)試終端通過(guò)第一同步連接和第二同步連接獲取待測(cè)試終端的各性能指標(biāo),可以在對(duì)測(cè)試首屏加載時(shí)間的同時(shí),對(duì)待測(cè)試終端的各性能進(jìn)行測(cè)試。
在本發(fā)明實(shí)施例中,可以使用Python編寫首屏加載過(guò)程中獲取手機(jī)各項(xiàng)性能指標(biāo)的程序。并提供性能指標(biāo)獲取接口,在觸發(fā)針對(duì)一界面的加載操作后,調(diào)用該性能指標(biāo)獲取接口執(zhí)行B11。
一個(gè)Python性能監(jiān)測(cè)程序片段示例如下所示:
var=os.popen('adb shell top-n 1|findstr'+package).read()
通過(guò)該方法調(diào)用adb shell命令返回手機(jī)的性能指標(biāo)集合。
cpuRate=list[2].strip("%").strip()
memRate=list[6].strip("K").strip()
然后從集合中分別取第三列和第六列,它們對(duì)應(yīng)的值即為cpu使用率和內(nèi)存使用率。
步驟S140:記錄同步的第二時(shí)間點(diǎn)。
在步驟S130中,如果確定同步的屏幕圖像與預(yù)置的該界面的第一圖像相同,表明待測(cè)終端對(duì)該界面加載完畢,那么本發(fā)明實(shí)施例則可以獲取測(cè)試終端此時(shí)的第二時(shí)間點(diǎn)。該第二時(shí)間點(diǎn)可為測(cè)試終端的系統(tǒng)時(shí)間。
步驟S150:由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
本發(fā)明實(shí)施例中,在利用一個(gè)界面加載測(cè)試加載時(shí)間的情況下,測(cè)試終端可以根據(jù)記錄的第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),將第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),則可以計(jì)算出對(duì)應(yīng)的界面加載時(shí)間,例如,某界面在加載的過(guò)程中,對(duì)應(yīng)的第一時(shí)間點(diǎn)為09:00:02,第二時(shí)間點(diǎn)為09:00:06,則可以計(jì)算出界面的加載時(shí)間為4秒,該界面的加載時(shí)間也就是該界面的首屏加載時(shí)間。
優(yōu)選地,在所述步驟S150之后,還可以包括:
步驟S160:將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄。
本發(fā)明實(shí)施例中,當(dāng)界面的界面標(biāo)識(shí)針對(duì)的是網(wǎng)頁(yè)的網(wǎng)址信息時(shí),測(cè)試終端可以將針對(duì)該網(wǎng)頁(yè)的加載時(shí)間于該網(wǎng)頁(yè)的網(wǎng)址信息進(jìn)行記錄。便于技術(shù)人員對(duì)界面的加載時(shí)間進(jìn)行后續(xù)處理。
優(yōu)選地,在所述步驟S160之后,還可以包括:
步驟S170:將所述界面標(biāo)識(shí)的加載時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
步驟S180:當(dāng)所述加載時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間符合要求;
步驟S190:當(dāng)所述加載時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間不符合要求,并生成報(bào)警信息。
本發(fā)明實(shí)施例中,由于針對(duì)不同的界面其所對(duì)應(yīng)的加載時(shí)間可能是不相同的,因而,可以針對(duì)不同類型的界面設(shè)置該類型界面的加載時(shí)間的預(yù)定時(shí)間閾值。例如,針對(duì)網(wǎng)頁(yè)類的加載時(shí)間的預(yù)定時(shí)間閾值可以設(shè)置為1s等等。
在實(shí)際應(yīng)用中,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況設(shè)置針對(duì)各類型界面的預(yù)定的時(shí)間閾值,本發(fā)明對(duì)此不加以限制。
且測(cè)試終端針對(duì)各類型界面的加載時(shí)間都與該界面的界面標(biāo)識(shí)進(jìn)行了記錄,因而,可以依據(jù)界面的界面標(biāo)識(shí)獲取對(duì)應(yīng)該界面標(biāo)識(shí)的加載時(shí)間,并將該界面標(biāo)識(shí)的加載時(shí)間與該界面對(duì)應(yīng)的類型的預(yù)定的時(shí)間閾值進(jìn)行比較,當(dāng)該加載時(shí)間小于或者等于預(yù)定的時(shí)間閾值時(shí),說(shuō)明該界面標(biāo)識(shí)的加載時(shí)間符合要求。如果該界面標(biāo)識(shí)對(duì)應(yīng)界面的加載時(shí)間大于預(yù)定的時(shí)間閾值時(shí),則該界面標(biāo)識(shí)對(duì)應(yīng)界面的加載時(shí)間是不符合要求,可能是界面標(biāo)識(shí)對(duì)應(yīng)的界面出現(xiàn)異常,也可能是測(cè)試終端的網(wǎng)絡(luò)出現(xiàn)異常等等,進(jìn)而根據(jù)超標(biāo)的界面標(biāo)識(shí)生成對(duì)應(yīng)的報(bào)警信息,在生成報(bào)警信息之后,可以根據(jù)報(bào)警信息進(jìn)行相應(yīng)的異常檢測(cè)。
本發(fā)明實(shí)施例中通過(guò)將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接,測(cè)試服務(wù)器與待測(cè)試終端建立第二同步連接,由測(cè)試終端通過(guò)第一同步連接和第二同步連接同步待測(cè)試終端的屏幕圖像,在屏幕圖像中觸發(fā)針對(duì)一界 面的加載操作時(shí),記錄觸發(fā)該加載操作的第一時(shí)間點(diǎn),并由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配,該第一圖像為界面加載完畢時(shí)的屏幕圖像,在匹配時(shí),則記錄同步的第二時(shí)間點(diǎn),然后根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算該界面的加載時(shí)間。解決了在先技術(shù)中測(cè)試結(jié)果不準(zhǔn)確,測(cè)試過(guò)程耗時(shí)較長(zhǎng)、測(cè)試步驟繁瑣的問(wèn)題,取得了獲取準(zhǔn)確的測(cè)試結(jié)果,減少了測(cè)試使用時(shí)間,避免了用戶的繁瑣操作的有益效果。
實(shí)施例二
參照?qǐng)D2,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面加載時(shí)間計(jì)算方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟S200:通過(guò)測(cè)試終端本地的瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái),以建立第一同步連接;所述測(cè)試服務(wù)器中STF遠(yuǎn)程控制平臺(tái)與所述待測(cè)試終端建立第二同步連接。
本發(fā)明實(shí)施例中可以在測(cè)試服務(wù)器中安裝STF(Smartphone Test Farm)遠(yuǎn)程控制平臺(tái),然后將待測(cè)試終端與測(cè)試服務(wù)器的STF平臺(tái)建立第二同步連接,將測(cè)試終端與測(cè)試服務(wù)器的STF建立第一同步連接進(jìn)行連接,那么待測(cè)試終端的并通過(guò)測(cè)試服務(wù)器來(lái)操作待測(cè)試終端。
STF遠(yuǎn)程控制平臺(tái)是一個(gè)遠(yuǎn)程控制平臺(tái),用于對(duì)手機(jī)等待測(cè)試終端,在測(cè)試終端的瀏覽器網(wǎng)頁(yè)上進(jìn)行遠(yuǎn)程操控。在STF安裝完成之后,可以通過(guò)控制臺(tái)運(yùn)行命令以啟動(dòng)STF遠(yuǎn)程控制平臺(tái),當(dāng)STF遠(yuǎn)程控制平臺(tái)啟動(dòng)之后,則可以在與待測(cè)試終端、測(cè)試終端連接的測(cè)試服務(wù)器中輸入遠(yuǎn)程待測(cè)試終端和測(cè)試終端對(duì)應(yīng)的端口號(hào),以建立實(shí)現(xiàn)測(cè)試終端、待測(cè)試終端與測(cè)試服務(wù)器的同步連接。
測(cè)試終端可以通過(guò)本地瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái)以建立第一同步連接,STF遠(yuǎn)程控制平臺(tái)與待測(cè)試終端建立第二同步連接,STF遠(yuǎn)程控制平臺(tái)自帶的Minicap工具可以提供一個(gè)socket(套接字)接口,以將待測(cè)試終端的屏幕圖像的數(shù)據(jù)實(shí)時(shí)傳輸?shù)綔y(cè)試服務(wù)器,并通過(guò)測(cè)試服務(wù)器傳輸?shù)綔y(cè)試終端,以在測(cè)試終端中對(duì)待測(cè)試終端的屏幕圖像數(shù) 據(jù)進(jìn)行記錄和保存。測(cè)試終端中對(duì)屏幕圖像的操作也可以通過(guò)瀏覽器傳輸至測(cè)試服務(wù)器的STF平臺(tái),然后STF平臺(tái)通過(guò)上述socket同步到待測(cè)試終端中,使待測(cè)試終端實(shí)現(xiàn)同步操作。
當(dāng)然,本發(fā)明實(shí)施例中,測(cè)試服務(wù)器可以連接多個(gè)待測(cè)試終端。而測(cè)試終端可以向測(cè)試服務(wù)器發(fā)送連接指令,確定連接哪一個(gè)待測(cè)試終端。該連接指令可包括待測(cè)試終端的設(shè)備名等信息。
步驟S210:由測(cè)試終端通過(guò)測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包;所述界面屬于所述測(cè)試安裝包安裝后的應(yīng)用的界面。
本發(fā)明實(shí)施例中,測(cè)試終端操控測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包,每個(gè)測(cè)試安裝包中都可以包括多個(gè)用于測(cè)試的界面,可以從該測(cè)試安裝包中選擇符合要求的待測(cè)試界面以作為測(cè)試使用。其中,該測(cè)試安裝包如APP的APK(Android Package,安卓包)安裝包。
相應(yīng)的,后續(xù)在待測(cè)試終端觸發(fā)針對(duì)一界面的加載操作所要加載的界面,即為對(duì)應(yīng)于測(cè)試安裝包安裝完成后的測(cè)試安裝包中應(yīng)用的界面。
步驟S220:由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像。
步驟S230:在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作。
步驟S240:在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;如果匹配,則執(zhí)行步驟S240。
本發(fā)明實(shí)施例中,測(cè)試終端可以通過(guò)第一同步連接和第二同步連接同步待測(cè)試終端的屏幕圖像,并在操控待測(cè)試終端的屏幕圖像中觸發(fā)針對(duì)一界面的加載操作后,記錄觸發(fā)該加載操作的第一時(shí)間點(diǎn)。
在待測(cè)試終端根據(jù)界面加載操作處理的過(guò)程中,可以將測(cè)試終端同步 的屏幕圖像與預(yù)置的第一圖像進(jìn)行比對(duì),以確定二者是否匹配,如果匹配,則執(zhí)行步驟S250。
優(yōu)選地,在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還可以包括:
子步驟B11:由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
本發(fā)明實(shí)施例中,測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái)還可以利用Python語(yǔ)言編寫的獲取程序,以獲取在首屏界面加載的過(guò)程中的待測(cè)試終端的各性能指標(biāo),其中,待測(cè)試終端的性能指標(biāo)可以包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量等其中的一項(xiàng)或者多項(xiàng)。
通過(guò)獲取待測(cè)試終端的各性能指標(biāo),可以在對(duì)測(cè)試首屏加載時(shí)間的同時(shí),對(duì)待測(cè)試終端的各性能進(jìn)行測(cè)試。
在本發(fā)明實(shí)施例中,可以使用Python編寫首屏加載過(guò)程中獲取手機(jī)各項(xiàng)性能指標(biāo)的程序。
步驟S250:記錄同步的第二時(shí)間點(diǎn)。
本發(fā)明實(shí)施例中,對(duì)應(yīng)于在待測(cè)試終端安裝測(cè)試安裝包后,該測(cè)試安裝包中的應(yīng)用的界面是對(duì)應(yīng)于觸發(fā)針對(duì)一界面的加載操作所對(duì)應(yīng)的界面,可以選擇特定的界面作為首屏界面,并在測(cè)試安裝包中為這些應(yīng)用的界面添加標(biāo)志點(diǎn)。之后可以通過(guò)對(duì)首屏加載的圖像與選定的標(biāo)識(shí)所對(duì)應(yīng)的應(yīng)用的界面進(jìn)行對(duì)比,如果沒(méi)有匹配,則進(jìn)行加載;如果選定的標(biāo)志點(diǎn)加載完成,則表示針對(duì)該界面的加載操作的加載完成,界面加載完成時(shí)的時(shí)間點(diǎn)即為第二時(shí)間點(diǎn)。
相應(yīng)的,測(cè)試終端可以同步待測(cè)試終端的屏幕圖像及相應(yīng)的加載操作,并與待測(cè)試終端同步進(jìn)行相同界面的加載操作,在界面的加載操作的整個(gè)過(guò)程中,測(cè)試終端可以將該界面加載的第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)進(jìn)行記錄。
步驟S260:由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
根據(jù)測(cè)試終端記錄的第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),以計(jì)算出首屏界面的加載時(shí)間。
當(dāng)然,在本發(fā)明實(shí)施例中,對(duì)于實(shí)施例一中的sikuli圖像識(shí)別程序和Python性能監(jiān)測(cè)程序,在步驟S220時(shí)可以開(kāi)始調(diào)用相應(yīng)接口,在步驟S260執(zhí)行完畢后則停止調(diào)用相應(yīng)接口。避免系統(tǒng)資源的浪費(fèi)。
步驟S270:判斷是否對(duì)所述測(cè)試安裝包的應(yīng)用的界面測(cè)試完成;如果測(cè)試完成,則執(zhí)行步驟S280。
對(duì)于某測(cè)試安裝包中特定的用于測(cè)試的界面,是一個(gè)個(gè)依次進(jìn)行加載的,在當(dāng)前待測(cè)試界面加載完成之后,可以對(duì)該測(cè)試安裝包中所有添加標(biāo)志點(diǎn)應(yīng)用的界面是否全部加載并測(cè)試完成進(jìn)行判斷,如果安裝測(cè)試包選擇的應(yīng)用的界面中還有未測(cè)試的應(yīng)用的界面,則對(duì)未進(jìn)行測(cè)試的應(yīng)用的界面進(jìn)行加載測(cè)試;如果對(duì)安裝測(cè)試包中選擇的應(yīng)用的界面已經(jīng)全部加載測(cè)試完畢,則執(zhí)行步驟S280。
步驟S280:判斷是否還存在未測(cè)試的測(cè)試安裝包;如果存在,則執(zhí)行步驟S290。
本發(fā)明實(shí)施例中,在對(duì)一個(gè)測(cè)試安裝包中選擇的應(yīng)用的界面加載測(cè)試完成之后,則可以對(duì)待測(cè)試終端中是否存在未測(cè)試的測(cè)試安裝包進(jìn)行判斷,如過(guò)待測(cè)試終端的所有測(cè)試安裝包測(cè)試完成,則針對(duì)該待測(cè)試終端的首屏加載時(shí)間的測(cè)試完成。如果,待測(cè)試終端中還有未測(cè)試的測(cè)試安裝包,則執(zhí)行步驟S290。
步驟S290:繼續(xù)安裝一未測(cè)試的測(cè)試安裝包至待測(cè)試終端,進(jìn)入步驟S220。
在測(cè)試終端判斷待測(cè)試終端還有未測(cè)試的測(cè)試安裝包時(shí),則通過(guò)測(cè)試服務(wù)器的STF平臺(tái)在待測(cè)試終端安裝該未測(cè)試的測(cè)試安裝包,并進(jìn)入步驟S220以繼續(xù)對(duì)待測(cè)試終端的首屏加載時(shí)間進(jìn)行測(cè)試。
本發(fā)明實(shí)施例中通過(guò)將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接,測(cè)試服務(wù)器與待測(cè)試終端建立第二同步連接,并通過(guò)第一同步連接和第二同步連接以同步待測(cè)試終端的屏幕圖像,在屏幕圖像中觸發(fā)針對(duì)一界面的加 載操作時(shí),記錄觸發(fā)該加載操作的第一時(shí)間點(diǎn),并由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配,該第一圖像為界面加載完畢時(shí)的屏幕圖像,在匹配時(shí),則記錄同步的第二時(shí)間點(diǎn),然后根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算該界面的加載時(shí)間。獲取準(zhǔn)確的測(cè)試結(jié)果,減少了測(cè)試使用時(shí)間,避免了用戶的繁瑣操作的有益效果。
并且,本發(fā)明實(shí)施例中在對(duì)待測(cè)試終端的首屏加載時(shí)間的測(cè)試過(guò)程中,還對(duì)待測(cè)試終端的各性能指標(biāo)進(jìn)行了測(cè)試,以確保待測(cè)試終端的運(yùn)行環(huán)境不影響到測(cè)試結(jié)果。并通過(guò)對(duì)多次的界面加載測(cè)試,可以使得獲得的首屏加載時(shí)間比較準(zhǔn)確。
同時(shí),可以自動(dòng)對(duì)多個(gè)測(cè)試安裝包的界面的加載時(shí)間進(jìn)行測(cè)試,減少用戶的操作過(guò)程。
對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施例所必須的。
實(shí)施例三
參照?qǐng)D3,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面加載時(shí)間計(jì)算系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖,具體可以包括:
測(cè)試終端310、測(cè)試服務(wù)器320、待測(cè)試終端330;
所述測(cè)試終端310可以包括:
第一同步連接建立模塊3100,適于將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
屏幕圖像同步模塊3101,適于由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
第一時(shí)間點(diǎn)記錄模塊3102,適于在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
進(jìn)一步的,所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作包括:
步驟S31022:所述待測(cè)試終端同步獲取所述加載操作,并根據(jù)所述加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。
圖像匹配計(jì)算模塊3103,適于在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
優(yōu)選地,在所述圖像匹配計(jì)算模塊3103之前,還包括:
子圖像獲取模塊31028,適于由測(cè)試終端獲取待測(cè)試的界面的所述第一圖像中的至少一個(gè)位置的子圖像。
優(yōu)選地,所述圖像匹配計(jì)算模塊3103包括:
預(yù)定位置的子圖像獲取子模塊31032,適于由測(cè)試終端從所述同步的屏幕圖像中獲取與各預(yù)定位置的子圖像;所述預(yù)定位置與所述界面的加載完畢之后的屏幕圖像中的至少一個(gè)位置相同;
相同位置子圖像匹配判斷模塊31034,適于判斷各預(yù)定位置的子圖像與第一圖像的相同位置子圖像是否完全匹配。
第二時(shí)間點(diǎn)記錄模塊3104,適于在同步的屏幕圖像與預(yù)置的第一圖像匹配時(shí),記錄同步的第二時(shí)間點(diǎn);
加載時(shí)間計(jì)算模塊3105,適于由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
優(yōu)選地,在所述加載時(shí)間計(jì)算模塊3105之后,還可以包括:
界面標(biāo)識(shí)記錄模塊3106,適于將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄。
優(yōu)選地,所述界面的界面標(biāo)識(shí)可以包括:網(wǎng)頁(yè)的網(wǎng)址信息。
優(yōu)選地,在所述界面標(biāo)識(shí)記錄模塊3105之后,還包括:
比較模塊3107,適于將所述界面標(biāo)識(shí)的加載時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
加載時(shí)間符合要求確定模塊3108,適于當(dāng)所述加載時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間符合要求;
報(bào)警信息生成模塊3109,適于當(dāng)所述加載時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間不符合要求,并生成報(bào)警信息。
所述測(cè)試服務(wù)器320可以包括:
第二同步連接建立模塊3202,適于基于所述第一同步連接與待測(cè)試終端建立第二同步連接。
所述待測(cè)試終端330可以包括:
處理模塊3302,適于由所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作。
實(shí)施例四
參照?qǐng)D4,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面加載時(shí)間計(jì)算系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖,具體可以包括:
測(cè)試終端410、測(cè)試服務(wù)器420、待測(cè)試終端430;
所述測(cè)試終端410可以包括:
第一同步連接建立模塊400,適于測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
優(yōu)選地,所述第一同步連接建立模塊400可以包括:
第一同步連接建立子模塊4002,適于通過(guò)測(cè)試終端本地的瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái),以建立第一同步連接;所述測(cè)試服務(wù)器中STF遠(yuǎn)程控制平臺(tái)與所述待測(cè)試終端建立第二同步連接。
測(cè)試安裝包安裝模塊410,適于由測(cè)試終端通過(guò)測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包;所述界面屬于所述測(cè)試安裝包安裝后的應(yīng)用的界面;
屏幕圖像同步模塊420,適于由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
第一時(shí)間點(diǎn)記錄模塊430,適于在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
圖像匹配計(jì)算模塊440,適于在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
優(yōu)選地,在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還包括:
性能指標(biāo)獲取子模塊4402,適于由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
優(yōu)選地,所述性能指標(biāo)包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量其中至少一項(xiàng)。
第二時(shí)間點(diǎn)記錄模塊450,適于在同步的屏幕圖像與預(yù)置的第一圖像匹配時(shí),記錄同步的第二時(shí)間點(diǎn);
加載時(shí)間計(jì)算模塊460,適于由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間;
測(cè)試完成判斷模塊470,適于判斷是否對(duì)所述測(cè)試安裝包的應(yīng)用的界面測(cè)試完成;
測(cè)試安裝包判斷模塊480,適于判斷是否還存在未測(cè)試的測(cè)試安裝包;
未測(cè)試安裝包安裝模塊490,適于在存在未測(cè)試的測(cè)試安裝包時(shí),繼續(xù)安裝一未測(cè)試的測(cè)試安裝包至待測(cè)試終端,進(jìn)入通過(guò)所述同步連接,同步待測(cè)試終端的屏幕圖像的步驟。
所述測(cè)試服務(wù)器420可以包括:
第二同步連接建立模塊4202,適于基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
所述待測(cè)試終端430可以包括:
處理模塊4302,適于由所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作。
對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
實(shí)施例五
參照?qǐng)D5,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面加載時(shí)間計(jì)算設(shè)備500實(shí)施例的結(jié)構(gòu)框圖,具體可以包括:
存儲(chǔ)器510,加載有多條可執(zhí)行指令;
處理器520,執(zhí)行所述多條可執(zhí)行指令;所述多條指令包括執(zhí)行以下步驟的方法:
將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
如果匹配,則記錄同步的第二時(shí)間點(diǎn);
由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
優(yōu)選地,本發(fā)明實(shí)施例的多條可執(zhí)行指令還可包括前述各個(gè)步驟的方法,本發(fā)明實(shí)施例不對(duì)其加以限定。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的界面加載時(shí)間計(jì)算設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開(kāi)了A1、一種界面加載時(shí)間計(jì)算方法,包括:
將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;如果匹配,則記錄同步的第二時(shí)間點(diǎn);
由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。
A2、如A1所述的方法,在所述由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配的步驟之前,還包括:
由測(cè)試終端獲取待測(cè)試的界面的所述第一圖像中的至少一個(gè)位置的子圖像。
A3、如A2所述的方法,所述由測(cè)試終端計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配的步驟,包括:
由測(cè)試終端從所述同步的屏幕圖像中獲取與各預(yù)定位置的子圖像;所述預(yù)定位置與所述界面的加載完畢之后的屏幕圖像中的至少一個(gè)位置相同;
判斷各預(yù)定位置的子圖像與第一圖像的相同位置子圖像是否完全匹配。
A4、如A1所述的方法,所述將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接的步驟,包括:
通過(guò)測(cè)試終端本地的瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái),以建立第一同步連接;所述測(cè)試服務(wù)器中STF遠(yuǎn)程控制平臺(tái)與所述待測(cè)試終端建立第二同步連接。
A5、如A1所述的方法,在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還包括:
由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
A6、如A5所述的方法,所述性能指標(biāo)包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量其中至少一項(xiàng)。
A7、如A5所述的方法,在由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像的步驟之前,還包括:
由測(cè)試終端通過(guò)測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包;所述界面屬于所述測(cè)試安裝包安裝后的應(yīng)用的界面。
A8、如A7所述的方法,在所述由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間的步驟之后,還包括:
判斷是否對(duì)所述測(cè)試安裝包的應(yīng)用的界面測(cè)試完成;
判斷是否還存在未測(cè)試的測(cè)試安裝包;
如果存在,則繼續(xù)安裝一未測(cè)試的測(cè)試安裝包至待測(cè)試終端,進(jìn)入通過(guò)所述同步連接,同步待測(cè)試終端的屏幕圖像的步驟。
A9、如A1-A8其中之一所述的方法,在所述由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間的步驟之后,還包括:
將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄。
A10、如A9所述的方法,所述針對(duì)一界面的加載操作包括:針對(duì)一網(wǎng)頁(yè)的生成網(wǎng)頁(yè)請(qǐng)求的加載操作;
進(jìn)一步的,所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作包括:
所述待測(cè)試終端同步獲取所述加載操作,并根據(jù)所述加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。
A11、如A9所述的方法,所述界面的界面標(biāo)識(shí)包括:網(wǎng)頁(yè)的網(wǎng)址信息。
A12、如A9所述的方法,在所述將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí)進(jìn)行記錄的步驟之后,還包括:
將所述界面標(biāo)識(shí)的加載時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
當(dāng)所述加載時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間符合要求;
當(dāng)所述加載時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間不符合要求,并生成報(bào)警信息。
本發(fā)明還公開(kāi)了B13、一種界面加載時(shí)間計(jì)算系統(tǒng),包括:
測(cè)試終端、測(cè)試服務(wù)器、待測(cè)試終端
所述測(cè)試終端包括:
第一同步連接建立模塊,適于與測(cè)試服務(wù)器建立第一同步連接;
屏幕圖像同步模塊,適于通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
第一時(shí)間點(diǎn)記錄模塊,適于在所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);
圖像匹配計(jì)算模塊,適于在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,計(jì)算同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
第二時(shí)間點(diǎn)記錄模塊,適于在同步的屏幕圖像與預(yù)置的第一圖像匹配時(shí),記錄同步的第二時(shí)間點(diǎn);
加載時(shí)間計(jì)算模塊,適于根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間;
所述測(cè)試服務(wù)器包括:
第二同步連接建立模塊,適于基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
所述待測(cè)試終端包括:
處理模塊,適于由所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作。
B14、如B13所述的系統(tǒng),在所述圖像匹配計(jì)算模塊之前,還包括:
子圖像獲取模塊,適于由測(cè)試終端獲取待測(cè)試的界面的所述第一圖像中的至少一個(gè)位置的子圖像。
B15、如B14所述的系統(tǒng),所述圖像匹配計(jì)算模塊包括:
預(yù)定位置的子圖像獲取子模塊,適于由測(cè)試終端從所述同步的屏幕圖 像中獲取與各預(yù)定位置的子圖像;所述預(yù)定位置與所述界面的加載完畢之后的屏幕圖像中的至少一個(gè)位置相同;
相同位置子圖像匹配判斷模塊,適于判斷各預(yù)定位置的子圖像與第一圖像的相同位置子圖像是否完全匹配。
B16、如B13所述的系統(tǒng),所述第一同步連接建立模塊包括:
第一同步連接建立子模塊,適于通過(guò)測(cè)試終端本地的瀏覽器連接測(cè)試服務(wù)器中的STF遠(yuǎn)程控制平臺(tái),以建立第一同步連接;所述測(cè)試服務(wù)器中STF遠(yuǎn)程控制平臺(tái)與所述待測(cè)試終端建立第二同步連接。
B17、如B13所述的系統(tǒng),在所述在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,還包括:
性能指標(biāo)獲取子模塊,適于由測(cè)試終端獲取所述界面加載過(guò)程中的待測(cè)試終端的至少一項(xiàng)性能指標(biāo)。
B18、如B17所述的系統(tǒng),所述性能指標(biāo)包括:CPU占有率、內(nèi)存占有率、待測(cè)試終端流量、待測(cè)試終端電量其中至少一項(xiàng)。
B19、如B17所述的系統(tǒng),在所述屏幕圖像同步模塊之前,還包括:
測(cè)試安裝包安裝模塊,適于由測(cè)試終端通過(guò)測(cè)試服務(wù)器的STF遠(yuǎn)程控制平臺(tái),向待測(cè)試終端安裝測(cè)試安裝包;所述界面屬于所述測(cè)試安裝包安裝后的應(yīng)用的界面。
B20、如B19所述的系統(tǒng),在所述加載時(shí)間計(jì)算模塊之后,還包括:
測(cè)試完成判斷模塊,適于判斷是否對(duì)所述測(cè)試安裝包的應(yīng)用的界面測(cè)試完成;
測(cè)試安裝包判斷模塊,適于判斷是否還存在未測(cè)試的測(cè)試安裝包;
未測(cè)試安裝包安裝模塊,適于在存在未測(cè)試的測(cè)試安裝包時(shí),繼續(xù)安裝一未測(cè)試的測(cè)試安裝包至待測(cè)試終端,進(jìn)入通過(guò)所述同步連接,同步待測(cè)試終端的屏幕圖像的步驟。
B21、如B13-B20其中之一所述的系統(tǒng),在所述加載時(shí)間計(jì)算模塊之后,還包括:
界面標(biāo)識(shí)記錄模塊,適于將所述加載時(shí)間以對(duì)應(yīng)所述界面的界面標(biāo)識(shí) 進(jìn)行記錄。
B22、如B21所述的系統(tǒng),所述針對(duì)一界面的加載操作包括:針對(duì)一網(wǎng)頁(yè)的生成網(wǎng)頁(yè)請(qǐng)求的加載操作;
進(jìn)一步的,所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作包括:
所述待測(cè)試終端同步獲取所述加載操作,并根據(jù)所述加載操作向web服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求。
B23、如B21所述的系統(tǒng),所述界面的界面標(biāo)識(shí)包括:網(wǎng)頁(yè)的網(wǎng)址信息。
B24、如B21所述的系統(tǒng),在所述界面標(biāo)識(shí)記錄模塊之后,還包括:
比較模塊,適于將所述界面標(biāo)識(shí)的加載時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
加載時(shí)間符合要求確定模塊,適于當(dāng)所述加載時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間符合要求;
報(bào)警信息生成模塊,適于當(dāng)所述加載時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述界面標(biāo)識(shí)的加載時(shí)間不符合要求,并生成報(bào)警信息。
本發(fā)明還公開(kāi)了C25、一種界面加載時(shí)間計(jì)算設(shè)備,包括:
存儲(chǔ)器,加載有多條可執(zhí)行指令;
處理器,執(zhí)行所述多條可執(zhí)行指令;所述多條指令包括執(zhí)行以下步驟的方法:
將測(cè)試終端與測(cè)試服務(wù)器建立第一同步連接;所述測(cè)試服務(wù)器基于所述第一同步連接與待測(cè)試終端建立第二同步連接;
由測(cè)試終端通過(guò)所述第一同步連接和第二同步連接,同步獲取待測(cè)試終端的屏幕圖像;
在測(cè)試終端的所述屏幕圖像中觸發(fā)針對(duì)一界面的加載操作,并記錄觸發(fā)所述加載操作的第一時(shí)間點(diǎn);所述待測(cè)試終端通過(guò)第一同步連接和第二同步連接同步處理所述加載操作;
在待測(cè)試終端根據(jù)所述加載操作進(jìn)行處理的過(guò)程中,由測(cè)試終端計(jì)算 同步的屏幕圖像與預(yù)置的第一圖像是否匹配;所述第一圖像為界面加載完畢時(shí)的屏幕圖像;
如果匹配,則記錄同步的第二時(shí)間點(diǎn);
由測(cè)試終端根據(jù)第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn),計(jì)算所述界面的加載時(shí)間。