本發(fā)明涉及通信,特別涉及一種頁面流暢度的測(cè)試方法及裝置。
背景技術(shù):
1、在app的研發(fā)過程中,頁面流暢度測(cè)試是其中不可或缺的環(huán)節(jié),現(xiàn)有的的頁面流暢度測(cè)試方法通常通過采用systrace工具以及在代碼中添加監(jiān)測(cè)邏輯choreographer類來記錄跟蹤數(shù)據(jù)或幀率數(shù)據(jù)。而由于app通常在手機(jī)端進(jìn)行運(yùn)行,受到運(yùn)行環(huán)境(cpu溫度、設(shè)備電量、運(yùn)行時(shí)內(nèi)存消耗等)的運(yùn)行差異,頁面每次加載時(shí)長都會(huì)有一定的差異,現(xiàn)有的測(cè)試方法測(cè)試環(huán)境部署復(fù)雜、需要手動(dòng)記錄幀率信息并計(jì)算,容易出現(xiàn)人工操作的誤差,同時(shí)還需要在app源碼內(nèi)添加監(jiān)測(cè)邏輯、測(cè)試步驟繁瑣,耗時(shí)耗力,且不能批量執(zhí)行不同的測(cè)試場(chǎng)景,存在明顯缺點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明提出了一種頁面流暢度的測(cè)試方法及裝置,具體方案如下:
2、第一方面,提出了一種頁面流暢度的測(cè)試方法,應(yīng)用于一種具有屏幕的智能終端設(shè)備上;具體步驟包括:
3、確定與屏幕上待測(cè)試的頁面對(duì)應(yīng)的場(chǎng)景;
4、確定與場(chǎng)景對(duì)應(yīng)的測(cè)試數(shù)據(jù);不同的場(chǎng)景對(duì)應(yīng)不同的測(cè)試數(shù)據(jù);
5、在當(dāng)前的場(chǎng)景中,基于測(cè)試數(shù)據(jù)確定測(cè)試模式;測(cè)試模式包括:點(diǎn)擊模式和滑動(dòng)模式;
6、若確定測(cè)試模式為點(diǎn)擊模式,則在頁面上進(jìn)行點(diǎn)擊測(cè)試,點(diǎn)擊測(cè)試包括在頁面上進(jìn)行滑動(dòng)操作和點(diǎn)擊操作;
7、若確定測(cè)試模式為滑動(dòng)模式,則在頁面上進(jìn)行滑動(dòng)測(cè)試,滑動(dòng)測(cè)試包括在頁面上進(jìn)行滑動(dòng)操作;
8、獲取點(diǎn)擊測(cè)試或滑動(dòng)測(cè)試中的總繪制幀數(shù)和掉幀數(shù),計(jì)算得到流暢度數(shù)據(jù)。
9、在一些具體實(shí)施例中,點(diǎn)擊測(cè)試包括:
10、獲取滑動(dòng)操作的起始坐標(biāo)和結(jié)束坐標(biāo);
11、停頓預(yù)設(shè)時(shí)間后,隨機(jī)生成滑動(dòng)操作的滑動(dòng)速度;
12、基于滑動(dòng)速度、預(yù)設(shè)的滑動(dòng)函數(shù)和預(yù)設(shè)的點(diǎn)擊函數(shù)在頁面進(jìn)行滑動(dòng)操作和點(diǎn)擊操作;
13、計(jì)算滑動(dòng)操作的滑動(dòng)時(shí)間,根據(jù)滑動(dòng)時(shí)間確定每次點(diǎn)擊操作和/或滑動(dòng)操作之間停頓時(shí)間的長度;
14、更新滑動(dòng)速度,并基于確定的滑動(dòng)速度更新滑動(dòng)函數(shù);
15、基于更新后的滑動(dòng)速度、預(yù)設(shè)的點(diǎn)擊函數(shù)和更新后的滑動(dòng)函數(shù)執(zhí)行“在頁面進(jìn)行滑動(dòng)操作和點(diǎn)擊操作”的步驟。
16、在一些具體實(shí)施例中,滑動(dòng)模式包括第一滑動(dòng)模式;若確定測(cè)試模式為第一滑動(dòng)模式,滑動(dòng)測(cè)試包括:
17、獲取滑動(dòng)操作的起始坐標(biāo)和結(jié)束坐標(biāo);
18、停頓預(yù)設(shè)時(shí)間后,隨機(jī)生成滑動(dòng)操作的滑動(dòng)速度;
19、基于滑動(dòng)速度和預(yù)設(shè)的滑動(dòng)函數(shù)在頁面進(jìn)行滑動(dòng)操作;
20、計(jì)算滑動(dòng)時(shí)間,根據(jù)滑動(dòng)時(shí)間確定每次滑動(dòng)操作之間停頓時(shí)間的長度;
21、更新滑動(dòng)操作的滑動(dòng)速度,并基于確定的滑動(dòng)速度更新滑動(dòng)函數(shù);
22、基于更新后的滑動(dòng)速度和更新后的滑動(dòng)函數(shù)執(zhí)行“在頁面進(jìn)行滑動(dòng)操作”的步驟。
23、在一些具體實(shí)施例中,滑動(dòng)模式包括第二滑動(dòng)模式;若確定測(cè)試模式為第二滑動(dòng)模式,滑動(dòng)測(cè)試包括:
24、獲取滑動(dòng)操作的起始坐標(biāo)和結(jié)束坐標(biāo);
25、獲取智能終端設(shè)備的屏幕分辨率;
26、根據(jù)屏幕分辨率對(duì)起始坐標(biāo)和結(jié)束坐標(biāo)進(jìn)行轉(zhuǎn)換,得到轉(zhuǎn)換后的實(shí)際起始坐標(biāo)和實(shí)際結(jié)束坐標(biāo);
27、停頓預(yù)設(shè)時(shí)間后,隨機(jī)生成滑動(dòng)操作的滑動(dòng)速度,基于滑動(dòng)速度和預(yù)設(shè)的滑動(dòng)函數(shù)在頁面進(jìn)行滑動(dòng)操作;
28、計(jì)算滑動(dòng)操作的滑動(dòng)時(shí)間,根據(jù)滑動(dòng)時(shí)間確定每次滑動(dòng)操作之間停頓時(shí)間的長度;
29、更新滑動(dòng)操作的滑動(dòng)速度,并基于確定的滑動(dòng)速度更新滑動(dòng)函數(shù);
30、基于更新后的滑動(dòng)速度和更新后的滑動(dòng)函數(shù)執(zhí)行“在頁面進(jìn)行滑動(dòng)操作”的步驟。
31、在實(shí)際應(yīng)用中,帶有屏幕的智能終端設(shè)備可以是手機(jī),而在實(shí)際情況中,不同品牌的不同手機(jī)之間屏幕的分辨率大小存在不同,這使得頁面在不同手機(jī)上的滑動(dòng)測(cè)試位置可能存在誤差,不同手機(jī)的屏幕大小之間存在著測(cè)試位置無法兼容的問題。如對(duì)于同一頁面滑動(dòng)相同的內(nèi)容,實(shí)際上在不同屏幕大小、不同屏幕分辨率大小的設(shè)備上用戶所需要滑動(dòng)手指的距離是不一樣的。
32、因此,在滑動(dòng)測(cè)試過程中,通過根據(jù)屏幕分辨率來對(duì)滑動(dòng)操作的起始坐標(biāo)以及結(jié)束坐標(biāo)進(jìn)行轉(zhuǎn)化,可以使得在不同的設(shè)備屏幕上的滑動(dòng)操作位置依舊可以統(tǒng)一,進(jìn)一步實(shí)現(xiàn)對(duì)于不同品牌的智能終端設(shè)備的測(cè)試情況進(jìn)行兼容,能夠更好地模擬用戶在屏幕上進(jìn)行滑動(dòng)的操作。
33、在一些具體實(shí)施例中,根據(jù)屏幕分辨率對(duì)起始坐標(biāo)和結(jié)束坐標(biāo)進(jìn)行轉(zhuǎn)換,得到轉(zhuǎn)換后的實(shí)際起始坐標(biāo)和實(shí)際結(jié)束坐標(biāo)的過程包括:
34、得到起始坐標(biāo)以及結(jié)束坐標(biāo)相對(duì)于頁面的寬百分比參數(shù)x和相對(duì)于頁面的高百分比參數(shù)y;
35、將x與屏幕分辨率對(duì)應(yīng)頁面寬的像素?cái)?shù)相乘,得到轉(zhuǎn)換后的實(shí)際起始坐標(biāo)以及實(shí)際結(jié)束坐標(biāo)的橫坐標(biāo);將y與屏幕分辨率對(duì)應(yīng)頁面高的像素?cái)?shù)相乘,得到轉(zhuǎn)換后的實(shí)際起始坐標(biāo)以及實(shí)際結(jié)束坐標(biāo)的縱坐標(biāo)。
36、在一些具體實(shí)施例中,測(cè)試數(shù)據(jù)包括:頁面的寬高百分比參數(shù)、和/或滑動(dòng)測(cè)試對(duì)應(yīng)的起始坐標(biāo)以及結(jié)束坐標(biāo)、和/或滑動(dòng)次數(shù)、和/或點(diǎn)擊次數(shù)、和/或滑動(dòng)時(shí)間范圍。
37、在一些具體實(shí)施例中,在確定與屏幕上待測(cè)試的頁面對(duì)應(yīng)的場(chǎng)景之前,還包括:將預(yù)設(shè)的多組場(chǎng)景、多組待測(cè)試的頁面和每一場(chǎng)景對(duì)應(yīng)的測(cè)試數(shù)據(jù)進(jìn)行預(yù)存儲(chǔ)。
38、在實(shí)際應(yīng)用中,場(chǎng)景、待測(cè)試頁面具有多組,在計(jì)算得到當(dāng)前場(chǎng)景對(duì)應(yīng)的流暢度數(shù)據(jù)之后,檢測(cè)是否所有頁面的所有場(chǎng)景均測(cè)試完畢,若所有頁面的所有場(chǎng)景均測(cè)試完畢,則根據(jù)所有場(chǎng)景對(duì)應(yīng)的流暢度數(shù)據(jù)輸出測(cè)試報(bào)告;
39、若存在未測(cè)試的頁面及場(chǎng)景,則確定下一待測(cè)試的頁面,執(zhí)行確定與屏幕上待測(cè)試的頁面對(duì)應(yīng)的場(chǎng)景的步驟,直到所有頁面以及頁面所對(duì)應(yīng)的場(chǎng)景均測(cè)試完畢,據(jù)所有場(chǎng)景對(duì)應(yīng)的流暢度數(shù)據(jù)輸出測(cè)試報(bào)告。
40、在一些具體實(shí)施例中,還包括:當(dāng)測(cè)試過程中的任一步驟存在異常時(shí),捕獲異常并顯示異常,停止測(cè)試。
41、在一個(gè)具體實(shí)施例中,獲取點(diǎn)擊測(cè)試或滑動(dòng)測(cè)試中的總繪制幀數(shù)和掉幀數(shù),計(jì)算得到流暢度數(shù)據(jù)的過程包括:
42、確定點(diǎn)擊測(cè)試或滑動(dòng)測(cè)試的總測(cè)試時(shí)間,用總繪制幀數(shù)減去掉幀數(shù)得到實(shí)際繪制幀數(shù);用實(shí)際繪制幀數(shù)除以總測(cè)試時(shí)間得到平均幀率;
43、預(yù)定義有流暢度指標(biāo),當(dāng)平均幀率達(dá)到預(yù)設(shè)高流暢度的對(duì)應(yīng)值,則判定該場(chǎng)景下的頁面流暢度較好;
44、當(dāng)平均幀率達(dá)到預(yù)設(shè)中流暢度的對(duì)應(yīng)值,則判定該場(chǎng)景下的頁面流暢度一般;
45、當(dāng)平均幀率達(dá)到預(yù)設(shè)低流暢度的對(duì)應(yīng)值,則判定該場(chǎng)景下的頁面流暢度較差。
46、在實(shí)際應(yīng)用中,流暢度指標(biāo)還可以根據(jù)實(shí)際需要調(diào)整為具有更豐富的評(píng)價(jià)標(biāo)準(zhǔn),如采用掉幀數(shù)占比作為判定指標(biāo)。
47、第二方面,提出了一種頁面流暢度的測(cè)試裝置,用于實(shí)現(xiàn)如前述技術(shù)方案中的任一種頁面流暢度測(cè)試方法,包括:
48、場(chǎng)景匹配單元,用于確定與屏幕上待測(cè)試的頁面對(duì)應(yīng)的場(chǎng)景,確定與場(chǎng)景對(duì)應(yīng)的測(cè)試數(shù)據(jù);不同的場(chǎng)景對(duì)應(yīng)不同的測(cè)試數(shù)據(jù);
49、測(cè)試單元,用于基于測(cè)試數(shù)據(jù)確定測(cè)試模式,若確定測(cè)試模式為點(diǎn)擊模式,則在頁面上進(jìn)行點(diǎn)擊測(cè)試,若確定測(cè)試模式為滑動(dòng)模式,則在頁面上進(jìn)行滑動(dòng)測(cè)試;
50、計(jì)算單元,用于獲取點(diǎn)擊測(cè)試或滑動(dòng)測(cè)試中的總繪制幀數(shù)和掉幀數(shù),計(jì)算得到流暢度數(shù)據(jù)。
51、在一些具體實(shí)施例中,還包括坐標(biāo)轉(zhuǎn)化單元;
52、坐標(biāo)轉(zhuǎn)化單元用于獲取滑動(dòng)操作的起始坐標(biāo)和結(jié)束坐標(biāo),獲取智能終端設(shè)備的屏幕分辨率,根據(jù)屏幕分辨率對(duì)起始坐標(biāo)和結(jié)束坐標(biāo)進(jìn)行轉(zhuǎn)換,得到轉(zhuǎn)換后的實(shí)際起始坐標(biāo)和實(shí)際結(jié)束坐標(biāo)。
53、在實(shí)際應(yīng)用中,場(chǎng)景、待測(cè)試頁面具有多組,還包括測(cè)試報(bào)告生成單元,用于在所有頁面的所有場(chǎng)景均測(cè)試完畢時(shí),根據(jù)所有場(chǎng)景對(duì)應(yīng)的流暢度數(shù)據(jù)輸出測(cè)試報(bào)告。
54、在一個(gè)實(shí)際應(yīng)用的過程中,這一頁面流暢度的測(cè)試裝置可以是一種帶有屏幕的智能終端設(shè)備;也可以是通過將這一頁面流暢度的測(cè)試裝置與具有屏幕的智能終端設(shè)備進(jìn)行連接,來實(shí)現(xiàn)對(duì)于頁面的流暢度進(jìn)行測(cè)試的過程。
55、有益效果:本技術(shù)提出了一種頁面流暢度的測(cè)試方法及裝置,通過確定與屏幕上待測(cè)試的頁面對(duì)應(yīng)的場(chǎng)景;在當(dāng)前的場(chǎng)景中,確定與場(chǎng)景對(duì)應(yīng)的測(cè)試數(shù)據(jù);其中不同的場(chǎng)景對(duì)應(yīng)不同的測(cè)試數(shù)據(jù);基于測(cè)試數(shù)據(jù)確定測(cè)試模式,通過在頁面上進(jìn)行點(diǎn)擊測(cè)試和/或滑動(dòng)測(cè)試,獲取點(diǎn)擊測(cè)試或滑動(dòng)測(cè)試中的總繪制幀數(shù)和掉幀數(shù),最終計(jì)算得到流暢度數(shù)據(jù)。通過這一方法和裝置,可以實(shí)現(xiàn)了自動(dòng)模擬人工操作進(jìn)行不同場(chǎng)景、不同預(yù)設(shè)測(cè)試數(shù)據(jù)下不同模式的頁面流暢度測(cè)試,能夠自動(dòng)精確記錄智能終端設(shè)備的屏幕上所顯示頁面在測(cè)試期間的總繪制幀數(shù)和掉幀數(shù),高度自動(dòng)化,能夠批量進(jìn)行頁面的測(cè)試,可以有效提高測(cè)試的效率和精確度。