CN111104295A - 一种页面加载过程的测试方法及设备 - Google Patents
一种页面加载过程的测试方法及设备 Download PDFInfo
- Publication number
- CN111104295A CN111104295A CN201911102634.7A CN201911102634A CN111104295A CN 111104295 A CN111104295 A CN 111104295A CN 201911102634 A CN201911102634 A CN 201911102634A CN 111104295 A CN111104295 A CN 111104295A
- Authority
- CN
- China
- Prior art keywords
- image frame
- loading
- page
- test
- loading process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种页面加载过程的测试方法及设备,涉及测试技术领域,能够通过测试页面加载过程中页面的可见完成度表征应用启动等页面加载过程的表现,表征设备的性能以及用户使用体验。方案为:测试设备根据预设周期接收第一加载设备发送的第一图像数据和第二加载设备发送的第二图像数据;根据第一图像数据和第二数据分别计算第一加载设备和第二加载设备的页面加载过程的第一性能参数和第二性能参数,第一性能参数和第二性能参数包括用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,用户体验指标根据可见完成度生成;将第一性能参数和第二性能参数发送给显示设备,以显示页面加载过程的测试结果。本申请实施例用于页面加载测试。
Description
技术领域
本申请实施例涉及测试技术领域,尤其涉及一种页面加载过程的测试方法及设备。
背景技术
随着电子技术的发展,用户在手机、平板电脑等电子设备上使用的应用越来越来越多。应用在不同电子设备上的表现也越来越受到用户的关注。
应用在电子设备上启动时会加载页面,页面加载过程的表现可以用于衡量电子设备的性能。而现有技术无法有效地表征页面加载过程中的表现,从而也无法通过页面加载过程来有效地衡量电子设备的性能。
发明内容
本申请实施例提供一种页面加载过程的测试方法及设备,通过测试页面加载过程中页面的可见完成度来表征应用启动等页面加载过程的表现,表征电子设备的性能以及用户使用体验。
为达到上述目的,本申请实施例采用如下技术方案:
一方面,本申请实施例提供了一种页面加载过程的测试方法,包括:测试设备根据预设周期接收第一加载设备发送的第一图像数据和第二加载设备发送的第二图像数据。其中,第一图像数据为第一加载设备在页面加载过程中加载的图像帧的图像数据;第二图像数据为第二加载设备在页面加载过程中加载的图像帧的图像数据。测试设备根据第一图像数据计算第一加载设备的页面加载过程的第一性能参数,根据第二图像数据计算第二加载设备的页面加载过程的第二性能参数。第一性能参数和第二性能参数包括用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,用户体验指标根据可见完成度生成。其中,可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。测试设备将第一性能参数和第二性能参数发送给显示设备。第一性能参数和第二性能参数用于显示设备显示页面加载过程的测试结果。
在该方案中,测试设备可以根据加载设备发送的页面加载过程中的图像帧对应的图像数据,计算页面加载过程对应的性能参数,以便根据性能参数为用户呈现页面加载过程的测试结果。其中,该性能参数包括页面加载过程中图像帧的可见完成度,或者该性能参数根据可见完成度计算获得。其中,可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。因而,该方案通过与可见完成度相关的性能参数,能够更好地表征加载设备在应用启动过程中页面加载的连续性、平滑性或渐变性,表征页面加载过程的表现以及给用户的使用体验等。
在一种可能的设计中,第一性能参数和第二性能参数还包括页面加载过程对应的页面加载时长。
在该方案中,结合用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,以及页面加载过程对应的页面加载时长,可以更好地表征页面加载过的表现、性能以及给用户的使用体验等。
在另一种可能的设计中,在测试设备根据预设周期接收第一加载设备发送的第一图像数据和第二加载设备发送的第二图像数据之前,该方法还包括:测试设备向第一加载设备和第二加载设备发送第一指令,第一指令用于指示第一加载设备和第二加载设备加载页面。
在该方案中,测试设备可以同时指示第一加载设备和第二加载设备加载页面,以尽量使得第一加载设备和第二加载设备同时开始加载页面,提高对比测试的准确度。
在另一种可能的设计中,第一性能参数包括可见完成度。测试设备根据第一图像数据计算第一加载设备的页面加载过程的第一性能参数,包括:测试设备根据第一图像数据,确定第一加载设备的页面加载过程的起始图像帧。测试设备根据第一图像数据,确定第一加载设备的页面加载过程的截止图像帧。测试设备计算起始图像帧到截止图像帧之间的每个参考图像帧的可见完成度。
在该方案中,测试设备可以根据页面加载过程的起始图像帧和截止图像帧,计算页面加载过程中每个图像帧的可见完成度。
在另一种可能的设计中,第一性能参数包括用户体验指标。测试设备根据第一图像数据计算第一加载设备的页面加载过程的第一性能参数,还包括:测试设备根据可见完成度计算用户体验指标。其中,UE Index表示用户体验指标,VC表示参考图像帧的完成度,T表示页面加载过程对应的页面加载时长,T为起始图像帧到截止图像帧之间对应的时长。
也就是说,用户体验指标根据可见完成度计算获得。
在另一种可能的设计中,测试设备根据第一图像数据,确定第一加载设备的页面加载过程的截止图像帧,包括:测试设备根据第一图像数据恢复多个图像帧。测试设备确定多个图像帧中的最后一个图像帧为s1,多个图像帧中的倒数第二个图像帧为s2。若测试设备确定s1和s2的像素的像素值一致,则测试设备将s1更新为相邻的前一个图像帧,将s2更新为相邻的前一个图像帧。若测试设备确定s1和s2的像素的像素值不一致,则测试设备确定s1为截止图像帧。
这样,在页面加载完成后的图像帧显示的是静态图像的情况下,测试设备可以确定显示内容不再发生变化的第一个图像帧为截止图像帧。
在另一种可能的设计中,待加载页面包括动态区域和非动态区域;测试设备根据第一图像数据,确定第一加载设备的页面加载过程的截止图像帧,包括:测试设备根据第一图像数据恢复多个图像帧。测试设备根据多个图像帧和非动态区域,确定第一目标图像帧。测试设备根据多个图像帧和动态区域,确定第二目标图像帧。其中,第一目标图像帧和第二目标图像帧中,加载时间靠后的图像帧即为截止图像帧。
也就是说,在页面加载完成后的图像帧显示的是动态图像的情况下,测试设备可以确定根据第一目标图像和第二目标图像确定截止图像帧。
在另一种可能的设计中,测试设备根据第一图像数据和非动态区域,确定第一目标图像帧,包括:测试设备确定多个图像帧中的最后一个图像帧为s1,多个图像帧中的倒数第二个图像帧为s2。若测试设备确定s1和s2在非动态区域内的像素的像素值一致,则测试设备将s1更新为相邻的前一个图像帧,将s2更新为相邻的前一个图像帧。若测试设备确定s1和s2在非动态区域内的像素的像素值不一致,则测试设备确定s1为第一目标图像帧。
也就是说,测试设备可以确定非动态区域的显示内容不再发生变化的第一个图像帧为非动态区域加载完成对应的第一目标图像帧。
在另一种可能的设计中,测试设备根据第一图像数据和动态区域,确定第二目标图像帧,包括:测试设备设置起始图像帧为t1,起始图像帧之后相邻的第一个图像帧为t2,起始图像帧之后的第二个图像帧为t3。测试设备计算t1和t2在动态区域内像素不一致的区域为domain1,t2和t3在动态区域内像素不一致的区域为domain2,t1和t3在动态区域内像素不一致的区域为domain3。若测试设备确定满足条件1,则测试设备将t1更新为相邻的后一个图像帧,将t2更新为相邻的后一个图像帧,将t3更新为相邻的后一个图像帧;条件1包括domain1为空或domain1==动态区域。若测试设备确定不满足条件1,且满足条件2,则测试设备可以将t3更新为相邻的后一个图像帧;条件2包括domain2为空。若测试设备确定不满足条件1,不满足条件2,且不满足条件3,则测试设备确定t2为第二目标图像帧;条件3包括domain3等于domain1与domain2的并集。若测试设备确定不满足条件1,不满足条件2,满足条件3,且不满足条件4,则测试设备确定t2为第二目标图像帧;条件4包括domain1与domain2的交集为空。若测试设备确定不满足条件1,不满足条件2,满足条件3,且满足条件4,则测试设备将t1更新为相邻的后一个图像帧,将t2更新为相邻的后一个图像帧,将t3更新为相邻的后一个图像帧。
在该方案中,测试设备可以通过多个条件确定动态区域加载完成对应的第二目标图像帧。
在另一种可能的设计中,起始图像帧上每个像素的完成度ej为0,起始图像帧的可见完成度为0;截止图像帧上每个像素的完成度ej为1,截止图像帧的可见完成度为1;截止图像帧上的像素的像素值相对于起始图像帧像素的像素值变化了M次。测试设备计算起始图像帧到截止图像帧之间的每个参考图像帧的可见完成度,包括:测试设备计算每个参考图像帧上每个像素的完成度ej。其中,对于参考图像帧上的第一像素,若第一像素在参考图像帧上的像素值与第一像素在参考图像帧相邻的前一个图像帧上的像素值不同,则参考图像帧上第一像素的ej值增加1/M。测试设备根据每个参考图像帧上每个像素的完成度ej,计算每个参考图像帧的可见完成度;其中,VC表示可见完成度,N表示参考图像帧上像素的数量。
在该方案中,测试设备可以根据像素的可见完成度计算图像帧的可见完成度。
在另一种可能的设计中,第一指令用于指示第一加载设备和第二加载设备启动第一应用。或者,第一指令用于指示第一加载设备和第二加载设备打开网页。
也就是说,第一加载设备和第二加载设备可以启动应用以加载页面,也可以打开网页以加载页面。
在另一种可能的设计中,显示设备为第一加载设备或第二加载设备。
也就是说,第一加载设备或第二加载设备可以显示测试结果,该测试结果可以包括两个加载设备对应的性能参数等信息。
另一方面,本申请实施例提供了一种页面加载过程的测试方法,包括:加载设备检测到第一指令。响应于第一指令,加载设备加载页面。加载设备根据预设周期显示页面加载过程中加载的图像帧。加载设备根据预设周期将图像帧的图像数据发送给测试设备,图像数据用于测试设备计算页面加载过程的性能参数,性能参数包括用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,用户体验指标根据可见完成度生成;其中,可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。
在该方案中,加载设备可以将页面加载过程中加载的图像帧对应的图像数据发送给测试设备,以便测试设备计算页面加载过程对应的性能参数,从而根据性能参数为用户呈现页面加载过程的测试结果。其中,该性能参数包括页面加载过程中图像帧的可见完成度,或者该性能参数根据可见完成度计算获得。其中,可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。因而,通过与可见完成度相关的性能参数,能够更好地表征加载设备在应用启动过程中页面加载的连续性、平滑性或渐变性,表征页面加载过程的表现以及给用户的使用体验等。
在一种可能的设计中,第一指令用于指示加载设备启动第一应用。或者,第一指令用于指示加载设备打开网页。
在该方案中,加载设备可以根据检测到的指令同时启动应用或同时打开网页。
在另一种可能的设计中,加载设备检测到第一指令,包括:加载设备接收到测试设备发送的第一指令;或者,加载设备检测到用户触发的第一指令;或者,加载设备检测到用于指示到达预设时刻的第一指令。
在该方案中,加载设备可以根据测试设备的指令、用户的指令或者自身的控制指令进行页面加载。
在另一种可能的设计中,在加载设备显示页面加载过程中加载的图像帧之前,该方法还包括:加载设备将页面加载过程中加载的图像帧的图像数据保存在缓存中。加载设备根据预设周期将图像帧的图像数据发送给测试设备,包括:加载设备根据预设周期将缓存中保存的图像帧的图像数据发送给测试设备。
在该方案中,加载设备可以将图像帧的图像数据保存在缓存中,从而通过调用系统接口,将缓存中的图像数据方便、快速地传送给测试设备。
在另一种可能的设计中,在加载设备根据预设周期将图像帧的图像数据发送给测试设备之后,该方法还包括:加载设备接收测试设备发送的加载设备的第一性能参数和另一加载设备的第二性能参数。加载设备显示测试结果,测试结果用于展示第一性能参数和第二性能参数。
也就是说,加载设备可以显示多个加载设备的页面加载过程的对比测试结果。
在另一种可能的设计中,测试结果为面积图形式。
可以理解的是,面积图形式的测试结果能够更为直观地表示可见完成度、页面加载过程的连续性、平滑性或渐变性等。
另一方面,本申请实施例提供了一种测试系统,包括:测试设备、加载设备和显示设备。测试设备、加载设备和显示设备可以用于执行上述任一方面任一种可能的设计中的页面加载过程的测试方法。
另一方面,本申请实施例提供了一种页面加载过程的测试方法,包括:加载设备检测到第一指令。响应于第一指令,加载设备加载页面。加载设备根据预设周期显示页面加载过程中加载的多个图像帧。加载设备保存多个图像帧。加载设备根据多个图像帧计算页面加载过程的性能参数,性能参数包括用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,用户体验指标根据可见完成度生成;其中,可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。加载设备显示测试结果,测试结果用于展示性能参数。
在该方案中,加载设备可以根据加载设备发送的页面加载过程中的图像帧,计算页面加载过程对应的性能参数,从而根据性能参数为用户呈现页面加载过程的测试结果。其中,该性能参数包括页面加载过程中图像帧的可见完成度,或者该性能参数根据可见完成度计算获得。其中,可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。因而,加载设备通过与可见完成度相关的性能参数,能够更好地表征加载设备在应用启动过程中页面加载的连续性、平滑性或渐变性,表征页面加载过程的表现以及给用户的使用体验等。
在一种可能的设计中,性能参数还包括页面加载过程对应的页面加载时长。
在该方案中,加载设备结合用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,以及页面加载过程对应的页面加载时长,可以更好地表征页面加载过的表现、性能以及给用户的使用体验等。
在另一种可能的设计中,性能参数包括可见完成度,加载设备根据多个图像帧计算页面加载过程的性能参数,包括:加载设备根据多个图像帧,确定加载设备的页面加载过程的起始图像帧。加载设备根据多个图像帧,确定加载设备的页面加载过程的截止图像帧。加载设备计算起始图像帧到截止图像帧之间的每个参考图像帧的可见完成度。
在该方案中,加载设备可以根据页面加载过程的起始图像帧和截止图像帧,计算页面加载过程中每个图像帧的可见完成度。
在另一种可能的设计中,性能参数包括用户体验指标,加载设备根据多个图像帧计算页面加载过程的性能参数,还包括:加载设备根据可见完成度计算用户体验指标。其中,UE Index表示用户体验指标,VC表示参考图像帧的完成度,T表示页面加载过程对应的页面加载时长,T为起始图像帧和截止图像帧之间对应的时长。
也就是说,用户体验指标根据可见完成度计算获得。
在另一种可能的设计中,加载设备根据多个图像帧,确定加载设备的页面加载过程的截止图像帧,包括:加载设备确定多个图像帧中的最后一个图像帧为s1,多个图像帧中的倒数第二个图像帧为s2。若加载设备确定s1和s2的像素的像素值一致,则加载设备将s1更新为相邻的前一个图像帧,将s2更新为相邻的前一个图像帧。若加载设备确定s1和s2的像素的像素值不一致,则加载设备确定s1为截止图像帧。
这样,在页面加载完成后的图像帧显示的是静态图像的情况下,加载设备可以确定显示内容不再发生变化的第一个图像帧为截止图像帧。
在另一种可能的设计中,待加载页面包括动态区域和非动态区域;加载设备根据多个图像帧,确定加载设备的页面加载过程的截止图像帧,包括:加载设备根据多个图像帧和非动态区域,确定第一目标图像帧。加载设备根据多个图像帧和动态区域,确定第二目标图像帧。其中,第一目标图像帧和第二目标图像帧中,加载时间靠后的图像帧即为截止图像帧。
也就是说,在页面加载完成后的图像帧显示的是动态图像的情况下,加载设备可以确定根据第一目标图像和第二目标图像确定截止图像帧。
在另一种可能的设计中,加载设备根据多个图像帧和非动态区域,确定第一目标图像帧,包括:加载设备确定图像帧中的最后一个图像帧为s1,多个图像帧中的倒数第二个图像帧为s2。若加载设备确定s1和s2在非动态区域内的像素的像素值一致,则加载设备将s1更新为相邻的前一个图像帧,将s2更新为相邻的前一个图像帧。若加载设备确定s1和s2在非动态区域内的像素的像素值不一致,则加载设备确定s1为第一目标图像帧。
也就是说,加载设备可以确定非动态区域的显示内容不再发生变化的第一个图像帧为非动态区域加载完成对应的第一目标图像帧。
在另一种可能的设计中,加载设备根据多个图像帧和动态区域,确定第二目标图像帧,包括:加载设备设置起始图像帧为t1,起始图像帧之后相邻的第一个图像帧为t2,起始图像帧之后的第二个图像帧为t3。加载设备计算t1和t2在动态区域内像素不一致的区域为domain1,t2和t3在动态区域内像素不一致的区域为domain2,t1和t3在动态区域内像素不一致的区域为domain3。若加载设备确定满足条件1,则加载设备将t1更新为相邻的后一个图像帧,将t2更新为相邻的后一个图像帧,将t3更新为相邻的后一个图像帧;条件1包括domain1为空或domain1==动态区域。若加载设备确定不满足条件1,且满足条件2,则加载设备可以将t3更新为相邻的后一个图像帧;条件2包括domain2为空。若加载设备确定不满足条件1,不满足条件2,且不满足条件3,则加载设备确定t2为第二目标图像帧;条件3包括domain3等于domain1与domain2的并集。若加载设备确定不满足条件1,不满足条件2,满足条件3,且不满足条件4,则加载设备确定t2为第二目标图像帧;条件4包括domain1与domain2的交集为空。若加载设备确定不满足条件1,不满足条件2,满足条件3,且满足条件4,则加载设备将t1更新为相邻的后一个图像帧,将t2更新为相邻的后一个图像帧,将t3更新为相邻的后一个图像帧。
在该方案中,加载设备可以通过多个条件确定动态区域加载完成对应的第二目标图像帧。
在另一种可能的设计中,起始图像帧上每个像素的完成度ej为0,起始图像帧的可见完成度为0;截止图像帧上每个像素的完成度ej为1,截止图像帧的可见完成度为1;截止图像帧上像素的像素值相对于起始图像帧上像素的像素值变化了M次。加载设备计算起始图像帧到截止图像帧之间的每个参考图像帧的可见完成度,包括:加载设备计算每个参考图像帧上每个像素的完成度ej。其中,对于参考图像帧上的第一像素,若第一像素在参考图像帧上的像素值与第一像素在参考图像帧相邻的前一个图像帧上的像素值不同,则参考图像帧上第一像素的ej值增加1/M。加载设备根据每个参考图像帧上每个像素的完成度ej,计算每个参考图像帧的可见完成度;其中,VC表示可见完成度,N表示参考图像帧上像素的数量。
在该方案中,加载设备可以根据像素的可见完成度计算图像帧的可见完成度。
在另一种可能的设计中,第一指令用于指示加载设备启动第一应用;或者,第一指令用于指示加载设备打开网页。
也就是说,加载设备可以启动应用以加载页面,也可以打开网页以加载页面。
在另一种可能的设计中,加载设备检测到第一指令,包括:加载设备检测到用户触发的第一指令;或者,加载设备检测到用于指示到达预设时刻的第一指令。
在该方案中,加载设备可以根据用户的指令或自身的控制指令进行页面加载。
在另一种可能的设计中,在加载设备显示页面加载过程中加载的图像帧之前,该方法还包括:加载设备将页面加载过程中加载的图像帧的图像数据保存在缓存中。加载设备保存多个图像帧,包括:加载设备根据预设周期将缓存中保存的图像帧的图像数据保存至内存。
在该方案中,加载设备可以将图像帧的图像数据保存在缓存中,并将缓存中的图像数据提取到内存中,以便加载设备用于支持该测试方法的程序可以根据该内存中的图像数据,计算页面加载过程的性能参数,从而根据性能参数显示测试结果。
又一方面,本申请实施例提供了一种测试装置,该装置包含在测试设备或加载设备中。该装置具有实现上述方面及可能的设计中任一方法中电子设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。
另一方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;以及存储器,存储器中存储有代码。当代码被电子设备执行时,使得电子设备执行上述任一方面或任一种可能的设计中测试设备执行的测试方法;或者执行上述任一方面或任一种可能的设计中加载设备执行的测试方法。
另一方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面或任一种可能的设计中测试设备执行的测试方法;或者执行上述任一方面或任一种可能的设计中加载设备执行的测试方法。
另一方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行使得电子设备执行上述任一方面或任一种可能的设计中测试设备执行的测试方法;或者执行上述任一方面或任一种可能的设计中加载设备执行的测试方法。
另一方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备。该芯片系统包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,使得电子设备执行上述任一方面或任一种可能的设计中测试设备执行的测试方法;或者执行上述任一方面或任一种可能的设计中加载设备执行的测试方法。
上述其他方面对应的有益效果,可以参见关于方法方面的有益效果的描述,此处不予赘述。
附图说明
图1为本申请实施例提供的一种测试系统的示意图;
图2为本申请实施例提供的一种加载设备的结构示意图;
图3为本申请实施例提供的一种计算机系统的结构示意图;
图4为本申请实施例提供的一种页面加载过程的测试方法流程图;
图5为本申请实施例提供的页面加载过程中的一组图像帧的示意图;
图6为本申请实施例提供的一种图像帧的恢复时序图;
图7为本申请实施例提供的一种计算可见完成度的方法流程图;
图8为本申请实施例提供的一种确定截止图像帧的方法流程图;
图9为本申请实施例提供的一种确定目标图像帧的方法流程图;
图10为本申请实施例提供的页面加载过程中的另一组图像帧的示意图;
图11为本申请实施例提供的一组图像帧的动态区域的示意图;
图12为本申请实施例提供的另一组图像帧的动态区域的示意图;
图13为本申请实施例提供的另一组图像帧的动态区域的示意图;
图14为本申请实施例提供的一种测试结果示意图;
图15为本申请实施例提供的另一种页面加载过程的测试方法流程图;
图16为本申请实施例提供的另一种页面加载过程的测试方法流程图;
图17为本申请实施例提供的另一种页面加载过程的测试方法流程图;
图18为本申请实施例提供的页面加载过程中的另一组图像帧的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
可以理解的是,在应用启动或打开网页等场景下的页面加载过程中,若加载的页面内容逐步显示,则页面加载的连续性、平滑性或渐变性较好,页面加载过程的表现较好,用户体验较好;若在前一段时间内页面一直是空白的,直至最后一刻整个页面突然完全显示,则页面加载的连续性、平滑性或渐变性较差,页面加载过程的表现较差,用户体验不够友好。
本申请实施例提供了一种页面加载过程的测试方法,可以通过页面加载过程中图像帧的可见完成度,来表征页面加载的连续性、平滑性或渐变性,表征加载过程的表现及给用户的体验等。页面加载的连续性、平滑性或渐变性越好,加载过程的表现越好,给用户的体验也就越好。
其中,图像帧的可见完成度用于表示与加载完成后图像帧的渲染情况相比,页面加载过程中的图像帧当前完成的渲染进度;即,用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。
当不同加载设备上执行同一页面加载过程(例如启动同一应用时执行的页面加载过程)时,若加载设备页面加载过程的连续性、平滑性或渐变性越好,则页面加载过程的表现越好,给用户的体验越好,加载设备的性能也越好。
本申请实施例提供的页面加载过程的测试方法,可以应用于如图1所示的测试系统01。图1所示的测试系统01可以包括多个加载设备10、测试设备20和显示设备30。加载设备10与测试设备20之间可以通过有线方式或无线方式进行通信连接;测试设备20与显示设备30之间可以通过有线方式或无线方式进行通信连接。例如,该有线方式可以包括通用串行总线(universal serial bus,USB)数据线连接或线缆连接等;该无线方式可以包括Wi-Fi连接、蓝牙连接、近场通信(near field communication,NFC)连接或2G/3G/4G/5G移动网络连接等。可以理解的是,加载设备10与测试设备20之间,或者测试设备与显示设备30之间,若在同一个局域网内,或者网络路由可连通,则均可以进行通信连接。
举例来说,加载设备10可以是具有显示功能的手机、平板电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴电子设备或智能手表等类型的设备。测试设备20可以是服务器(例如windows服务器或linux服务器等)、台式计算机、平板电脑、桌面型电脑、笔记本电脑、手机或上网本等类型的设备。显示设备30可以是具有显示功能的计算机、平板电脑或显示器等类型的设备。可以理解的是,加载设备10、测试设备20以及显示设备30还可以是其他类型的设备,本申请实施例对加载设备10、测试设备20以及显示设备30的设备类型不予限定。
其中,显示设备30可以是独立的设备,也可以集成在测试设备20或加载设备10上,本申请实施例不予限定。加载设备10和测试设备20可以是独立的设备,也可以是同一设备,本申请实施例不予限定。
示例性的,加载设备10可以是手机,测试设备20可以是服务器,显示设备30可以是计算机。手机与服务器之间通过USB数据线连接,计算机与服务器之间通过线缆连接。再示例性的,加载设备10包括多个手机,显示设备30为其中一个加载设备10,测试设备20为服务器,手机与服务器之间通过USB数据线连接。再示例性的,加载设备10、测试设备20和显示设备30均为同一部手机。
以加载设备10和测试设备20分别为独立的设备,测试设备20和显示设备30分别为独立的设备为例进行说明。加载设备10包括屏幕,加载设备10用于在应用启动或打开网页等场景下加载页面,并按照预设的周期1通过屏幕显示加载过程中加载和渲染的图像帧。加载设备10在显示加载过程中加载和渲染的图像帧之前,可以将图像帧的图像数据保存在图像数据缓存中(例如,图像数据缓存中保存有二进制形式的图像数据)。加载设备10还可以将图像数据缓存中保存的加载过程中加载和渲染的图像帧的图像数据,按照预设的周期1发送给测试设备20。这样,测试设备20可以获得页面加载过程中加载、渲染和显示的多个图像帧。
测试设备20可以根据从每个加载设备10接收的加载过程中加载和渲染的图像帧的图像数据,计算每个图像帧的可见完成度、页面加载时长以及用户体验指标等性能参数。其中,可见完成度用于表示与加载完成后图像帧的渲染情况相比,页面加载过程中的该图像帧当前完成的渲染进度;即,用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。
测试设备20可以将多个加载设备10的性能参数发送给显示设备30。显示设备30根据该性能参数显示多个加载设备10的测试结果,该测试结果用于展示多个加载设备的性能参数。
例如,在应用启动过程中,显示设备30呈现的页面加载过程中的性能参数中的每个图像帧的可见完成度,可以表征加载设备10在应用启动过程中页面加载的连续性、平滑性或渐变性,表征页面加载过程的表现以及给用户的使用体验等。若应用启动过程中页面加载过程的连续性、平滑性或渐变性越好,则应用启动的表现越好,给用户的启动体验也越好。
当同一应用在不同加载设备上启动时,若某个加载设备在启动应用的过程中的页面加载的连续性、平滑性或渐变性越好,则应用启动的表现越好,给用户的启动体验越好,该加载设备的性能也越好。
示例性的,图2示出了加载设备10的一种结构示意图。加载设备10可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是加载设备10的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现加载设备10的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。I2S接口和PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现加载设备10的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现加载设备10的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为加载设备10充电,也可以用于加载设备10与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对加载设备10的结构限定。在本申请另一些实施例中,加载设备10也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过加载设备10的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
加载设备10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。加载设备10中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在加载设备10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在加载设备10上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,加载设备10的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得加载设备10可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
移动通信模块150、无线通信模块160、USB接口等可以用于将应用启动或打开网页时页面加载过程中加载和渲染的图像帧的图像数据,发送给测试设备20,以便测试设备20计算页面加载过程的性能参数。
加载设备10通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。例如,GPU可以用于渲染应用启动或打开网页时页面加载过程中的图像帧。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,加载设备10可以包括1个或N个显示屏194,N为大于1的正整数。例如,显示屏194可以用于显示应用启动或打开网页时页面加载过程中加载和渲染的图像帧。
加载设备10可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,加载设备10可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当加载设备10在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。加载设备10可以支持一种或多种视频编解码器。这样,加载设备10可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现加载设备10的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展加载设备10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行加载设备10的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储加载设备10使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
例如,内部存储器121可以用于保存页面加载过程中加载和渲染的图像帧的图像数据。在一些实施例中,处理器110通过运行存储在内部存储器121的指令,可以按照预设的周期将图像帧的图像数据发送给测试设备20,以便测试设备20计算页面加载过程的性能参数。或者,处理器110通过运行存储在内部存储器121的指令,可以根据保存的图像帧的图像数据,计算页面加载过程的性能参数,并将性能参数通过测试结果展示给用户。
加载设备10可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。加载设备10可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当加载设备10接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。加载设备10可以设置至少一个麦克风170C。在另一些实施例中,加载设备10可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,加载设备10还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。例如,麦克风170C可以用于检测用户指示启动应用或打开网页的语音指令。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。加载设备10根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,加载设备10根据压力传感器180A检测触摸操作强度。加载设备10也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定加载设备10的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定加载设备10围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测加载设备10抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消加载设备10的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,加载设备10通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。加载设备10可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当加载设备10是翻盖机时,加载设备10可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测加载设备10在各个方向上(一般为三轴)加速度的大小。当加载设备10静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。加载设备10可以通过红外或激光测量距离。在一些实施例中,拍摄场景,加载设备10可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。加载设备10通过发光二极管向外发射红外光。加载设备10使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定加载设备10附近有物体。当检测到不充分的反射光时,加载设备10可以确定加载设备10附近没有物体。加载设备10可以利用接近光传感器180G检测用户手持加载设备10贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。加载设备10可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测加载设备10是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。加载设备10可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,加载设备10利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,加载设备10执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,加载设备10对电池142加热,以避免低温导致加载设备10异常关机。在其他一些实施例中,当温度低于又一阈值时,加载设备10对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于加载设备10的表面,与显示屏194所处的位置不同。例如,触摸传感器180K可以用于检测用户指示启动应用或打开网页的语音指令。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。加载设备10可以接收按键输入,产生与加载设备10的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和加载设备10的接触和分离。加载设备10可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。加载设备10通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,加载设备10采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在加载设备10中,不能和加载设备10分离。
可以理解的是,本申请实施例示意的结构并不构成对加载设备10的具体限定。在本申请另一些实施例中,加载设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在本申请的实施例中,加载设备10可以在启动应用或打开网页等场景下加载页面,处理器110通过运行存储在内部存储器121的指令,可以按照预设的周期将图像帧的图像数据发送给测试设备20,以便测试设备20计算页面加载过程的性能参数。或者,处理器110通过运行存储在内部存储器121的指令,可以根据保存的图像帧的图像数据,计算页面加载过程的性能参数,并将性能参数通过测试结果展示给用户,从而方便用户获知页面加载过程的性能。
示例性的,图1中的测试设备20可以通过图3所示的计算机系统300来实现。计算机系统300包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
处理器301可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-onlymemory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以控制计算机系统300实现本申请下述实施例提供的图像处理方法。可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在本申请的实施例中,通信接口304可以用于根据预设的周期从一个或多个加载设备10接收页面加载过程中加载和渲染的图像帧的图像数据。存储器303可以用于存储该图像数据。处理器301可以用于根据该图像数据恢复页面加载过程中的图像帧,并根据该图像帧计算页面加载过程的性能参数。通信接口304还可以用于将性能参数发送给显示设备30,以便于显示设备通过测试结果将性能参数呈现给用户,从而方便用户获知页面加载过程的性能,并对比不同加载设备10之间的性能。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1,每个CPU可以支持多个虚拟CPU,虚拟CPU又称VCPU。
在具体实现中,作为一种实施例,计算机系统300可以包括多个处理器,例如图3中的处理器301和处理器307。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机系统300还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机系统300可以是一个通用通信设备或者是一个专用通信设备。本申请实施例不限定计算机系统300的类型。在具体实现中,计算机系统300可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图3中类似结构的设备。计算机系统300中的各个部件可以同时部署在同一个计算机设备中,也可以部署在位于分布式系统中的不同计算机设备中。
以下将结合图1所示的测试系统,以测试系统包括多个加载设备,且加载设备为手机,测试设备为服务器,显示设备为计算机,页面加载过程为应用1启动时的页面加载过程为例,对本申请实施例提供的页面加载过程的测试方法进行阐述。参见图4,该方法可以包括:
401、服务器向手机1和手机2发送指令1,指令1用于指示手机1和手机2启动应用1。
服务器与手机1之间,以及服务器与手机2之间均建立有通信连接。例如,服务器通过USB总线与手机1和手机2连接。服务器可以通过USB总线向手机1和手机2发送指令1,以指示手机1和手机2启动应用1。
需要说明的是,在其他一些实施例中,服务器可以不向手机1和手机2发送指令1,手机1和手机2可以通过控制自行启动应用1。
402、手机1和手机2接收到指令1后启动应用1,并加载应用1的启动页面。
手机1和手机2接收到指令1后,开始执行应用1的启动流程,开始加载应用1的启动页面(例如可以是应用1的首页)。
403、手机1和手机2根据预设的周期1显示加载过程中加载的图像帧。
此处主要以手机1为例进行说明,手机2侧的功能或操作与手机1类似,本申请实施例将不予赘述。
在应用1启动时,由于启动需要从本地或远端加载资源,例如图片、视频或代码文件等,因而启动过程需要一定的时间,启动时的页面加载过程也需要一定的时间。在页面加载过程中,手机1在一段时间内从显示空白页面变化到完全显示页面内容,而不是检测到指示启动的指令后立即完全显示页面内容。在加载过程完成后,完全显示内容后的页面可以称为目标页面。
在其他一些实施例中,也可以通过其他方式确定锚点或打点来作为目标页面。目标页面也可以是其他需要进行加载过程测试的页面,本申请实施例对目标页面不予限定。
在一些实施例中,在页面加载过程中,手机1加载和渲染的页面可以先为空白页面,而后页面整体变为某种颜色(例如灰色),之后再按照一定的顺序(例如从左到右,且从上到下的顺序)一部分一部分地加载和渲染页面内容。
在页面加载过程中,手机1可以根据预设的周期1进行加载和图形渲染从而得到多个图像帧,并按照预设的周期1将得到的当前图像帧显示在屏幕上。也就是说,手机1在页面加载过程中显示的页面,包括空白页面到完全显示内容的页面之间的多个图像帧,处于空白和完全显示之间多种不同的状态。例如,某一图像帧渲染并显示了目标页面左上角的内容,另一图像帧渲染并显示了目标页面上半部分的内容。示例性的,应用1为智慧生活应用,应用1在启动过程中生成并显示的图像帧序列可以参见图5中的(a)-(i)。
需要说明的是,手机屏幕上显示的界面除了包括应用加载的页面以外,还可以包括一些其他信息。例如,手机屏幕上显示的界面还可以包括手机操作系统支持的顶部的状态栏或底部的导航栏等信息。可以理解的是,本申请实施例涉及的页面加载过程中的页面,指的是应用1加载和渲染的页面,不包括状态栏或导航栏等其他信息。页面加载过程中的空白页面并不是说手机1显示的整个界面都是空白的,而是应用1加载的页面是空白的。例如,参见图5中的(c),应用1加载的页面是空白页面,但手机显示的界面上包括时间、信号强度、无线网络状态及电量等相关信息。在一些实施例中,手机可以在指定的区域加载应用1的页面,例如该区域可以为图5中的(c)所示的区域501。
404、手机1和手机2将图像帧的图像数据发送给服务器。
以手机1将图像帧的图像数据发送给服务器为例进行说明。手机1加载和渲染每个图像帧后,可以将图像帧的图像数据暂存到图像数据缓存中。例如,图像数据缓存中保存有二进制形式的图像数据。手机1根据预设的周期1从图像数据缓存中获取图像数据,并根据图像数据在屏幕上显示每个图像帧。
在本申请的实施例中,手机1通过调用系统接口,可以按照预设的周期1将图像数据缓存中的图像数据发送给服务器,以便服务器根据图像数据恢复加载过程中渲染和加载的图像帧,并计算加载过程中的性能参数,从而对页面加载过程进行测试分析。
其中,周期1可以较小,以使得手机1可以将页面加载过程中的多个图像帧的图像数据,实时地发送给服务器,以便服务器进行测试分析。
405、服务器根据手机1和手机2发送的图像数据,恢复应用1页面加载过程中加载和显示的多个图像帧。
以服务器恢复应用1在手机1的启动过程中的图像帧为例进行说明。可以理解的是,图像数据缓存中仅保存待显示的当前图像帧的图像数据,并不能保存整个页面加载过程中的图像帧的图像数据。手机根据周期1将每个待显示的图像帧的图像数据发送给服务器,可以使得服务器将手机在加载过程中显示的多个图像帧保存并恢复出来,以便根据恢复的图像帧对手机1的页面加载过程进行测试分析。例如,服务器可以调用系统接口,获取图像帧数据并恢复成图像帧。例如,图像数据可以为二进制数据格式,服务器恢复的图像帧具有png或jpg等图像格式。
示例性的,周期1为16ms,服务器根据手机1发送的图像数据,恢复应用1在启动过程中的图像帧的时序图可以参见图6。可以理解的是,服务器根据图像数据恢复的多个图像帧,与手机1加载和显示的多个图像帧的先后顺序一致。与图像帧2相比,若恢复的图像帧1在前,则手机1加载和显示的图像帧1的时间也靠前;若恢复的图像帧1在后,则手机1加载和显示的图像帧1的时间也靠后。
406、服务器根据恢复的多个图像帧,计算手机1和手机2的页面加载过程中的性能参数,该性能参数包括页面加载过程中每个图像帧的可见完成度。
以服务器计算手机1的页面加载过程中的性能参数为例进行说明。在一些实施例中,手机1可以在接收到指令1后,按照周期1将预设数量的图像帧发送给服务器。在另一些实施例中,手机1可以在接收到指令1后,按照周期1将预设时长内的图像帧发送给服务器。为保证应用1启动过程中的图像帧能够被服务器全部恢复,预设数量和预设时长可以较大,例如周期1为16ms,预设数量可以为100,或者预设时长可以为3s。
在其他一些实施例中,由于页面加载过程中的页面内容是逐渐增加的,若服务器恢复的最后几个图像帧中,白色像素的数量仍大于或者等于预设值1,或者白色像素所在的区域仍大于或者等于预设值2,则可以表明加载过程中多个图像帧的大部分区域是空白的。该种情况可能是由于网络原因或应用1的代码逻辑错误等原因导致的加载过程过慢,不能准确地表征页面加载过程和电子设备的性能,因此本次测试过程无效,可以取消本次测试过程。例如,服务器可以向手机1或显示设备发送报错信息,手机1或显示设备可以提示用户当前测试过程无效。
其中,参见图7,上述步骤406具体可以包括以下步骤406a-步骤406c:
406a、服务器从恢复的多个图像帧中确定起始图像帧。
服务器恢复的图像帧中可能包括页面加载过程以外的图像帧,例如加载过程开始之前的图像帧或加载过程完成之后的图像帧等。而服务器需要根据页面加载过程中加载和渲染的图像帧,对页面加载过程进行测试分析,因而服务器可以先确定图像帧中的起始图像帧和截止图像帧,起始图像帧到截止图像帧之间的图像帧即为实际页面加载过程中加载和渲染的图像帧。
其中,起始图像帧是根据预设策略确定的,用于标识页面加载过程的开始。例如,预设策略规定的起始图像帧为空白页面对应的图像帧。示例性的,起始图像帧可以为图5中的(c)所示的图像帧。
再例如,指令1用于指示检测到用户点击了应用1的图标。响应于指令1,手机1显示的页面上的应用1的图标会变暗。服务器可以确定变暗后的图标所在的图像帧为起始图像帧。示例性的,起始图像帧可以为图5中的(b)所示的图像帧。
又例如,手机通过浏览器搜索到应用1,应用1对应有“打开”控件。指令1用于指示检测到用户点击了应用1对应的“打开”控件。响应于指令1,手机1显示的页面上的应用1的“打开”控件会变暗。服务器可以确定变暗后的控件所在的图像帧为起始图像帧。
再例如,指令1用于指示检测到应用2调用应用1。响应于指令1,手机1显示的页面由应用2的页面逐渐被应用1的页面覆盖(例如从上到下或者从有到左逐渐被覆盖)。由于应用1启动加载时的初始页面是空白页面,因而当手机显示的界面上出现应用1的部分空白页面时,可以表明应用2的页面开始被应用1的页面覆盖了,该图像帧为起始图像帧。
406b、服务器从恢复的多个图像帧中确定截止图像帧。
启动过程中页面加载完成后的目标页面可以包括两种情况。一种情况下,应用1启动完成后的目标页面是静态页面,不包括动态图;启动完成后页面的内容通常不发生变化,或者在较长的时间段内不会发生变化。
可以理解的是,在用户与手机1进行交互时,页面会响应于用户的交互操作而发生变化;而在测试分析场景下,用户通常不会与手机1进行交互,因而启动完成后的页面的内容一般不会发生变化。
另一种情况下,应用1启动完成后的目标页面为动态页面,包括动态图,即启动完成后的目标页面的部分内容是持续变化的。
以下分别针对两种不同的情况来说明确定截止图像帧的方法和流程。
(1)、情况1:应用1启动完成后的目标页面是静态页面。
若启动完成后的目标页面是静态的,则启动完成后的页面内容是不变的。因而,针对整个页面区域,服务器可以将最后的一个图像帧与相邻的上一张图像帧进行对比,以确定整个页面区域内像素的像素值是否一致,并依次前移进行下一轮对比,直到第一次出现某个图像帧与该图像帧的前一个图像帧的页面区域内像素的像素值不一样,则该图像帧即为截止图像帧。
例如,参见图8所示的流程,该过程可以包括:
801、服务器从恢复的多个图像帧中的最后一个图像帧开始选取相邻两个图像帧,设置恢复的多个图像帧中最后一个图像帧为s1,最后一个图像帧之前的图像帧(即恢复的多个图像帧中的倒数第二个图像帧)为s2。
示例性的,s1为图5中的(i)所示的图像帧,s2为图5中的(h)所示的图像帧。
802、服务器确定s1和s2的像素的像素值是否一致;若一致,则服务器执行步骤803;若不一致,则服务器执行步骤804。
803、服务器将s1更新为原来的s2,将s2更新为原来的s2相邻的前一个图像帧,而后执行步骤802。
示例性的,在s1为图5中的(i)所示的图像帧,s2为图5中的(h)所示的图像帧的情况下,若服务确定s1和s2整个区域范围内的像素的像素值一致,则可以将s1更新为图5中的(h)所示的图像帧,将s2更新为图5中的(g)所示的图像帧,而后再执行步骤802。
804、服务器确定当前的s1为目标图像帧s1,目标图像帧s1即为截止图像帧。
示例性的,当s1为图5中的(h)所示的图像帧,s2为图5中的(g)所示的图像帧时,服务器确定s1和s2整个区域范围内的像素的像素值不一致,s1之后的图像帧与s1的像素的像素值一致,即s1之后的图像帧表示的页面内容不再变化,因而可以确定s1为截止图像帧。
(2)、情况2:应用1启动完成后的目标页面是动态页面。
通常,应用开发之后页面布局的变动概率很小,即若启动完成后的目标页面包括动态图,则动态图所在的区域和位置一般是固定的。目标页面可以包括内容不发生变化的非动态区域,以及内容动态变化的动态区域。即,应用1的待加载页面包括非动态区域和动态区域。
在一些实施例中,采用相关工具软件可以预先根据应用1的启动过程获取目标页面的动态区域范围和非动态区域范围。服务器可以获取动态区域范围和非动态区域范围。例如,测试人员可以相关工具软件获取的动态区域范围和非动态区域范围设置到服务器上。
示例性的,应用1为花粉俱乐部应用。在手机启动花粉俱乐部应用的场景下,服务器针对启动花粉俱乐部应用的过程中恢复的图像帧序列可以参见图10中的(a)-(l)。例如,起始图像帧为图10中的(b)所示的图像帧,动态区域为图10中的(i)所示的区域1001,非动态区域可以为区域1001以外的区域,例如非动态区域可以为区域1002。
其中,针对非动态区域,服务器可以采用图8所示的方式确定目标图像帧s1。不同之处在于,服务器不再确定s1和s2整个区域范围内的像素的像素值是否一致,而是确定s1和s2在非动态区域内的像素的像素值是否一致,此处不予赘述。示例性的,目标图像帧s1可以为图10中的(i)所示的图像帧。
针对动态区域,服务器可以采用图9所示的流程确定目标图像帧t2。
901、服务器设置起始图像帧为t1,起始图像帧之后的第一个图像帧为t2,起始图像帧之后的第二个图像帧为t3。
示例性的,t1可以为图10中的(b)所示的起始图像帧,t2为图10中的(c)所示的图像帧,t3为图10中的(d)所示的图像帧。
902、服务器确定t1和t2的动态区域内像素不一致的区域为domain1,t2和t3的动态区域内像素不一致的区域为domain2,t1和t3的动态区域内像素不一致的区域为domain3。
903、服务器确定是否满足条件1,该条件1包括区域domain1为空或domain1==动态区域。若满足,则服务器执行步骤904;若不满足,则服务器执行步骤905。
904、服务器更新t1=t2,t2=t3,t3=t3+1。而后,服务器执行步骤902。
在页面加载过程中,手机1和手机2显示的页面可以先为空白页面(例如图10中的(c)所示的图像帧),而后整体变为某种颜色的(例如灰色)页面(例如图10中的(e)所示的图像帧),之后再按照预设的周期和预设的顺序(例如从左到右,从上到下的顺序)一块一块地渲染页面内容。因而,若区域domain1为空,则可以说明在刚开始进入页面加载过程后,页面内容可能还未开始变化(比如t1为图10中的(c)所示的图像帧,t2为图10中的(d)所示的图像帧);若domain1==动态区域,则可以表明在刚开始进入页面加载过程后,动态区域未发生变化;页面可能还未开始变化,或者页面整体发生了变化(比如t1为图10中的(d)所示的图像帧,t2为图10中的(e)所示的图像帧)。
因此,若满足条件1,则服务器确定页面尚未加载完成,因而将t1、t2和t3分别更新为原图像帧的下一个图像帧,从而重新执行步骤902,以继续对比后续的图像帧。举例来说,若更新前的t1为图10中的(c)所示的图像帧,t2为图10中的(d)所示的图像帧,t3为图10中的(e)所示的图像帧;则更新后的t1为图10中的(d)所示的图像帧,t2为图10中的(e)所示的图像帧,t3为图10中的(f)所示的图像帧。
905、服务器确定是否满足条件2,该条件2包括区域domain2为空。若满足,则服务器执行步骤906;若不满足,则服务器执行步骤907。
若不满足条件1,则服务器可以进一步确定区域domain2是否为空。
906、服务器保持t1、t2不变,更新t3=t3+1。
若domain2为空,则服务器可以确定t2和t3相同,从而可以不再对比t3,而可以将t3更新为原图像帧的后一个图像帧后继续进行对比。举例来说,若更新前的t3为图10中的(f)所示的图像帧,则更新后的t3为图10中的(g)所示的图像帧。
在步骤906之后,在一些实施例中,服务器执行步骤902;在另一些实施例中,服务器执行步骤902中计算t2和t3的像素不一致区域为domain2,并计算t1和t3的像素不一致区域为domain3,而后执行步骤905。
907、服务器确定是否满足条件3,该条件3包括区域domain3等于domain1与domain2的并集。若满足,则服务器执行步骤908;若不满足,则服务器执行步骤909。
若不满足条件1和条件2,则服务器可以确定t1和t2不同,且t2和t3不同。而后,服务器可以进一步确定区域domain3等于domain1与domain2的并集。
若服务器确定t1和t2不同,t2和t3不同,且区域domain3不等于domain1与domain2的并集,则可以表明当前t2对应的动态区域的待显示内容已加载完成,且t3对应的动态区域的显示内容已发生了变化,当前t2为目标图像帧t2。
示例性的,t1为图11中的(a)所示的动态区域的待显示内容未加载完成的图像帧,横线填充部分为已加载显示内容的部分。t2为图11中的(b)所示的动态区域的待显示内容已加载完成的图像帧,横线填充部分为已加载显示内容的部分。t3为图11中的(c)所示的动态区域的待显示内容已加载完成,且动态区域中的部分显示内容已发生改变的图像帧,竖线填充部分为显示内容已变化的部分,t3所示的空白部分表示与t1未加载显示内容的空白区域中的一部分相一致。domain1为图11中的(d)所示的圆点填充区域,domain2为图11中的(d)所示的圆点填充区域,domain3为图11中的(f)所示的圆点填充区域。对比图11中的(d)-(f)可知,domain3不等于domain1与domain2的并集。该种情况下,服务器可以确定图11中的(b)所示的图像帧为目标图像帧t2。
908、服务器确定是否满足条件4,条件4包括区域domain1与domain2的交集为空。若满足,则服务器执行步骤904;若不满足,则服务器执行步骤909。
若服务器确定t1和t2不同,t2和t3不同,且区域domain3等于domain1与domain2的并集,则可能页面加载过程和渲染过程尚未完成,或者页面加载过程和渲染过程可能刚好完成,还需要进一步确定domain1与domain2的交集是否为空。
若domain1与domain2的交集为空,则可以表明页面加载过程和渲染过程尚未完成,因而可以回到步骤904,继续对比后续的图像帧。示例性的,t1为图12中的(a)所示的动态区域未加载完成的图像帧;t2为图12中的(b)所示的动态区域未加载完成的图像帧;t3为图12中的(c)所示的动态区域未加载完成的图像帧;其中,横线填充部分为已加载显示内容的部分。domain1为图12中的(d)所示的圆点填充区域,domain2为图12中的(d)所示的圆点填充区域,domain3为图12中的(f)所示的圆点填充区域。对比图12中的(d)-(f)可知,区域domain3等于domain1与domain2的并集,且domain1与domain2的交集为空,服务器可以执行步骤904。
再示例性的,t1为图13中的(a)所示的动态区域未加载完成的图像帧;t2为图13中的(b)所示的动态区域未加载完成的图像帧;t3为图13中的(c)所示的动态区域刚好加载完成的图像帧;其中,横线填充部分为已加载显示内容的部分。domain1为图13中的(d)所示的圆点填充区域,domain2为图13中的(d)所示的圆点填充区域,domain3为图13中的(f)所示的圆点填充区域。对比图13中的(d)-(f)可知,区域domain3等于domain1与domain2的并集,且domain1与domain2的交集为空,服务器可以执行步骤904。
若domain1与domain2的交集不为空,则页面加载过程和渲染过程可能刚好完成,服务器确定找到了目标图像帧t2,因而可以执行步骤909。示例性的,若t1为图10中的(i)所示的图像帧,t2为图10中的(j)所示的图像帧,t3为图10中的(k)所示的图像帧;则区域domain3等于domain1与domain2的并集,且domain1与domain2的交集不为空,因而图10中的(j)所示的图像帧为目标图像帧t2。
909、服务器确定当前t2即为目标图像帧t2。
服务器在确定目标图像帧s1和目标图像帧t2后,确定目标图像帧s1和目标图像帧t2中加载时间靠后的图像帧即为截止图像帧。其中,加载靠后是指手机侧在页面加载过程中加载目标图像帧的时间靠后。
在上述步骤406a和步骤406b之后,步骤406还可以包括步骤406c:
406c、服务器计算起始图像帧到截止图像帧之间每个图像帧的可见完成度。
其中,图像帧的可见完成度用于表示与加载完成后图像帧的渲染情况相比,页面加载过程中的图像帧当前完成的内容加载进度或渲染完成进度,因而也可以称为图像帧的渲染完成度。也就是说,图像帧的可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。
起始图像帧到截止图像帧之间的图像帧可以称为参考图像帧。页面加载过程中的每个图像帧的可见完成度,具体可以是起始图像帧到截止图像帧之间的每个参考图像帧的可见完成度。
以下对计算参考图像帧的可见完成度的方法进行说明。起始图像帧的每个像素对应的完成度ej值为0,截止图像帧上的每个像素对应的ej值为1。针对参考图像帧上的每个像素,若截止图像帧上像素的像素值相对于起始图像帧上同一像素的像素值变化了M次,则该像素对应的步数为M。例如,像素的像素值可以包括R、G和B三种分量,每种分量的取值范围可以分别为0~255,像素值发生变化包括任意一种分量发生了变化。
若当前参考图像帧上某个像素的像素值相对于前一个参考图像帧上同一像素的像素值发生了变化,则该参考图像帧上该像素的ej值相对于前一个参考图像帧上同一像素的ej值增加1/M。若当前参考图像帧上某个像素的像素值相对于前一个参考图像帧上的同一像素的像素值未发生变化,则该参考图像帧上该像素的ej值相对于前一个参考图像帧上同一像素的ej值也不发生变化。即,像素的ej值为0到1之间的数值,可以用于表示相对于截止图像帧上同一像素呈现给用户的可见状态,当前参考图像帧上的同一像素在页面加载过程中呈现给用户的可见完成进度。
每个参考图像帧对应的可见完成度VC为当前参考图像帧上像素的完成度ej值的平均值,即N为参考图像帧包括的像素数量。即,参考图像帧的可见完成度可以用于表示,相对于截止图像帧呈现给用户的可见状态,当前参考图像帧在整个页面加载过程中呈现给用户的可见完成进度;即,页面加载过程中加载的当前参考图像帧相对于页面加载完成后的截止图像帧的内容加载进度。其中,起始图像帧到截止图像帧之间的每个参考图像帧的VC值为0到1之间的数值,且起始图像帧的VC值为0,截止图像帧的VC值为1。
若VC值越大,则可以表明当前参考图像帧的可见完成度越大。对于多个参考图像帧对应的VC值的趋势,若多个相邻参考图像帧的VC值连续、多次发生变化或变化较大,则可以表明页面加载过程连续性、平滑性或渐变性较好,页面加载过程的表现较好,用户的体验较好。若相邻参考图像帧的VC值未发生变化或基本未发生变化,则可以表明页面加载过程连续性、平滑性或渐变性较差,页面加载过程的表现较差,用户的体验较差。
在一些实施例中,在上述步骤406中,性能参数可以包括页面加载过程中每个图像帧的可见完成度和/或用户体验指标(user experience index,UE Index或UEI)。其中,0~end表示页面加载过程的时间长度,end表示页面加载过程的截止时间。例如,end的大小可以为页面加载时长T,具体可以是起始图像帧到截止图像帧之间对应的时长。示例性的,页面加载时长可以为起始图像帧到截止图像帧之间的图像帧的数量与周期1的乘积。在应用启动场景下,页面加载时长也可以称为应用启动时间。
用户体验指标可以用于表示整个页面加载过程的连续性、平滑性或渐变性。用户体验指标的值越小,可以表明页面加载过程连续性、平滑性或渐变性越好,页面加载过程的表现越好,用户的体验越好。用户体验指标的值越大,可以表明页面加载过程连续性、平滑性或渐变性越差,页面加载过程的表现越差,用户的体验越差。
407、服务器将手机1和手机2的页面加载过程对应的性能参数发送给计算机。
服务器可以通过与计算机之间的通信连接,将手机1和手机2对应的页面加载过程中的性能参数,发送给计算机。
408、计算机根据服务器发送的手机1和手机2对应的性能参数显示测试结果,该测试结果用于呈现手机1和手机2对应的性能参数。
计算机包括屏幕,计算机可以在屏幕上显示测试结果,以将手机1和手机2的页面加载过程对应的性能参数呈现给用户,从而方便用户获知页面加载情况,以及对比不同手机的性能等。
该测试结果可以通过多种形式呈现给用户,以方便用户对比不同手机的页面加载过程的性能,从而对比不同手机的性能。例如,测试结果可以通过面积图、图表、曲线图或直方图的形式进行显示。示例性的,面积图形式的测试结果可以参见图14。该测试结果包括手机1和手机2对应的每个图像帧的可见完成度。在图14所示的测试结果中,横轴表示时间,纵轴表示图像帧的可见完成度。相邻图像帧之间VC的差值越大,曲线图的斜率越大,相邻图像帧之间渲染进度的差别越大。图像帧之间的VC变化越频繁,则页面加载过程连续性、平滑性或渐变性越好,页面加载过程的表现越好,用户的体验也越好。面积图形式的测试结果可以直观地为用户呈现页面加载过程中每个图像帧的内容加载进度和渲染完成进度。
再例如,测试结果可以采用表格的形式呈现给用户。示例性的,测试结果可以参见表1,该次测试结果包括手机1和手机2对应的每个图像帧的可见完成度。
表1
可以理解的是,测试结果还可以为其他形式,本申请实施例对测试结果的具体呈现形式不予限定。
在其他一些实施例中,计算机在通过测试结果为用户呈现用户体验指标的情况下,还可以将用户体验指标这一参数所指示的意义提示给用户。例如,用户体验指标用于指示页面加载过程连续性、平滑性、渐变性和页面加载性能。若用户体验指标较小,则计算机可以提示用户页面加载过程连续性、平滑性或渐变性较好,页面加载过程的表现较好;若用户体验指标较大,则计算机可以提示用户页面加载过程连续性、平滑性或渐变性较差,页面加载过程的表现较差。
在另一些实施例中,测试结果还可以包括页面加载过程中的图像帧,即起始图像帧到截止图像帧之间的图像帧,以便从视觉上直观地给用户呈现页面加载过程中页面加载过程连续性、平滑性或渐变性等情况。
在步骤401-步骤408描述的方案中,服务器可以根据从手机获取的图像数据,恢复手机在页面加载过程中加载和渲染的图像帧,从而根据该图像帧计算图像帧的可见完成度和用户体验指标等性能参数。计算机可以根据从服务器获取的性能参数,显示不同手机的页面加载过程中的测试结果。测试结果可以为用户呈现图像帧的可见完成度和用户体验指标等性能参数,从而可以方便用户对比不同手机对应的可见完成度和用户体验指标等性能参数,获知不同手机页面加载的连续性、平滑性或渐变性,获知页面加载过程的表现,以及不同手机的性能。
在另一些实施例中,服务器也可以根据性能参数生成测试结果,例如生成表格形式的测试结果,并将表格形式的测试结果的数据信息发送给计算机。计算机根据测试结果的数据信息直接在屏幕上显示表格形式的测试结果。
在其他一些实施例中,性能参数还可以包括应用1启动过程中的页面加载时间,即应用1的启动时间。页面加载时间可以为起始图像帧到截止图像帧之间的时长,例如可以为截止图像帧与起始图像帧之间的图像帧的数量与周期1的乘积。
现有技术通常采用启动时间来表征应用启动时页面加载过程的性能,表征应用在不同加载设备上的启动性能以及不同加载设备的性能。例如,一种现有技术采用高速摄像头录制应用启动过程,测试人员根据视频帧的数量计算出应用的启动时间。另一种现有技术通过打点日志的方式将应用启动时间上传到日志服务器,测试人员对启动时间进行统计和分析。而仅通过应用启动时间并不能很好地衡量应用的启动性能,更无法表征应用启动过程给予用户的启动体验,从而也不能很好地衡量和对比加载设备的性能。
例如,同一应用在加载设备1上的启动时间略大于在加载设备2上的启动时间。在加载设备1上,在应用的启动过程中,加载的页面从空白到逐步显示部分内容再到完全显示整个页面的内容。在加载设备2上,在应用的启动过程中,在前面一段时间页面一直是空白的,直至最后一刻突然完全显示整个页面的内容。虽然加载设备1的应用启动时间稍短,但启动时的页面加载过程给用户的体验不够友好。
本申请实施例结合可见完成度和用户体验指标等参数,来表征的页面加载过程的连续性、平滑性、渐变性以及启动时间等特性,来衡量启动过程中的页面加载性能,手机的性能,以及页面加载过程给予用户的使用体验。
其中,若手机1的启动时间小于手机2的启动时间,且手机1的页面加载过程的连续性、平滑性或渐变性较好,则手机1对应的页面加载过程给用户的使用体验更好,手机1对应的页面加载性能更好,手机1的性能更好。
若手机1的启动时间略大于手机2的启动时间(例如差值小于预设值3),且手机1的页面加载过程的连续性、平滑性或渐变性较好,则手机1对应的页面加载过程给用户的使用体验更好,手机1对应的页面加载性能更好,手机1的性能更好。
若手机1的启动时间大于手机2的启动时间(例如差值小于预设值3),且手机1的页面加载过程的连续性、平滑性或渐变性较差,则手机1对应的页面加载过程给用户的使用体验较差,手机1对应的页面加载性能较差,手机1的性能较差。
并且,现有技术获取启动时间的方式需要用户手动进行数帧或人工统计或分析等操作,本申请实施例提供的方法可以自动获取启动时间、可见完成度或用户体验指标等性能参数,而不需要测试人员手动进行数帧或人工统计或分析等操作,不受高速摄像头等硬件设备的限制。此外,与高数摄像头获取图像帧相比,本申请实施例通过调用系统接口从图像数据缓存中获取图像数据的方式更为快速、方便和高效。
另外,现有通过打点日志测试启动时间的方式,定制化需求大,每个手机厂商都得针对每种应用去增加这种可维护性需求,可操作性较差。本申请实施例以上描述的通用测试方法可以用于针对各种应用进行测试,不受系统版本定制化的限制,易于实施和操作。
在一些实施例中,在手机1和手机2与服务器连接后,服务器可以将支持本申请实施例提供的页面加载过程的测试方法的程序推送(push)给手机,手机保存并运行该程序,从而执行本申请实施例提供的页面加载过程的测试方法。
在另一些实施例中,手机1和手机2上获取有支持本申请实施例提供的页面加载过程的测试方法的应用程序App。手机1和手机2通过运行该App,可以执行本申请实施例提供的页面加载过程的测试方法。
在以上实施例描述的方案中,服务器通过向多个手机同时发送指令1,来同时触发应用1在不同手机上同时启动。同时触发不同手机上的应用1启动,可以保证页面加载过程中的网络或环境等条件的一致性,排除网络或环境等因素对页面加载过程的干扰。因而,测试结果更能反映不同手机的真实性能,测试效果更好,测试结果也更为准确。
在另一些实施例中,服务器可以不向多个手机同时发送指令1。不同手机可以在预设的同一时刻(例如上午09:30)到达后,同时启动应用1。
在其他一些实施例中,应用1在不同手机上可以不同时启动。例如,多个测试人员可以分别触发应用1在不同手机上启动;或者,同一测试人员可以依次触发不同手机上的应用1启动。由于这些情况下应用1在不同手机上的启动时间相差较小,网络或环境等其他因素的差异也较小,因而测试效果较好,测试结果也较为准确。
在一些实施例中,测试系统可以针对手机首次启动应用时的页面加载过程进行测试,以排除非首次启动时其他因素对页面加载过程的影响,从而可以使得测试结果更为准确,使得不同手机性能之间的对比更为有效。
在以上实施例描述的方案中,测试结果是在计算机上显示的,在另一些实施例中,服务器可以将性能参数发送给每一部手机,或者发送给任意一部手机,或者发送给指定的一部手机,从而在手机端为用户呈现测试结果。在另一些实施例中,服务器连接有屏幕,服务器可以根据性能参数在所连接的屏幕上直接显示测试结果。
在其他一些实施例中,测试系统中的测试设备和显示设备,可以与加载设备为同一设备。页面加载过程的测试方法的整个过程可以在加载设备侧执行。
以加载设备为手机为例进行说明。页面加载过程的测试方法的整个过程可以在手机侧执行。手机可以获取支持页面加载过程的测试方法的程序包或应用程序App。手机运行该程序包或应用程序App时,可以执行页面加载过程的测试方法。
在一些实施例中,手机1和手机2之间可以建立有有线通信连接或无线通信连接。手机1和手机2执行的页面加载过程的测试方法可以参见图15。如图15所示,上述步骤401可以替换为步骤401a:手机1和手机2检测到指令2。例如,手机1和手机2检测到预设的时刻到达的指令,或者检测到用户触发的指令。上述步骤404可以替换为步骤404a:手机1和手机2将图像帧的图像数据保存至预设位置,例如可以是支持页面加载过程的测试方法的应用程序的内存中。上述步骤405可以替换为步骤405a:手机1和手机2根据保存的图像数据恢复应用1启动过程中的图像帧。手机1和手机2执行上述步骤406,即手机1和手机2根据恢复的图像帧计算手机1和手机2的页面加载过程中的性能参数。上述步骤407可以替换为步骤407a:手机1或手机2通过上述通信连接将页面加载过程中的性能参数,发送给其中指定的一部手机(例如手机2)。指定的手机执行上述步骤408,即指定的手机根据手机1和手机2对应的性能参数显示测试结果,以便用户对比不同手机的页面加载过程的加载效果。其中,该性能参数可以包括上述可见完成度和/或用户体验指标。该性能参数还可以包括页面加载时长。
在另一些实施例中,手机1和手机2执行的页面加载过程的测试方法可以参见图16,与图15所示的流程相比,上述步骤404a可以替换为步骤404b:手机1和手机2将图像帧保存至预设位置,例如可以是支持页面加载过程的测试方法的应用程序的内存中。手机1和手机2可以不执行步骤405a。在步骤406中,手机1和手机2根据保存的图像帧计算手机1和手机2的页面加载过程中的性能参数。也就是说,手机1和手机2直接保存页面加载过程中的图像帧,并根据图像帧计算页面加载过程的性能参数,而不用再根据图像数据恢复图像帧。
在又一些实施例中,上述步骤407可以替换为,手机1通过上述通信连接将页面加载过程中的性能参数发送给手机2;手机2通过上述通信连接将页面加载过程中的性能参数发送给手机1。手机1和手机2均执行上述步骤408。
在另一些实施例中,手机1与手机2之间可以不建立通信连接,每部手机可以各自测试页面加载过程,计算页面加载过程的性能参数,并显示测试结果。以手机1为例进行说明。参见图17,手机1可以不执行上述步骤407a,手机1自身可以执行上述步骤408,即根据手机1的页面加载过程的性能参数显示测试结果,以便用户可以根据测试结果记录并自行对比不同手机页面加载过程的性能。其中,在图16和图17所示流程中,页面加载过程的性能参数可以包括上述可见完成度和/或用户体验指标。该性能参数还可以包括页面加载时长。
在其他一些实施例中,本申请实施例提供的页面加载过程的测试方法,可以不用于对比不同手机之间的页面加载的性能,而用于测试并为用户呈现某个应用启动时的页面加载过程的性能。该种情况下,手机1与手机2之间可以不建立通信连接,每部手机可以各自测试页面加载过程,计算页面加载过程的性能参数,并显示测试结果。
在其他一些实施例中,本申请实施例提供的页面加载过程的测试方法,可以用于对比不同版本的同一应用在同一手机上启动时的页面加载过程的性能。该种情况下,手机可以记录不同版本的同一应用启动时的页面加载过程对应的测试结果,并同时显示不同版本的同一应用启动时的页面加载过程对应的测试结果,从而将对比结果直观地呈现给用户。
在其他一些实施例中,本申请实施例提供的页面加载过程的测试方法,可以用于对比不同应用在同一手机上启动时的页面加载过程的性能。该种情况下,手机可以记录不同应用启动时的页面加载过程对应的测试结果,并同时显示不同应用启动时的页面加载过程对应的测试结果,从而将对比结果直观地呈现给用户。
以上是以应用启动为例进行说明的,还可以应用于其他场景下的页面加载过程,例如打开网页时的页面加载过程。由于打开网页时需要从本地或远端加载资源,例如图片、视频或代码文件等,因而打开网页需要一定的时间,打开网页时的页面加载过程也需要一定的时间。打开网页场景下的页面加载过程的测试方法与应用启动场景下页面加载过程的测试方法类似,本申请实施例不予赘述。示例性的,针对打开华为官网网页场景下的页面加载过程,恢复的图像帧序列可以参见图18中的(a)-(i)。需要说明的是,手机屏幕上显示的界面除了包括打开网址时加载的页面以外,还可以包括顶部的状态栏或底部的导航栏等其他信息。可以理解的是,本申请实施例涉及的打开网页时页面加载过程中的页面,指的是网页加载的页面,包括状态栏或导航栏等其他信息。
本申请实施例还提供一种电子设备,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述相关方法步骤实现上述实施例中的页面加载过程的测试方法。
本申请的实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的页面加载过程的测试方法。
本申请的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子设备执行的天线增益调整方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中电子设备执行的页面加载过程的测试方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (23)
1.一种页面加载过程的测试方法,其特征在于,包括:
测试设备根据预设周期接收第一加载设备发送的第一图像数据和第二加载设备发送的第二图像数据;所述第一图像数据为所述第一加载设备在页面加载过程中加载的图像帧的图像数据;所述第二图像数据为所述第二加载设备在页面加载过程中加载的图像帧的图像数据;
所述测试设备根据所述第一图像数据计算所述第一加载设备的页面加载过程的第一性能参数,根据所述第二图像数据计算所述第二加载设备的页面加载过程的第二性能参数;所述第一性能参数和所述第二性能参数包括用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,所述用户体验指标根据所述可见完成度生成;其中,所述可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度;
所述测试设备将所述第一性能参数和所述第二性能参数发送给显示设备,所述第一性能参数和所述第二性能参数用于所述显示设备显示页面加载过程的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述第一性能参数和所述第二性能参数还包括页面加载过程对应的页面加载时长。
3.根据权利要求1或2所述的方法,其特征在于,在所述测试设备根据预设周期接收第一加载设备发送的第一图像数据和第二加载设备发送的第二图像数据之前,所述方法还包括:
所述测试设备向所述第一加载设备和所述第二加载设备发送第一指令,所述第一指令用于指示所述第一加载设备和所述第二加载设备加载页面。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一性能参数包括所述可见完成度,所述测试设备根据所述第一图像数据计算所述第一加载设备的页面加载过程的第一性能参数,包括:
所述测试设备根据所述第一图像数据,确定所述第一加载设备的页面加载过程的起始图像帧;
所述测试设备根据所述第一图像数据,确定所述第一加载设备的页面加载过程的截止图像帧;
所述测试设备计算所述起始图像帧到所述截止图像帧之间的每个参考图像帧的可见完成度。
6.根据权利要求4或5所述的方法,其特征在于,所述测试设备根据所述第一图像数据,确定所述第一加载设备的页面加载过程的截止图像帧,包括:
所述测试设备根据所述第一图像数据恢复多个图像帧;
所述测试设备确定所述多个图像帧中的最后一个图像帧为s1,所述多个图像帧中的倒数第二个图像帧为s2;
若所述测试设备确定所述s1和所述s2的像素的像素值一致,则所述测试设备将所述s1更新为相邻的前一个图像帧,将所述s2更新为相邻的前一个图像帧;
若所述测试设备确定所述s1和所述s2的像素的像素值不一致,则所述测试设备确定所述s1为所述截止图像帧。
7.根据权利要求4或5所述的方法,其特征在于,待加载页面包括动态区域和非动态区域;所述测试设备根据所述第一图像数据,确定所述第一加载设备的页面加载过程的截止图像帧,包括:
所述测试设备根据所述第一图像数据恢复多个图像帧;
所述测试设备根据所述多个图像帧和所述非动态区域,确定第一目标图像帧;
所述测试设备根据所述多个图像帧和所述动态区域,确定第二目标图像帧;
其中,所述第一目标图像帧和所述第二目标图像帧中,加载时间靠后的图像帧即为所述截止图像帧。
8.根据权利要求7所述的方法,其特征在于,所述测试设备根据所述第一图像数据和所述非动态区域,确定第一目标图像帧,包括:
所述测试设备确定所述多个图像帧中的最后一个图像帧为s1,所述多个图像帧中的倒数第二个图像帧为s2;
若所述测试设备确定所述s1和所述s2在所述非动态区域内的像素的像素值一致,则所述测试设备将所述s1更新为相邻的前一个图像帧,将所述s2更新为相邻的前一个图像帧;
若所述测试设备确定所述s1和所述s2在所述非动态区域内的像素的像素值不一致,则所述测试设备确定所述s1为所述第一目标图像帧。
9.根据权利要求7或8所述的方法,其特征在于,所述测试设备根据所述第一图像数据和所述动态区域,确定第二目标图像帧,包括:
所述测试设备设置所述起始图像帧为t1,所述起始图像帧之后相邻的第一个图像帧为t2,所述起始图像帧之后的第二个图像帧为t3;
所述测试设备计算所述t1和所述t2在所述动态区域内像素不一致的区域为domain1,所述t2和所述t3在所述动态区域内像素不一致的区域为domain2,所述t1和所述t3在所述动态区域内像素不一致的区域为domain3;
若所述测试设备确定满足条件1,则所述测试设备将所述t1更新为相邻的后一个图像帧,将所述t2更新为相邻的后一个图像帧,将所述t3更新为相邻的后一个图像帧;所述条件1包括所述domain1为空或所述domain1==所述动态区域;
若所述测试设备确定不满足所述条件1,且满足条件2,则所述测试设备可以将所述t3更新为相邻的后一个图像帧;所述条件2包括所述domain2为空;
若所述测试设备确定不满足所述条件1,不满足所述条件2,且不满足条件3,则所述测试设备确定所述t2为所述第二目标图像帧;所述条件3包括所述domain3等于所述domain1与所述domain2的并集;
若所述测试设备确定不满足所述条件1,不满足所述条件2,满足所述条件3,且不满足条件4,则所述测试设备确定所述t2为所述第二目标图像帧;所述条件4包括所述domain1与所述domain2的交集为空;
若所述测试设备确定不满足所述条件1,不满足所述条件2,满足所述条件3,且满足所述条件4,则所述测试设备将所述t1更新为相邻的后一个图像帧,将所述t2更新为相邻的后一个图像帧,将所述t3更新为相邻的后一个图像帧。
10.根据权利要求4-9任一项所述的方法,其特征在于,所述起始图像帧上每个像素的完成度ej为0,所述起始图像帧的可见完成度为0;所述截止图像帧上每个像素的完成度ej为1,所述截止图像帧的可见完成度为1;所述截止图像帧上的像素的像素值相对于所述起始图像帧所述像素的像素值变化了M次;
所述测试设备计算所述起始图像帧到所述截止图像帧之间的每个参考图像帧的可见完成度,包括:
所述测试设备计算每个参考图像帧上每个像素的完成度ej;
其中,对于所述参考图像帧上的第一像素,若所述第一像素在所述参考图像帧上的像素值与所述第一像素在所述参考图像帧相邻的前一个图像帧上的像素值不同,则所述参考图像帧上所述第一像素的ej值增加1/M;
11.根据权利要求3所述的方法,其特征在于,所述第一指令用于指示所述第一加载设备和所述第二加载设备启动第一应用;
或者,所述第一指令用于指示所述第一加载设备和所述第二加载设备打开网页。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述显示设备为所述第一加载设备或所述第二加载设备。
13.一种页面加载过程的测试方法,其特征在于,包括:
加载设备检测到第一指令;
响应于所述第一指令,所述加载设备加载页面;
所述加载设备根据预设周期显示页面加载过程中加载的图像帧;
所述加载设备根据所述预设周期将所述图像帧的图像数据发送给测试设备,所述图像数据用于所述测试设备计算页面加载过程的性能参数,所述性能参数包括用户体验指标和/或页面加载过程中的每个图像帧的可见完成度,所述用户体验指标根据所述可见完成度生成;其中,所述可见完成度用于表示页面加载过程中加载的图像帧相对于页面加载完成后的图像帧的内容加载进度。
14.根据权利要求13所述的方法,其特征在于,所述第一指令用于指示所述加载设备启动第一应用;
或者,所述第一指令用于指示所述加载设备打开网页。
15.根据权利要求13或14所述的方法,其特征在于,所述加载设备检测到第一指令,包括:
所述加载设备接收到所述测试设备发送的所述第一指令;
或者,所述加载设备检测到用户触发的所述第一指令;
或者,所述加载设备检测到用于指示到达预设时刻的所述第一指令。
16.根据权利要求13-15任一项所述的方法,其特征在于,在所述加载设备显示页面加载过程中加载的图像帧之前,所述方法还包括:
所述加载设备将页面加载过程中加载的图像帧的图像数据保存在缓存中;
所述加载设备根据预设周期将所述图像帧的图像数据发送给测试设备,包括:
所述加载设备根据预设周期将所述缓存中保存的所述图像帧的图像数据发送给所述测试设备。
17.根据权利要求13-16任一项所述的方法,其特征在于,在所述加载设备根据预设周期将所述图像帧的图像数据发送给测试设备之后,所述方法还包括:
所述加载设备接收所述测试设备发送的所述加载设备的第一性能参数和另一加载设备的第二性能参数;
所述加载设备显示测试结果,所述测试结果用于展示所述第一性能参数和所述第二性能参数。
18.根据权利要求17所述的方法,其特征在于,所述测试结果为面积图形式。
19.一种测试系统,其特征在于,包括:测试设备、加载设备和显示设备;
其中,所述测试设备用于执行如权利要求1-12任一项所述的页面加载过程的测试方法;
所述加载设备用于执行如权利要求13-16任一项所述的页面加载过程的测试方法;
所述显示设备用于根据从所述测试设备接收的第一性能参数和第二性能参数显示测试结果。
20.一种测试系统,其特征在于,包括:测试设备和加载设备;
其中,所述测试设备用于执行如权利要求1-12任一项所述的页面加载过程的测试方法;
所述加载设备用于执行如权利要求13-18任一项所述的页面加载过程的测试方法。
21.一种电子设备,其特征在于,包括:一个或多个处理器;以及存储器,所述存储器中存储有代码;
当所述代码被所述电子设备执行时,使得所述电子设备执行如权利要求1-12任一项所述的页面加载过程的测试方法;或者,使得所述电子设备执行如权利要求13-18任一项所述的页面加载过程的测试方法。
22.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-12任一项所述的页面加载过程的测试方法,或执行如权利要求13-18任一项所述的页面加载过程的测试方法。
23.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-12任一项所述的页面加载过程的测试方法,或执行如权利要求13-18任一项所述的页面加载过程的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911102634.7A CN111104295A (zh) | 2019-11-12 | 2019-11-12 | 一种页面加载过程的测试方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911102634.7A CN111104295A (zh) | 2019-11-12 | 2019-11-12 | 一种页面加载过程的测试方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104295A true CN111104295A (zh) | 2020-05-05 |
Family
ID=70421501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911102634.7A Withdrawn CN111104295A (zh) | 2019-11-12 | 2019-11-12 | 一种页面加载过程的测试方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104295A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153375A (zh) * | 2020-09-25 | 2020-12-29 | 平安国际智慧城市科技股份有限公司 | 基于视频信息的前端性能测试方法、装置、设备及介质 |
CN114860354A (zh) * | 2021-02-03 | 2022-08-05 | 华为技术有限公司 | 一种加载列表的方法及电子设备 |
CN117076284A (zh) * | 2023-10-18 | 2023-11-17 | 荣耀终端有限公司 | 页面加载时长的检测方法、设备及存储介质 |
-
2019
- 2019-11-12 CN CN201911102634.7A patent/CN111104295A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153375A (zh) * | 2020-09-25 | 2020-12-29 | 平安国际智慧城市科技股份有限公司 | 基于视频信息的前端性能测试方法、装置、设备及介质 |
CN112153375B (zh) * | 2020-09-25 | 2023-09-15 | 深圳平安智慧医健科技有限公司 | 基于视频信息的前端性能测试方法、装置、设备及介质 |
CN114860354A (zh) * | 2021-02-03 | 2022-08-05 | 华为技术有限公司 | 一种加载列表的方法及电子设备 |
CN117076284A (zh) * | 2023-10-18 | 2023-11-17 | 荣耀终端有限公司 | 页面加载时长的检测方法、设备及存储介质 |
CN117076284B (zh) * | 2023-10-18 | 2024-04-05 | 荣耀终端有限公司 | 页面加载时长的检测方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112130742B (zh) | 一种移动终端的全屏显示方法及设备 | |
WO2020000448A1 (zh) | 一种柔性屏幕的显示方法及终端 | |
CN110347269B (zh) | 一种空鼠模式实现方法及相关设备 | |
CN110798568B (zh) | 具有折叠屏的电子设备的显示控制方法及电子设备 | |
CN110515646B (zh) | 一种差分升级方法及相关设备 | |
CN113704205B (zh) | 日志存储的方法、芯片、电子设备和可读存储介质 | |
CN113542580B (zh) | 去除眼镜光斑的方法、装置及电子设备 | |
CN113254409A (zh) | 文件共享方法、系统及相关设备 | |
WO2022089000A1 (zh) | 文件系统检测方法、电子设备及计算机可读存储介质 | |
CN111104295A (zh) | 一种页面加载过程的测试方法及设备 | |
CN114995715B (zh) | 悬浮球的控制方法和相关装置 | |
CN111343326A (zh) | 获取测试日志的方法及相关装置 | |
CN113641271A (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN113448482A (zh) | 触控屏的滑动响应控制方法及装置、电子设备 | |
CN114880251A (zh) | 存储单元的访问方法、访问装置和终端设备 | |
CN115589051A (zh) | 充电方法和终端设备 | |
WO2022170856A1 (zh) | 建立连接的方法与电子设备 | |
CN113467735A (zh) | 图像调整方法、电子设备及存储介质 | |
WO2020192716A1 (zh) | 一种系统语言的切换方法及相关装置 | |
CN116389884B (zh) | 缩略图显示方法及终端设备 | |
CN114077519A (zh) | 一种系统服务恢复方法、装置和电子设备 | |
CN113542574A (zh) | 变焦下的拍摄预览方法、终端、存储介质及电子设备 | |
CN113901485B (zh) | 应用程序加载方法、电子设备及存储介质 | |
CN113407300B (zh) | 应用误杀评估方法及相关设备 | |
CN114661258A (zh) | 自适应显示方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200505 |