本發(fā)明涉及計算機技術(shù)領域,尤其涉及一種自動對頁面渲染進行截圖的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡應用的日益發(fā)達,用戶上網(wǎng)已經(jīng)成為了及其普遍的習慣。但是在點擊網(wǎng)頁過程中,經(jīng)常遇到的問題就是網(wǎng)頁加載慢,甚至很長一段時間網(wǎng)頁都不能夠加載成功。如此,將會導致用戶失去耐心,甚至關(guān)閉頁面。大大降低的用戶的體驗。而很多時候,網(wǎng)頁加載較慢可能是網(wǎng)速慢導致的前端頁面加載較慢,但是也有時候是因為網(wǎng)絡接口響應時間過長導致的。測試人員需要確切的知道頁面加載較慢的具體原因,然后根據(jù)具體原因采取有效的措施,實現(xiàn)頁面渲染性能優(yōu)化。
在以往的頁面前端性能測試過程中,測試人員由于無法直觀的過程化監(jiān)控頁面渲染,所以也無法直觀的評估頁面性能,也就不能清楚的知道頁面加載過慢的具體原因。所以,如何清楚的確定頁面加載過慢的原因是本發(fā)明要解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明提供一種自動對頁面渲染進行截圖的方法,通過該方法,清楚的確定頁面加載過慢的原因,方便測試人員根據(jù)頁面加載過慢的具體原因,采取有效的措施,實現(xiàn)頁面渲染性能的優(yōu)化。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
第一方面,本發(fā)明實施例提供了一種自動對頁面渲染進行截圖的方法,該方法包括:
打開測試頁面;
在測試頁面渲染過程中,根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動對測試頁面進行截圖。
本發(fā)明的有益效果是:本發(fā)明提供的一種自動對頁面渲染進行截圖的方法,根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動打開測試頁面后,在測試頁面渲染過程中對測試頁面進行截圖,測試人員可以根據(jù)截圖確定頁面打開過程中的頁面加載時間。以及,根據(jù)后臺生成的日志確定接口響應時間。最終,根據(jù)頁面渲染時間和接口響應時間,確定頁面加載較慢的原因。并根據(jù)原因?qū)撁媲岸诵阅苓M行優(yōu)化。
進一步,在打開測試頁面之前,方法還包括:
打開瀏覽頁面;
從瀏覽頁面輸入與測試頁面相關(guān)網(wǎng)頁對應的鏈接信息,并點擊進入與測試頁面相關(guān)的網(wǎng)頁;
從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面。
采用上述進一步的方案的有益技術(shù)效果在于,進入測試頁面之前,首先需要通過瀏覽頁面進入該測試頁面。而本發(fā)明所采用的方法則是處理器通過讀取存儲器中存儲的腳本,模擬人為操作,自動打開瀏覽測試頁面,輸入與測試頁面對應的網(wǎng)址,進入與測試頁面相關(guān)的網(wǎng)頁,并從與測試頁面相關(guān)網(wǎng)頁進入測試頁面。
進一步,從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面,具體包括:
接收用戶輸入的操作信息;
根據(jù)用戶輸入的操作信息,定位頁面元素;
根據(jù)頁面元素,對與測試頁面相關(guān)的網(wǎng)頁進行模擬操作,進入測試頁面。
采用上述進一步的技術(shù)方案的有益技術(shù)效果在于,進入測試頁面之前,需要定位頁面元素,然后才能進入。因此,需要首先接收用戶輸入的操作信息,然后根據(jù)操作信息定位頁面元素,并通過頁面元素,實現(xiàn)對測試頁面相關(guān)的網(wǎng)頁進行模擬操作,進入測試頁面。
進一步的,定位頁面元素的方式包括如下方式之一:
通過元素的身份標識號碼ID定位元素;
通過元素的名字定位元素;
通過標識名稱定位元素;
通過數(shù)據(jù)類型定位元素;
通過層疊樣式表定位元素;
通過可擴展標記語言路徑語言定位元素。
采用上述進一步的技術(shù)方案的有益技術(shù)效果在于:定位頁面元素方式可以包括多種,本發(fā)明中僅是列舉了上述幾種。
第二方面,本發(fā)明實施例提供了一種自動對頁面渲染進行截圖的裝置,該文件裝置包括:處理單元,用于打開測試頁面;
并在測試頁面渲染過程中,根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動對測試頁面進行截圖。
上述方案的有益技術(shù)效果在于,處理單元根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動打開測試頁面后,在測試頁面渲染過程中對測試頁面進行截圖,測試人員可以根據(jù)截圖確定頁面打開過程中的頁面加載時間。以及,根據(jù)后臺生成的日志確定接口響應時間。最終,根據(jù)頁面渲染時間和接口響應時間,確定頁面加載較慢的原因。并根據(jù)原因?qū)撁媲岸诵阅苓M行優(yōu)化。
進一步的,處理單元具體用于:
打開瀏覽頁面;
從瀏覽頁面輸入與測試頁面相關(guān)網(wǎng)頁對應的鏈接信息,并點擊進入與測試頁面相關(guān)的網(wǎng)頁;
從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面。
采用上述進一步的方案的有益技術(shù)效果在于,進入測試頁面之前,首先需要通過瀏覽頁面進入該測試頁面。而本發(fā)明所采用的方法則是處理單元通過讀取存儲器中存儲的腳本,模擬人為操作,自動打開瀏覽測試頁面,輸入與測試頁面對應的網(wǎng)址,進入與測試頁面相關(guān)的網(wǎng)頁,并從與測試頁面相關(guān)網(wǎng)頁進入測試頁面。
進一步的,裝置還包括:
接收單元,用于接收用戶輸入的操作信息;
處理單元還用于,根據(jù)用戶輸入的操作信息,定位頁面元素;
根據(jù)頁面元素,對與測試頁面相關(guān)的網(wǎng)頁進行模擬操作,進入測試頁面。
采用上述進一步的技術(shù)方案的有益技術(shù)效果在于,進入測試頁面之前,需要定位頁面元素,然后才能進入。因此,需要接收單元接收用戶輸入的操作信息,處理單元根據(jù)操作信息定位頁面元素,并通過頁面元素,實現(xiàn)對測試頁面相關(guān)的網(wǎng)頁進行模擬操作,進入測試頁面。
進一步的,處理單元定位頁面元素的方式包括如下方式之一:
通過元素的身份標識號碼ID定位元素;
通過元素的名字定位元素;
通過標識名稱定位元素;
通過數(shù)據(jù)類型定位元素;
通過層疊樣式表定位元素;
通過可擴展標記語言路徑語言定位元素。
采用上述進一步的技術(shù)方案的有益技術(shù)效果在于,定位頁面元素方式可以包括多種,本發(fā)明中僅是列舉了上述幾種。
附圖說明
圖1為本發(fā)明實施例提供的一種自動對頁面渲染進行截圖的方法流程示意圖;
圖2為從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面的流程示意圖;
圖3為本發(fā)明實施例提供的一種自動對頁面渲染進行截圖的裝置結(jié)構(gòu)示意圖。
具體實施方式
以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、接口、技術(shù)之類的具體細節(jié),以便透切理解本發(fā)明。然而,本領域的技術(shù)人員應當清楚,在沒有這些具體細節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的裝置、電路以及方法的詳細說明,以免不必要的細節(jié)妨礙本發(fā)明的描述。
圖1為本發(fā)明實施例提供的一種自動對頁面渲染進行截圖的方法流程示意圖。該方法可以適用于任何一種具有自動處理功能的終端,例如個人電腦(personal Computer,簡稱PC)、手機、paid等等。在本實施例中,以PC機執(zhí)行該方法為例進行說明。具體如圖1所示,該方法包括:
步驟110,打開測試頁面。
具體的,打開測試頁面,這里的測試頁面并非人為操作。而是通過PC機中的處理器自動讀取已經(jīng)存儲在存儲器中的腳本語言(例如,在本實施例中所采用的腳本語言為phthon中的selenium語言),模擬人為操作自動打開測試頁面。
步驟120,在測試頁面渲染過程中,根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動對測試頁面進行截圖。
具體的,在步驟110中已經(jīng)模擬人為操作打開了測試頁面。那么在頁面加載過程中,處理器就可以根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動對測試頁面進行截圖了。截圖之后,則保存至存儲器中的一個預設的地址中,以方便測試人員對截圖進行分析。
當然,在測試頁面進行渲染過程中,首先處理器可以自動根據(jù)預設的截圖頻率不停的對頁面進行截圖。由此,從不同的截圖中獲取頁面加載過程中加載較慢的截圖。而設置循環(huán)次數(shù),則是為了能夠更加精確的分析頁面加載過程中,哪些頁面加載較慢。這里的循環(huán)次數(shù)計數(shù)的基準是頁面加載完成一次,算是一次循環(huán)。然后繼續(xù)第二次重新加載頁面,并不斷進行頁面截圖。
另外,讀者還應理解的是,上文中所述的在頁面渲染過程中進行截圖,每個截圖中均記錄了截圖時間,所以可以根據(jù)每一幅截圖中的時間,確定從上一副頁面截圖到當前頁面截圖,頁面渲染所花費的時間。而且,在一次循環(huán)中,設定第一次截圖是從頁面渲染開始,而最后一次截圖是頁面渲染結(jié)束。也既是第一幅截圖記錄頁面渲染開始的時間,最后一副截圖記錄的是頁面渲染結(jié)束的時間。那么,測試人員則可以清楚地知道從頁面渲染開始到頁面渲染結(jié)束,一共花費的時間。進而確定頁面前端性能差是否是因為頁面渲染過程太長導致。
優(yōu)選的,因為設置了循環(huán)次數(shù),也即是每一次循環(huán),都會根據(jù)不同的頁面截圖頻率獲取至少兩個頁面截圖。那么,不同的頁面截圖過程中,由于頁面渲染時間會有偏差,同一頻率所獲取的頁面截圖也是稍有不同的。也既是最終頁面加載完成時間可能會有偏差。所以,根據(jù)每一次循環(huán)所述獲取的頁面渲染時間,計算一個頁面渲染時間平均值(從頁面渲染開始到結(jié)束的時間平均值)。
此外,測試人員還需要從后臺服務器中所生成的日志中,獲取接口響應時間。當然,每一次循環(huán),均會獲取一次接口相應時間。那么也需要計算接口響應時間平均值。測試人員根據(jù)頁面渲染時間平均值和接口響應時間平均值,判斷導致頁面前端性能不佳的最終原因。
例如,頁面加載時間平均值,與頁面加載時間平均值和接口響應時間平均值總和之間的比值大于預設閾值(例如60%)。那么,說明頁面加載時間過長,測試人員需要對頁面加載過程進行優(yōu)化?;蛘?,接口響應時間平均值,與頁面加載時間平均值和接口響應時間平均值總和之間的比值大于預設閾值時,則說明接口響應時間過長,測試人員需要對接口進行優(yōu)化。當然,比值并非是絕對的,還要考慮頁面加載時間平均值和接口響應時間平均值的大小。如果二者中的一個數(shù)值很大,或者兩個數(shù)值都很大,均以超出與之對應的預設閾值,那么測試人員仍然需要對二者中的一個或者全部進行優(yōu)化。
而在打開測試頁面之前,該方法還包括步驟130~步驟150。
具體的,步驟130,打開瀏覽頁面。
步驟140,從瀏覽頁面輸入與測試頁面相關(guān)網(wǎng)頁對應的鏈接信息,并點擊進入與測試頁面相關(guān)的網(wǎng)頁。
具體的,因為測試頁面可能并非是直接可以獲取的,可能需要從瀏覽頁面輸入與測試頁面相關(guān)網(wǎng)頁對應的鏈接信息后,才能進入與測試頁面相關(guān)的網(wǎng)頁。而具體的鏈接信息可以包括:與測試頁面相關(guān)網(wǎng)頁對應的網(wǎng)址、或者搜索與測試頁面相關(guān)網(wǎng)頁對應的全稱、簡稱或者關(guān)鍵字等。點擊進入與測試頁面相關(guān)的網(wǎng)頁。當然,如果輸入的是與測試頁面相關(guān)網(wǎng)頁對應的名稱信息,甚至是關(guān)鍵字信息時,可能直接進入的頁面并非是當前所需要的最終與測試頁面相關(guān)的網(wǎng)頁,那么則需要再次點擊與測試頁面相關(guān)的網(wǎng)頁,然后進入。
步驟150,從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面。
具體的,測試頁面可能是某一網(wǎng)站的一個網(wǎng)頁,例如將一個個人騰訊郵箱頁面作為測試頁面。那么,首先需要從瀏覽頁面輸入騰訊郵箱的網(wǎng)址,進入騰訊郵箱。然后,通過輸入用戶名和密碼進入個人郵箱,最終才能夠進入到測試頁面,也即是個人騰訊郵箱頁面。
當然,步驟130至步驟150均是PC機中的處理器通過讀取存儲器中已經(jīng)存儲從腳本語言,然后根據(jù)已經(jīng)存儲的腳本語言,模擬人為操作,執(zhí)行上述相應的步驟。
而步驟150具體還可以包括步驟1501~步驟1503,具體如圖2所示,圖2為從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面的流程示意圖。
步驟1501,接收用戶輸入的操作信息。
步驟1502,根據(jù)用戶輸入的操作信息定位頁面元素。
步驟1503,根據(jù)頁面元素,對與測試頁面相關(guān)的網(wǎng)頁進行模擬操作,進入測試頁面。
具體的,從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面之前,首先需要在與測試頁面相關(guān)的網(wǎng)頁中定位頁面元素,只有定位頁面元素后,處理器才能夠讀取相應的腳本語言,進入測試頁面。而這里的頁面元素也即是腳本語言中的部分程序代碼。定位頁面元素之前,首先需要用戶點擊與測試頁面相關(guān)的網(wǎng)頁中的預定位置。也即是PC機首先需要接收用戶輸入的操作,例如用戶點擊的是與測試頁面相關(guān)的網(wǎng)頁中的用戶名輸入位置和密碼輸入位置。然后PC機中的處理器接收到用戶的輸入操作后,定位至與測試頁面相關(guān)的網(wǎng)頁中的用戶名輸入位置和密碼輸入位置對應的程序代碼處,確定對應的程序代碼后,讀取程序代碼(程序代碼中包括用戶名和密碼),并執(zhí)行相應的操作。進入測試頁面。
而具體的定位頁面元素的方式可以包括如下任意一種:通過元素的身份標識號碼ID定位元素;通過元素的名字定位元素;通過標識名稱定位元素;通過數(shù)據(jù)類型定位元素;通過層疊樣式表定位元素;通過可擴展標記語言路徑語言定位元素。
本發(fā)明提供的一種自動對頁面渲染進行截圖的方法,根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動打開測試頁面后,在測試頁面渲染過程中對測試頁面進行截圖,測試人員可以根據(jù)截圖確定頁面打開過程中的頁面加載時間。以及,根據(jù)后臺生成的日志確定接口響應時間。最終,根據(jù)頁面渲染時間和接口響應時間,確定頁面加載較慢的原因。并根據(jù)原因?qū)撁媲岸诵阅苓M行優(yōu)化。
相應地,本發(fā)明實施例還提供了一種自動對頁面渲染進行截圖的裝置。圖3為本發(fā)明實施例提供的一種自動對頁面渲染進行截圖的裝置結(jié)構(gòu)示意圖。如圖3所示,該裝置包括:處理單元301。
具體的,處理單元301用于,用于打開測試頁面。并在測試頁面渲染過程中,根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動對測試頁面進行截圖。
處理單元301需要在打開測試頁面之前,用于打開瀏覽頁面。從瀏覽頁面輸入與測試頁面相關(guān)網(wǎng)頁對應的鏈接信息,并點擊進入與測試頁面相關(guān)的網(wǎng)頁。從與測試頁面相關(guān)的網(wǎng)頁進入測試頁面。
其中,該裝置還包括:接收單元302,用于接收用戶輸入的操作信息。
處理單元301還用于,根據(jù)用戶輸入的操作信息,定位頁面元素。根據(jù)頁面元素,對與所述測試頁面相關(guān)的網(wǎng)頁進行模擬操作,進入測試頁面。
而處理單元301定位頁面元素的方式包括如下方式之一:
通過元素的身份標識號碼ID定位元素;通過元素的名字定位元素;通過標識名稱定位元素;通過數(shù)據(jù)類型定位元素;通過層疊樣式表定位元素;通過可擴展標記語言路徑語言定位元素。
該裝置的各部件所執(zhí)行的功能已經(jīng)在上述實施例一種自動對頁面渲染進行截圖的方法中做了詳細的介紹,這里不再贅述。
本發(fā)明實施例提供的一種自動對頁面渲染進行截圖的裝置,處理單元根據(jù)預設的截圖頻率和循環(huán)次數(shù),自動打開測試頁面后,在測試頁面渲染過程中對測試頁面進行截圖,測試人員可以根據(jù)截圖確定頁面打開過程中的頁面加載時間。以及,根據(jù)后臺生成的日志確定接口響應時間。最終,根據(jù)頁面渲染時間和接口響應時間,確定頁面加載較慢的原因。并根據(jù)原因?qū)撁媲岸诵阅苓M行優(yōu)化。
讀者應理解,在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。