CN117435408A - 信息流页面的测试方法、装置、设备、介质及程序产品 - Google Patents

信息流页面的测试方法、装置、设备、介质及程序产品 Download PDF

Info

Publication number
CN117435408A
CN117435408A CN202210835640.9A CN202210835640A CN117435408A CN 117435408 A CN117435408 A CN 117435408A CN 202210835640 A CN202210835640 A CN 202210835640A CN 117435408 A CN117435408 A CN 117435408A
Authority
CN
China
Prior art keywords
test
content data
rendering
information flow
information
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.)
Pending
Application number
CN202210835640.9A
Other languages
English (en)
Inventor
苟亚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210835640.9A priority Critical patent/CN117435408A/zh
Publication of CN117435408A publication Critical patent/CN117435408A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种信息流页面的测试方法、装置、设备、介质及程序产品,涉及计算机技术领域。该方法包括:接收信息流测试操作;基于信息流测试操作获取测试内容数据;基于多个信息流频道分别对应的框架数据对测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果;将渲染结果与参考渲染结果进行匹配,得到信息流页面对应的测试结果。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层,则通过触发一次信息流测试操作,则可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。

Description

信息流页面的测试方法、装置、设备、介质及程序产品
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种信息流页面的测试方法、装置、设备、介质及程序产品。
背景技术
在信息流页面中,往往包含有多个频道页面(例如:娱乐频道、游戏频道、时尚频道等),不同的频道页面的实现方案往往存在一定的差异性,例如:时尚频道采用FFmpeg实现播放器,娱乐频道采用AVPlayer实现播放器。在信息流页面中,开发人员需要对其中产生的事件(例如:在视频播放中显示弹幕)进行测试。
相关技术中,通过抽查信息流页面的频道进行测试,且对于不同频道的播放器需要构造不同类型的数据结构,一般由各个频道的开发人员进行各自的脚本文件的编写。
然而,通过抽查的方式在测试过程中未覆盖到全部频道,会导致某些频道视频播放中的事件产生问题;且信息流页面的频道种类较多、变化范围较大、功能的更新迭代较快,则开发人员需要编写的脚本文件的较多,导致计算机资源的浪费,信息流页面的测试效率较慢。
发明内容
本申请实施例提供了一种信息流页面的测试方法、装置、设备、介质及程序产品,可以提高信息流页面的测试效率,所述技术方案如下:
一方面,提供了一种信息流页面的测试方法,所述方法包括:
接收信息流测试操作,所述信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,所述框架数据是对所述信息流频道对应的内容显示参数进行封装得到的数据;
基于所述信息流测试操作获取测试内容数据,所述测试内容数据用于对所述多个信息流频道进行渲染测试,所述测试内容数据包括对应的参考渲染结果,所述参考渲染结果用于指示所述测试内容数据所需要达到的渲染结果;
基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果;
将所述渲染结果与所述参考渲染结果进行匹配,得到所述信息流页面对应的测试结果,所述测试结果用于指示所述信息流页面中的多个信息流频道在显示所述测试内容数据时的异常情况。
另一方面,提供了一种信息流页面的测试装置,所述装置包括:
接收模块,用于接收信息流测试操作,所述信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,所述框架数据是对所述信息流频道对应的内容显示参数进行封装得到的数据;
获取模块,用于基于所述信息流测试操作获取测试内容数据,所述测试内容数据用于对所述多个信息流频道进行渲染测试,所述测试内容数据包括对应的参考渲染结果,所述参考渲染结果用于指示所述测试内容数据所需要达到的渲染结果;
渲染模块,用于基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果;
处理模块,用于将所述渲染结果与所述参考渲染结果进行匹配,得到所述信息流页面对应的测试结果,所述测试结果用于指示所述信息流页面中的多个信息流频道在显示所述测试内容数据时的异常情况。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现本申请实施例中任一所述的信息流页面的测试方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现本申请实施例任一所述的信息流页面的测试方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中任一所述的信息流页面的测试方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过多个信息流频道分别对应的框架数据,对信息流测试操作得到的测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果,并根据渲染结果得到多个信息流频道的测试结果。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层,则通过触发一次信息流测试操作,则可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的信息流页面的界面示意图;
图2是本申请一个示例性实施例提供的信息流页面的测试方法示意图;
图3是本申请一个示例性实施例提供的实施环境示意图;
图4是本申请一个示例性实施例提供的信息流页面的测试方法的流程图;
图5是本申请另一个示例性实施例提供的信息流页面的测试方法的流程图;
图6是本申请一个示例性实施例提供的测试软件的界面示意图;
图7是本申请一个示例性实施例提供的数据路由层的架构示意图;
图8是本申请另一个示例性实施例提供的信息流页面的测试方法的流程图;
图9是本申请一个示例性实施例提供的信息流页面的测试方法的程序流程图;
图10是本申请一个示例性实施例提供的信息流页面的测试装置的结构框图;
图11是本申请另一个示例性实施例提供的信息流页面的测试装置的结构框图;
图12是本申请一个示例性实施例提供的服务器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
在信息流页面中,往往包含有多个频道页面,示意性的,请参考图1,其示出了视频流页面中两个不同的频道页面:时尚频道页面100和娱乐频道页面110。不同的频道页面的实现方案往往存在一定的差异性。例如:时尚频道页面100采用FFmpeg(Fast Forwardmotion picture experts group,一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)实现播放器,娱乐频道页面110采用AVPlayer实现播放器。
在信息流页面中,开发人员需要对其中产生的事件进行测试。例如;播放视频的过程中,产品侧要求在播放器开播的第n秒产生一些事件(如在播放器下部插入推荐视频、显示弹幕等),由于不同的频道页面播放器的实现方式不一样,在相关技术中,一般通过抽查信息流页面的频道进行测试,则会导致在测试过程中未覆盖到信息流页面的全部频道,从而某些频道的视频播放中的事件产生问题。
本申请实施例提供的信息流页面的测试方法,示意性的,请参考图2,基于多个信息流频道分别对应的框架数据202,对信息流测试操作得到的测试内容数据201进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果203,并根据渲染结果得到多个信息流频道的测试结果204。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层200,则通过触发一次信息流测试操作,可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。
图3本申请一个示例性实施例提供的实施环境示意图,如图3所示,该实施环境中包括终端310、服务器320,终端310和服务器320之间通过通信网络330连接,在一些可选的实施例中,通信网络330可以是有线网络,也可以是无线网络,本实施例对此不加以限定。
在一些可选的实施例中,终端310是智能手机、平板电脑、笔记本电脑、台式计算机、智能家电、智能车载终端、智能音箱、数码相机等,但并不局限于此。终端310中安装有目标应用程序,示意性地,该目标应用程序可以是传统应用程序,可以是云应用程序,可以实现为宿主应用程序中的小程序或应用模块,也可以是某个网页平台,本实施例对此不加以限定。在一些可选的实施例中,服务器320为终端中安装的目标应用程序提供后台服务。
在一些可选的实施例中,上述目标应用程序提供信息流页面的测试功能,可选地,信息流页面中包括多个频道页面,示意性的,多个频道页面对应有不同的播放器,且多个播放器的实现方式也即播放内容格式不同。信息流页面的测试功能可以是对多个频道页面分别对应的播放器的播放测试,示意性的,首先,终端310接收到对多个频道页面分别对应的播放器的播放测试操作,并将该播放测试操作转发至服务器320;服务器320接收到该播放测试操作,对该播放测试操作进行解析得到测试内容数据,并将该测试内容数据反馈至终端310中;终端310接收到该测试内容数据,会对该测试内容数据进行解析得到测试内容数据在多个频道页面分别对应的渲染结果,可选地,此时渲染结果不会显示在频道页面的播放器中;最后,终端310会将渲染结果与参考渲染结果进行匹配,得到多个频道页面分别对应的测试结果。
在一些可选的实施例中,上述终端310提供有测试程序创建功能,示意性的,开发人员可以在终端310中输入测试程序,并执行该测试程序,则通过执行测试程序可触发上述播放测试操作。
在一些可选的实施例中,上述测试程序的执行操作可以实现在其他终端,示意性的,开发人员在其他终端输入测试程序,并执行该测试程序;基于该测试程序的执行操作,其他终端向服务器320发送播放测试指令,服务器320接收到该播放测试指令,将该播放测试指令转发至终端310;终端310接收到该播放测试指令,基于该播放测试指令,在终端310上触发上述播放测试操作。
值得注意的是,服务器320能够是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模型应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。可选地,服务器320还可以实现为区块链系统中的节点。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的框架数据都是在充分授权的情况下获取的。
结合上述介绍以及实施环境,对本申请实施例中提供的信息流页面的测试方法进行说明,请参考图4,其示出了本申请一个示例性实施例提供的信息流页面的测试方法的流程图,以该方法应用于终端中为例进行说明,如图4所示,该方法包括:
步骤401,接收信息流测试操作。
信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,框架数据是对信息流频道对应的内容显示参数进行封装得到的数据。
示意性的,信息流测试操作是指对多个信息流频道中的事件进行测试,例如:测试信息流频道中的视频加载功能是否正常。
可选地,上述信息流测试操作为在终端的第一应用程序上接收的触发操作,其中,第一应用程序为开发人员使用的开发测试程序;信息流页面为终端的第二应用程序中显示的页面,其中,第二应用程序可以是即时通讯应用程序、视频应用程序、社交应用程序、购物应用程序等,本申请实施例对此不加以限定。
在一些可选的实施例中,上述第一应用程序和第二应用程序为不同的应用程序,也就是说,在终端界面中显示有测试应用程序(也即第一应用程序)和被测试的应用程序(也即,第二应用程序),则在测试应用程序中接收信息流测试操作,用于对被测试的应用程序中的信息流页面进行测试。
在一些可选的实施例中,上述第一应用程序和第二应用程序为相同的应用程序,示意性的,在视频应用程序中植入有视频测试模块,在视频测试模块中接收信息流测试操作,用于对视频应用程序中的信息流页面的视频播放功能进行测试。
示意性的,第一应用程序中包括测试界面,该测试界面包括测试控件和测试结果显示界面,其中,测试控件用于触发对第二应用程序中的信息流页面的信息流测试操作,测试结果显示界面用于显示信息流测试操作对应的测试结果。
可选地,上述信息流页面中包括多个子页面,每个子页面对应有一个信息流频道,例如:在视频应用程序中视频流页面中包括第一子页面和第二子页面,第一子页面为娱乐频道、第二子页面为体育频道。
可选地,不同信息流频道对应有不同的播放器,不同播放器的实现方式不同,示意性的,多个信息流频道包括A频道和B频道,A频道采用FFmpeg实现播放器,B频道采用AVPlayer实现播放器。则多个信息流频道对应的内容显示参数是不一样的,内容显示参数用于指示信息流频道中显示的内容的格式,以内容显示参数实现为播放参数为例进行说明,其中,播放参数包括以下参数中的至少一种:
1、播放器支持的容器格式,例如:.mkv、.mp4、.webm、.avi等;
2、播放器中的编码格式,例如:视频编码格式H.261、H.263、H.264等;
3、播放器中解码器类型,例如:aac、libx264、libaom等;
4、播放器中视频的显示帧率。
需要说明的是,上述播放参数的说明仅为示意性的举例,本申请实施例对此不加以限定。
可选地,多个信息流频道分别对应的框架数据存储在数据路由层中,则接收信息流测试操作之前,还包括:
接收框架创建操作。其中,框架创建操作用于在数据路由层中增加指定信息流频道对应的框架数据。
可选地,接收框架创建操作,包括:
接收对指定信息流频道的选择操作;获取指定信息流频道对应的内容显示参数,并在数据路由层创建容器数组;将指定信息流频道对应的内容显示参数存储至容器数组中,得到指定信息流频道对应的框架数据。
示意性的,第一应用程序的测试界面还包括框架数据注入控件和信息流频道选择控件,点击信息流频道选择控件,则可对需要注入框架数据的信息流频道进行选择,例如:点击信息流频道选择控件选择频道1,再点击框架数据注入控件,则可在测试页面上传频道1对应的内容显示参数,确认上传后,该内容显示参数会注入到数据路由层的容器数组a中,则得到了频道1对应的框架数据A。
步骤402,基于信息流测试操作获取测试内容数据。
测试内容数据用于对多个信息流频道进行渲染测试。
以信息流页面实现为视频流页面为例进行说明,视频流页面中通过播放器播放视频,可选地,则信息流测试操作包括播放器加载测试操作、播放器初始化初始测试操作、播放器播放测试操作等中的至少一种;其中,播放器播放测试操作是指对播放器播放视频过程中的事件的测试操作。
可选地,上述获取测试内容数据的过程包括以下方法中的至少一种:
(一)测试内容数据为服务器根据终端发出的请求返回的数据。
示意性的,则上述获取测试内容数据的过程,还包括以下步骤:
1、当第一应用程序(也即,测试应用程序)接收到播放器测试操作后,即向第二应用程序(也即,被测试的应用程序)发送播放器测试的指令,第二应用程序解析该指令后,首先,会在数据路由层创建数据管理对象,并在数据管理对象中将该指令进行封装得到播放器测试请求。
2、其次,终端会将上述播放器测试请求发送到服务器,服务器会对该播放器测试请求进行解析得到播放器文件,该播放器文件为与视频流播放页面中的播放器相关的文件,其中,播放器文件中包含播放器数据和与播放器当前需要播放的视频相关的数据。可选地,上述视频流页面包括多个子页面,则该播放器文件包括与多个子页面中的播放器相关的文件,也就是说,当触发播放器测试操作时,触发的是对视频流页面中的多个子页面的播放器测试操作。
3、在数据管理对象中包括钩子(Hook)函数,则当服务器将播放器文件返回至终端时,数据管理对象将通过Hook函数从播放器文件中获取得到测试内容数据,若视频流页面中包括多个子页面,则该测试内容数据包括多个子页面分别对应的测试数据,也就是说,测试内容数据用于对多个子页面进行渲染测试。
(二)测试内容数据为保存在本地的数据。
可选地,测试内容数据包括视频内容数据。
示意性的,则上述获取测试内容数据的过程,还包括以下步骤:
1、基于信息流测试操作,获取多个候选视频内容数据。
多个候选视频内容数据为存储在终端的本地数据库中用于进行渲染测试的视频。
示意性的,候选测试内容数据中包括历史测试数据,历史测试数据为终端中保存的在之前的测试中使用的数据;候选测试内容数据中还包括本地上传数据,本地上传数据为开发人员当前上传的用于进行渲染测试的数据。
2、对多个候选视频内容数据分别对应的指定视频时段进行人脸识别分析,得到人脸识别结果。
其中,人脸识别结果用于指示多个候选视频内容数据在指定视频时段对人脸图像的包含情况。
示意性的,该终端中保存有训练好的视频人脸识别模型,将上述多个候选视频内容数据输入到视频人脸识别模型中,对候选视频内容数据对应的视频片段进行人脸识别分析,输出得到人脸识别结果。
其中,视频人脸识别模型为通过样本视频片段和参考视频片段训练得到的模型,其中,参考视频片段是对样本视频片对进行人工标记得到的视频片段,人工标记是指对样本视频片段中的存在人脸图像的指定视频时段进行标记。视频人脸识别模型训练过程可包括以下步骤:将样本视频片段输入样本视频人脸识别模型中,提取样本视频片段每个视频帧的纹理特征、颜色特征、纹理特征、形状特征等;对提取得到的特征进行特征分析,得到人脸识别分析结果;基于人脸识别结果,输出得到目标视频片段,其中,目标视频片段是对指定视频时段标记了人脸图像的包含情况的样本视频片段;基于目标视频片段和参考视频片段之间的差异性结果对样本视频人脸识别模型进行训练,得到视频人脸识别模型。
3、基于人脸识别结果,从多个候选视频内容数据中确定在指定视频时段包含人脸图像的视频内容数据。
示意性的,人脸识别结果为对多个候选视频内容数据中存在人脸图像的指定视频时段进行标记的结果,则可通过该标记结果,直接确定多个候选视频内容数据中存在人脸图像的视频片段,即为视频内容数据。
其中,视频内容数据用于对多个信息流频道在指定视频时段的推荐信息渲染结果进行人脸躲避测试。
示意性的,对人脸躲避测试进行说明:若信息流测试操作为对多个信息流频道中的播放器的贴片广告事件的测试,为使得贴片广告尽量避开在视频画面对人脸的遮挡,可对贴片广告在具有人脸图像的视频片段的渲染结果进行测试。
其中,测试内容数据包括对应的参考渲染结果,参考渲染结果用于指示测试内容数据所需要达到的渲染结果。
示意性的,参考渲染数据是指不存在异常情况下,在信息流页面正常显示的页面参数,其中,参考渲染结果可以是预先保存在测试应用程序中的页面参数,该页面参数是指测试内容数据正常显示时的页面参数。
步骤403,基于多个信息流频道分别对应的框架数据对测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果。
可选地,根据框架数据对上述测试内容数据进行转换,得到相应的渲染结果。
示意性的,以测试内容数据实现为播放器加载测试数据为例进行说明,若需要将目标视频加载到播放器中,则播放器加载测试数据中包括目标视频的视频地址或者原始视频数据,基于信息流频道中播放器对应的框架数据,对目标视频的视频地址链接的数据或者原始视频数据进行渲染得到渲染结果,例如:若原始视频数据为.avi格式数据,但是播放器支持的格式为.mp4格式,则按照.mp4格式对原始视频数据进行格式转换,得到.mp4格式的视频数据,然后根据框架数据中的解码器类型和帧率,对.mp4格式的视频数据进行解码操作,得到播放器支持的视频渲染结果。
可选地,测试内容数据中包括多个信息流频道分别对应的子内容数据,则基于多个信息流频道分别对应的框架数据,分别对多个子内容数据进行渲染,得到多个子内容数据分别对应的渲染结果。
步骤404,将渲染结果与参考渲染结果进行匹配,得到信息流页面对应的测试结果。
测试结果用于指示信息流页面中的多个信息流频道在显示测试内容数据时的异常情况。
示意性的,当获取渲染结果中的参数信息后,与参考渲染结果中的页面参数进行对比;若渲染结果中的参数信息和参考渲染结果中的页面参数匹配成功,则代表该信息流频道中的产生的事件可以正常执行;若渲染结果中的参数信息和参考渲染结果中的页面参数匹配不成功,则表示该信息流频道中的产生的事件出现异常,可选地,将渲染结果中的出现异常的页面参数保存到日志中。
若信息流测试操作为对多个信息流频道中的播放器的贴片广告事件的测试,则上述渲染结果还用于指示贴片广告对指定视频时段中人脸图像的遮挡百分比,示意性的,若渲染结果中贴片广告对指定视频时段中人脸图像的遮挡为20%,而参考渲染结果中贴片广告对指定视频时段中人脸图像的遮挡为10%,则说明渲染结果和参考渲染结果匹配失败,则表示贴片广告的渲染结果异常。
综上所述,本申请实施例提供的信息流页面的测试方法通过多个信息流频道分别对应的框架数据,对信息流测试操作得到的测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果,并根据渲染结果得到多个信息流频道的测试结果。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层,则通过触发一次信息流测试操作,则可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。
本申请实施例提供的方法,多个信息流频道分别对应的框架数据存储在数据路由层中,则由数据路由层统一对框架数据进行保存,将各个信息流页面的入口进行管控,收敛了数据模块,规范了各个业务方在使用数据层的行为。
在一些可选的实施例中,上述信息流测试操作实现为对信息流测试程序的执行操作,请参考图5,其示出了本申请一个示例性实施例提供的信息流页面的测试方法的流程图,以该方法应用于终端中为例进行说明,如图5所示,该方法包括:
步骤501,接收框架创建操作。
其中,框架创建操作用于在数据路由层中增加指定信息流频道对应的框架数据。
示意性的,请参考图6,图6是本申请提供的一种供开发人员或者测试人员使用的测试程序界面图,如图6所示,开发人员可以选择指定信息流频道将内容显示参数注入到数据路由层中,从而增加指定信息流频道对应的框架数据:
在频道选择控件601中可以对需要注入内容显示参数的信息流频道进行选择,在图6中,高亮显示了“爱拍”,则说明需要注入内容显示参数的是信息流页面中的“爱拍”频道。
点击注册数据控件602,可以将“爱拍”频道需要的内容显示参数导入到数据路由层,其中,内容显示参数可以是保存在终端数据库中的数据,当点击注册数据控件602,终端数据库会将内容显示参数注入数据路由层;或者,内容显示参数为开发人员当前输入的数据,也即点击注册数据控件602后,会出现参数输入页面,开发人员输入“爱拍”频道需要的内容显示参数,确认后即可将该内容显示参数注入数据路由层。
其中,内容显示参数注入数据路由层后获取框架数据的过程还包括以下步骤:
基于接收到的指定信息流频道对应的内容显示参数,在数据路由层创建容器数组;将指定信息流频道对应的内容显示参数存储至容器数组中,则得到了指定信息流频道对应的框架数据;其中,容器数组还包括状态标识,该状态标识用于指示容器数组中的框架数据的状态,该状态标识可以表示框架数据运行状态、框架数据错误状态和框架数据等待状态。
步骤502,接收信息流测试操作。
信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,框架数据是对信息流频道对应的内容显示参数进行封装得到的数据。
可选地,一个信息流频道对应的框架数据对应有一个容器数组,示意性的,A频道对应的框架数据a存储在容器数组1中;B频道对应的框架数据b存储在容器数组2中。
示意性的,请参考图7,其示出了一种在数据路由层注册框架数据的架构示意图,如图7所示,将多个信息流频道分别对应的播放参数701注入框架数据注册模块702,当框架数据注册模块702接收到播放参数701后,会创建与多个信息流频道的数量相同的容器数组,并将与信息流频道对应的播放参数注入容器数组中,即得到了A框架数据703、B框架数据704、C框架数据705。且每个容器数组还对应有一个项目(item)对象,用于保存容器数组中框架数据的状态标识,如图7所示,A框架数据703对应有item对象a,B框架数据704对应有item对象b,C框架数据705对应有item对象c。
可选地,上述信息流测试操作可实现为对信息流测试程序的执行操作,则在接收信息流测试操作之前,还包括:
接收对信息流测试程序的导入操作。
示意性的,请参考图6,点击导入程序控件603,终端会将信息流测试程序导入数据路由层;数据路由层接收到该信息流测试程序后,会对该程序进行解析得到解析结果,该解析结果用于执行程序。其中,信息流测试程序可以是保存在终端数据库中的程序,当点击导入程序控件603,终端数据库会将该程序导入数据路由层;或者信息流测试程序为开发人员当前输入的程序,也即点击导入程序控件603后,会出现程序输入页面,开发人员输入信息流测试程序,确认后即可将该输入的信息流测试程序导入数据路由层。
接着,点击执行路由控件604,数据路由层会基于上述信息流测试程序的解析结果,触发在多个信息流频道的信息流测试操作。
可选地,若基于的是同一种信息流测试程序,则在多个信息流频道触发的信息流测试操作的测试类型是相同的,例如:信息流测试程序为播放加载测试,那么,多个信息流频道会依次触发播放器加载测试操作;或者,多个信息流频道同时触发播放器加载测试操作。其中,多个信息流频道对应的播放器的实现方式可以是不同的实现方式。
步骤503,基于信息流测试操作获取测试内容数据。
测试内容数据用于对多个信息流频道进行渲染测试,测试内容数据包括对应的参考渲染结果,参考渲染结果用于指示测试内容数据所需要达到的渲染结果。
示意性的,在数据路由层执行上述信息流测试程序,即为信息流测试操作,执行信息流测试程序后,获取测试内容数据的具体过程可参考步骤402,此处不再赘述。
步骤504,获取测试脚本文件。
测试脚本文件用于对多个信息流频道的测试项目进行指示。
可选地,通过上述信息流测试程序获取测试脚本文件。
可选地,测试脚本文件为测试脚本程序,若信息流测试程序本身就包含有测试脚本程序,则获取信息流测试程序的过程即为获取测试脚本程序的过程。
示意性的,以信息流页面实现为视频流页面为例进行说明,多个信息流频道的测试项目包括,视频流页面中的播放器加载测试、播放器初始化测试、播放器播放测试等。执行脚本测试程序,即执行播放器加载测试、播放器初始化测试、播放器播放测试等。
示意性的,对于信息流测试程序和测试脚本程序进行说明,若信息流测试程序中包含测试脚本程序,信息流测试程序为触发播放器开始测试的程序,测试脚本程序则为指示具体需要触发播放器的什么事件,且获取测试结果的程序。
步骤505,基于多个信息流频道分别对应的框架数据和测试脚本文件对应的测试项目对测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果。
需要说明的是,此时,框架数据对应的状态为框架数据运行状态,也即,表示框架数据正在对其中的测试内容数据进行渲染。
在一些可选的实施例中,上述测试内容数据中可包括当前信息流频道中的所有需要显示的内容,若需要对其中的指定内容(例如:指定视频)进行显示,可将指定内容进行标记,例如:将指定视频标记为“需要播放”。
其中,对指定内容的标记过程,可以通过测试脚本文件自动对需要播放的视频进行标记;或者,对指定内容的标记过程实现在开发侧,也即,基于信息流测试操作获取得到的测试内容数据即为标记过的数据。
在一些可选的实施例中,上述得到渲染结果的过程,还包括:
基于多个信息流频道分别对应的框架数据和测试脚本文件运行多个信息流频道对测试内容数据的渲染;响应于测试脚本文件指示的渲染阶段结束,获取测试内容数据在多个信息流频道中分别对应的渲染结果。
示意性的,将测试内容数据发送至数据路由层中,并基于数据路由层中的框架数据对测试内容数据开始渲染,若测试脚本文件中的测试项目指示的是播放器加载测试,则播放器加载完成之后即结束渲染;若测试脚本文件中的测试项目指示的播放器初始化测试,则播放器初始化完成之后即结束渲染。
可选地,基于测试脚本文件,依次对多个信息流频道进行测试内容数据的渲染;或者,基于测试脚本文件,同时对多个信息流频道进行测试内容数据的渲染。
示意性的,对其中单个信息流频道的渲染过程进行说明,若测试内容数据为视频数据,且测试脚本文件指示的是对播放器播放测试,则测试脚本文件指示的渲染阶段为播放器播放视频的全过程,最后,获取播放视频的全过程的播放页面渲染结果。
在一些可选的实施例中,若在开发侧仅仅是对播放器中的某一时间段的视频进行了迭代,则只需要对该时间段的播放器播放的视频内容进行测试,则测试脚本文件指示的渲染阶段为播放器播放视频的指定时间段,获取的是播放指定时间段视频的播放页面渲染结果;或者,测试脚本文件指示的渲染阶段为播放器播放视频的全过程,最后,获取的是播放指定时间段视频的播放页面渲染结果。
可选地,在得到测试内容数据在多个信息流频道中分别对应的渲染结果后,将渲染结果和信息流频道的频道标识对应存储在日志中。
步骤506,将渲染结果与参考渲染结果进行匹配,得到信息流页面对应的测试结果。
测试结果用于指示信息流页面中的多个信息流频道在显示测试内容数据时的异常情况。
需要说明的是,此时,测试结果对应的信息流频道的框架数据的状态为框架数据错误状态,也即,表示测试结果对应的信息流频道在该测试项目中是异常的。
在一些可选的实施例中,当某一信息流频道的测试结束后,该信息流频道对应的容器数组将会释放框架数据中的测试内容数据,则此时框架数据的状态为框架数据等待状态。
可选地,渲染结果与参考渲染结果进行匹配时,需要将上述渲染结果在显示到终端界面之前进行拦截,也就是说,在渲染结果显示之前,需要先进行渲染结果与参考渲染结果进行匹配的过程。示意性的,在视频加载到播放器页面的过程,是先渲染再显示,则可以在显示之前获取视频加载显示参数,与参考视频加载显示参数进行对比获取对比结果,其中,对比异常(也即,匹配不成功)的结果即为测试结果。
可选地,渲染结果与参考渲染结果的匹配过程发生在渲染结果显示过程中,示意性的,在视频播放过程中,需要对播放过程中产生的某些事件进行测试(例如,在第n秒显示弹幕),则可以在播放过程中获取事件显示参数,与参考事件显示参数进行对比获取对比结果,其中,对比异常(也即,匹配不成功)的结果即为测试结果。
综上所述,本申请实施例提供的信息流页面的测试方法通过多个信息流频道分别对应的框架数据,对信息流测试操作得到的测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果,并根据渲染结果得到多个信息流频道的测试结果。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层,则通过触发一次信息流测试操作,则可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。
本申请实施例提供的信息流页面的测试方法通过信息流测试程序触发信息流测试操作,并通过测试脚本程序触发对指定测试项目的测试过程,通过程序自动实现了对多个信息流频道的测试过程,且多个信息流频道共用一种信息流测试程序和测试脚本程序,提高了代码的复用性,且提高了信息流页面的测试效率。
在一些可选的实施例中,上述测试内容数据的获取过程还包括对无效数据的筛选过程,请参考图8,其示出了本申请一个示例性实施例提供的信息流页面的测试方法的流程图,以该方法应用于终端中为例进行说明,如图8所示,该方法包括:
步骤801,接收信息流测试操作。
信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,框架数据是对信息流频道对应的内容显示参数进行封装得到的数据。
步骤802,基于信息流测试操作获取测试内容数据。
其中,测试内容数据用于对多个信息流频道进行渲染测试,测试内容数据包括对应的参考渲染结果,参考渲染结果用于指示测试内容数据所需要达到的渲染结果。
步骤803,基于对测试内容数据的拆分操作,获取多个信息流频道分别对应的字符串。
在一些可选的实施例中,上述获取多个信息流频道分别对应的字符串的过程还包括以下步骤:
1、基于对测试内容数据的拆分操作,获取多个信息流频道分别对应的候选字段。
可选地,获取多个信息流频道分别对应的候选字段之前,还需要根据多个信息流频道,对测试内容数据进行分类。示意性的,当前获取到的测试内容数据为整个信息流页面的测试数据,其中包括多个信息流频道分别对应的子内容数据,则将测试内容数据进行分类得到多个信息流频道分别对应的子内容数据。
示意性的,以测试内容数据实现为在数据路由层通过Hook函数获取得到的服务器返回的元(meta)数据为例进行说明,将meta数据按照信息流频道进行分类,得到多条meta数据;其中,一个信息流频道对应有一条meta数据,或者,一个信息流频道对应有多条meta数据。
可选地,将每条meta数据进行拆分操作,获取候选字段。
若测试内容数据为播放器的测试内容数据,则候选字段中可以包括封面图(imageUrl)、二级页地址(pageUrl)、视频流地址(playUrl)、播放过程中的事件类型(playActionTypes),播放过程中的事件产生的时间(actionTimes)等。其中,封面图表示的视频未播放时显示在播放器首页的封面;二级页地址是指当前信息流频道中可链接的其他页面的地址;视频流地址是指当前信息流频道中的播放器需要播放的视频的地址;播放过程中的事件类型是指在视频播放中产生的事件,例如:在播放器下部插入推荐视频链接、出现贴片广告、显示弹幕等;播放过程中的事件产生的时间是指在播放器播放视频的什么时刻产生上述事件。
2、对多个信息流频道分别对应的候选字段进行筛选,剔除多个信息流频道分别对应的候选字段中的无效字段。
示意性的,在候选字段中可能包括包含有与播放器播放视频无关的冗余字段(即为无效数据),例如:广告、图文相关信息,则可对候选字段进行筛选,剔除其中的无效字段。
3、分别将剔除了无效字段的多个信息流频道分别对应的候选字段进行连接,得到多个信息流频道分别对应的字符串。
示意性的,剔除每条meta数据中的无效字段后,将剩下的字段拼接成一个字符串整体,中间用空格隔开。
步骤804,响应于多个信息流频道中的目标信息流频道对应的字符串中存在目标标识信息,得到测试内容数据在目标信息流频道中的渲染结果。
其中,目标标识信息用于指示需要对该条字符串中的内容进行测试。
示意性的,目标标识信息为自动开播标识(例如:autoPlay=1),则表示需要对该条字符串中的视频的播放过程中的事件进行测试。可选地,若多个信息流频道同时触发了信息流测试操作,依次对信息流频道中视频的播放过程中的事件进行测试。
可选地,对多个信息流频道中的字符串进行遍历操作,若遍历到多个信息流频道中的目标信息流频道对应的字符串中存在目标标识信息,则停止遍历,开始对目标信息流频道的视频的播放过程中的事件进行测试。
其中,在测试播放过程中,得到测试内容数据在目标信息流频道中的渲染结果的过程还包括:
将目标信息流频道对应的字符串通过字段转模型对象的方法initWithString转换成模型对象;将该模型对象和目标信息流频道的频道标识对应存储,得到模型-频道数据,将该模型-频道数据输入目标信息流频道对应的框架数据中,转换得到渲染结果。
在一些可选的实施例中,上述渲染结果包括渲染坐标和渲染效果,其中,渲染坐标是指测试内容数据渲染后在信息流页面的显示位置。则上述得到渲染结果的过程还包括:基于多个信息流频道分别对应的框架数据对测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染坐标和渲染效果。
步骤805,将测试内容数据在多个信息流频道中分别对应的渲染坐标与参考渲染坐标进行匹配;以及,将测试内容数据在多个信息流频道中分别对应的渲染效果与参考渲染效果进行匹配,得到测试内容数据在多个信息流频道中分别对应的测试结果。
在一些可选的实施例中,上述得到测试结果的方法包括:计算测试内容数据在多个信息流频道中分别对应的渲染坐标与参考渲染坐标的第一匹配度;计算测试内容数据在多个信息流频道中分别对应的渲染效果与参考渲染效果的第二匹配度;基于第一匹配度和第二匹配度,得到测试内容数据在多个信息流频道中分别对应的渲染结果。
可选地,响应于第一匹配度或者第二匹配度小于预设期望值,生成错误日志,作为测试内容数据在多个信息流频道中分别对应的渲染结果;或者,响应于第一匹配度和第二匹配度的平均值小于预设期望值,生成错误日志,作为测试内容数据在多个信息流频道中分别对应的渲染结果。
其中,错误日志包括以下情况中的至少一种:
1、错误日志为通过渲染参数和渲染效果产生的结果,其中可能包含有正确结果,例如:在视频加载测试中,错误日志中可以包含有播放器的播放控件的显示、播放器封面图、视频描述性文案等,其中,播放器封面图不是异常部分。
2、若测试内容数据对应的测试项目为对视频播放过程中产生的目标事件的测试。则播放过程中需要获取actionTimes字段;并在目标事件产生的时间点中监听播放器页面的状态变化,每个playActionType对应一个消息处理通道,在目标事件产生的时间点中获取playActionType的消息处理通道的变化,其中,消息处理通道的变化用于指示基于第n秒产生的目标事件,在第n秒时视频播放的页面显示参数的变化,消息处理通道的变化可实现为第n秒产生的目标事件需要调用的方法;可选地,对调用方法的过程进行标记,则标记的结果即为错误日志。例如:在视频播放过程中产生贴片广告事件,需要对广告的数据、UI创建、动画展示等方法调用过程进行数据标记,将标记的结果写入到日志中,比较不同的信息流频道对于同一贴片广告的日志,即可查询到信息流频道中哪一个频道显示是异常的,异常显示的信息流频道对应的日志即为错误日志。
综上所述,本申请实施例提供的信息流页面的测试方法通过多个信息流频道分别对应的框架数据,对信息流测试操作得到的测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果,并根据渲染结果得到多个信息流频道的测试结果。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层,则通过触发一次信息流测试操作,则可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。
本申请实施例提供的方法,对输入数据路由层的元数据进行筛选,剔除了其中的无效数据,减少了在测试过程中的异常测试率;且通过统一的数据路由层对meta数据进行格式化,提高了信息流页面测试的效率。
在一些可选的实施例,以信息流页面实现为视频流页面为例进行说明,图9是本申请实施例提供的一种信息流页面的测试方法的完整流程图,如图9所示,该方法包括:
S901,构造数据路由层。
示意性的,对终端的数据层进行统一的封装路由,即构造了数据路由层。
S902,执行脚本。
示意性的,这里的脚本即为上述信息流测试程序,用于触发对信息流页面的测试操作。则在执行脚本之前,还包括以下步骤:
1、框架数据创建操作。
当信息流页面中的某个功能迭代结束,开发人员可以通过如图6所示的测试程序界面选择信息流页面中包含的信息流频道将播放参数注入到数据路由层。
在数据路由层中,当接收到播放参数时,数据路由层会创建容器数组来存储注入的播放参数,从而得到框架数据;同时当接收到播放参数时,数据路由层会在上述容器数组中创建对应的itme对象,每个itme对象持有一条flag属性来标记框架数据的状态(一般有3个取值:运行、错误、等待状态)。
2、框架数据导入操作。
示意性的,开发人员通过如图6所示的测试程序界面,将脚本文件导入到数据路由层。
当数据路由层中存在框架数据和脚本文件时,通过如图6所示的测试程序界面,即可开始执行脚本文件,启动被测试的信息流页面所在的应用程序。一般地,脚本文件的功能包含播放器加载测试、播放器初始化测试、播放器事件测试三种类型。
S903,创建分类。
示意性的,在被测试的信息流页面所在的应用程序中解析加载信息流页面的指令后,创建生成DataManager+Hook分类。
其中,加载信息流页面的指令即为上述脚本触发的对信息流页面的播放器加载测试。
S904,发送请求加载数据。
示意性的,被测试的信息流页面所在的应用程序将加载信息流页面的指令封装成网络请求发送到服务器。
S905,判断是否有交换postWithParameters方法加载。
示意性的,服务器会对加载信息流页面的指令进行解析,得到目标数据,当服务端返回数据后,通过DataManager+Hook分类可捕获到目标数据中的meta数据。
示意性的,判断是否有交换postWithParameters方法加载用于指示是否在播放器中播放视频,则在判断之前还需要对获取的meta数据进行处理:
1、在meta数据中将每条meta数据进行拆分成字段,主要字段包括imageUrl(封面图)、pageUrl(二级页地址)、playUrl(视频流地址)playActionTypes(播放过程中的事件类型),actionTimes(事件产生的时间数组),可选地,过滤掉非meta数据(例如广告、图文信息)。
2、将各个字段拼接成一个字符串整体,中间用空格隔开,并将需要测试的某个或某些视频标记为自动开播(例如:autoPlay=1)。
3、各个频道模块提供字符串转模型对象的方法initWithString。
在初始化DataManager时将模型对象的类名称和对应的信息流频道id传入DataManager内部保存,生成形如channelIDA-channelData_A、channelIDB-channelData_B的数据格式,则将字符串转换成模型对象后,即得到了形如上述数据结构的模型对象数据。
遍历各信息流频道的模型对象数据,判断其中是否包含播放相关数据,例如:是否包含自动开播标识autoPlay=1。
S906,若没有交换postWithParameters方法加载,执行下一个频道脚本。
示意性的,按照顺序对目标频道进行遍历,若第i个信息流频道的模型对象数据中不包含播放相关数据,则没有交换postWithParameters方法加载,遍历第i+1个信息流频道,执行下一个频道的脚本。
S907,若有交换postWithParameters方法加载,执行脚本对比测试。
示意性的,若第i个信息流频道的模型对象数据中包含播放相关数据,例如:自动开播标识autoPlay=1,则有交换postWithParameters方法加载。
可选地,停止遍历,并执行脚本对比测试,执行脚本对比测试后,将获取框架数据,对上述转换成模型对象数据的meta数据进行填充,创建对应的UI元素。
S908,判断是否有差异。
示意性的,若当前脚本对比测试中包含播放器加载检测时,将渲染后UI元素坐标及其参数进行拦截,与标准页面数据(也即参考页面数据)进行对比,判断标准页面数据和渲染后UI元素与标准页面数据是否存在差异。
S906,若没有差异,执行下一个频道脚本。
示意性的,若标准页面数据和渲染后UI元素没有差异,则继续遍历下一个信息流频道,执行下一个频道的脚本。
S909,若有差异,标记flag生成日志。
示意性的,若标准页面数据和渲染后UI元素有差异,则将此时框架数据中的flag字段标记为错误状态,并生成日志,其中,日志中可包括播放控件的显示、播放器封面图、视频描述性文案等。
S906,执行下一个频道脚本。
示意性的,生成日志后,继续遍历下一个信息流频道,执行下一个频道的脚本。
可选地,信息流页面的所有信息流频道遍历完,则流程结束。
请参考图10,其示出了本申请一个示例性的实施例提供的信息流页面的测试装置结构框图,该装置包括如下模块:
接收模块1000,用于接收信息流测试操作,所述信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,所述框架数据是对所述信息流频道对应的内容显示参数进行封装得到的数据;
获取模块1010,用于基于所述信息流测试操作获取测试内容数据,所述测试内容数据用于对所述多个信息流频道进行渲染测试,所述测试内容数据包括对应的参考渲染结果,所述参考渲染结果用于指示所述测试内容数据所需要达到的渲染结果;
渲染模块1020,用于基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果;
处理模块1030,用于将所述渲染结果与所述参考渲染结果进行匹配,得到所述信息流页面对应的测试结果,所述测试结果用于指示所述信息流页面中的多个信息流频道在显示所述测试内容数据时的异常情况。
请参考图11,在一些可选的实施例中,所述渲染模块1020,包括:
获取单元1021,用于获取测试脚本文件,所述测试脚本文件用于对所述多个信息流频道的测试项目进行指示;
填充单元1022,基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行填充;
所述渲染模块1020,还用于基于所述测试脚本文件对应的测试项目对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果。
在一些可选的实施例中,所述渲染模块1020,还用于基于所述测试脚本文件运行所述多个信息流频道对所述测试内容数据的渲染;所述渲染模块1020,还用于响应于所述测试脚本文件指示的渲染阶段结束,获取所述测试内容数据在多个信息流频道中分别对应的渲染结果。
在一些可选的实施例中,所述渲染模块1020,还用于基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染坐标和渲染效果;所述处理模块1030,还用于将所述测试内容数据在多个信息流频道中分别对应的渲染坐标与参考渲染坐标进行匹配;以及,将所述测试内容数据在多个信息流频道中分别对应的渲染效果与参考渲染效果进行匹配,得到所述测试内容数据在多个信息流频道中分别对应的测试结果。
在一些可选的实施例中,所述处理模块1030,包括:
计算单元1031,用于计算所述测试内容数据在多个信息流频道中分别对应的渲染坐标与所述参考渲染坐标的第一匹配度;
所述计算单元1031,还用于计算所述测试内容数据在多个信息流频道中分别对应的渲染效果与所述参考渲染效果的第二匹配度;
所述处理模块1030,还用于基于所述第一匹配度和所述第二匹配度,得到所述测试内容数据在多个信息流频道中分别对应的测试结果。
在一些可选的实施例中,所述处理模块1030,还用于响应于所述第一匹配度或者第二匹配度小于预设期望值,生成错误日志,作为所述测试内容数据在多个信息流频道中分别对应的测试结果;或者,响应于所述第一匹配度和第二匹配度的平均值小于预设期望值,生成错误日志,作为所述测试内容数据在多个信息流频道中分别对应的测试结果。
在一些可选的实施例中,多个信息流频道分别对应的框架数据存储在数据路由层中;所述接收模块1000,还用于接收框架创建操作,所述框架创建操作用于在所述数据路由层中增加指定信息流频道对应的框架数据。
在一些可选的实施例中,所述渲染模块1020,还包括:
拆分单元1023,用于基于对所述测试内容数据的拆分操作,获取所述多个信息流频道分别对应的字符串;
所述渲染模块1020,还用于响应于所述多个信息流频道中的目标信息流频道对应的字符串中存在目标标识信息,得到所述测试内容数据在目标信息流频道中的渲染结果。
在一些可选的实施例中,所述拆分单元1023,还用于基于对所述测试内容数据的拆分操作,获取所述多个信息流频道分别对应的候选字段;所述拆分单元1023,还用于对所述多个信息流频道分别对应的候选字段进行筛选,剔除所述多个信息流频道分别对应的候选字段中的无效字段;所述拆分单元1023,还用于分别将剔除了所述无效字段的所述多个信息流频道分别对应的候选字段进行连接,得到所述多个信息流频道分别对应的字符串。
在一些可选的实施例中,所述测试内容数据包括视频内容数据;所述获取模块1010,还用于基于所述信息流测试操作,获取多个候选视频内容数据,所述多个候选视频内容数据为存储在终端的本地数据库中用于进行渲染测试的视频;所述获取模块1010,还用于对所述多个候选视频内容数据分别对应的指定视频时段进行人脸识别分析,得到人脸识别结果,所述人脸识别结果用于指示所述多个候选视频内容数据在所述指定视频时段对人脸图像的包含情况;所述获取模块1010,还用于基于所述人脸识别结果,从所述多个候选视频内容数据中确定在所述指定视频时段包含人脸图像的所述视频内容数据,其中,所述视频内容数据用于对多个信息流频道在所述指定视频时段的推荐信息渲染结果进行人脸躲避测试。
综上所述,本申请实施例提供的信息流页面的测试装置通过多个信息流频道分别对应的框架数据,对信息流测试操作得到的测试内容数据进行渲染,得到测试内容数据在多个信息流频道中分别对应的渲染结果,并根据渲染结果得到多个信息流频道的测试结果。由于多个信息流频道分别对应的框架数据都封装在同一个数据路由层,则通过触发一次信息流测试操作,则可对信息流页面中包含的多个信息流频道产生的相同类型事件进行测试,提高了信息流页面的测试效率,也提高了信息流页面测试的覆盖率。
需要说明的是:上述实施例提供的信息流页面的测试装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的信息流页面的测试装置和信息流页面的测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12示出了本申请一个示例性实施例提供的服务器的结构示意图。该服务器可以是如图3所示的服务器。具体来讲包括以下结构:
服务器1200包括中央处理单元(Central Processing Unit,CPU)1201、包括随机存取存储器(Random Access Memory,RAM)1202和只读存储器(Read Only Memory,ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。服务器1200还包括用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1206。
大容量存储设备1206通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1206及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1206可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1206可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在系统总线1205上的网络接口单元1211连接到网络1215,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备可以实现为如图3所示的终端或者服务器。该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的信息流页面的测试方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的信息流页面的测试方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的信息流页面的测试方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种信息流页面的测试方法,其特征在于,所述方法包括:
接收信息流测试操作,所述信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,所述框架数据是对所述信息流频道对应的内容显示参数进行封装得到的数据;
基于所述信息流测试操作获取测试内容数据,所述测试内容数据用于对所述多个信息流频道进行渲染测试,所述测试内容数据包括对应的参考渲染结果,所述参考渲染结果用于指示所述测试内容数据所需要达到的渲染结果;
基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果;
将所述渲染结果与所述参考渲染结果进行匹配,得到所述信息流页面对应的测试结果,所述测试结果用于指示所述信息流页面中的多个信息流频道在显示所述测试内容数据时的异常情况。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果,包括:
获取测试脚本文件,所述测试脚本文件用于对所述多个信息流频道的测试项目进行指示;
基于所述多个信息流频道分别对应的框架数据和所述测试脚本文件对应的测试项目对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果。
3.根据权利要求2所述的方法,其特征在于,所述基于所述测试脚本文件对应的测试项目,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果,包括:
基于所述测试脚本文件运行所述多个信息流频道对所述测试内容数据的渲染;
响应于所述测试脚本文件指示的渲染阶段结束,获取所述测试内容数据在多个信息流频道中分别对应的渲染结果。
4.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果,包括:
基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染坐标和渲染效果;
所述将所述渲染结果与所述参考渲染结果进行匹配,得到所述信息流页面对应的测试结果,包括:
将所述测试内容数据在多个信息流频道中分别对应的渲染坐标与参考渲染坐标进行匹配;以及,将所述测试内容数据在多个信息流频道中分别对应的渲染效果与参考渲染效果进行匹配,得到所述测试内容数据在多个信息流频道中分别对应的测试结果。
5.根据权利要求4所述的方法,其特征在于,所述将所述测试内容数据在多个信息流频道中分别对应的渲染坐标与参考渲染坐标进行匹配;以及,将所述测试内容数据在多个信息流频道中分别对应的渲染效果与参考渲染效果进行匹配,得到所述测试内容数据在多个信息流频道中分别对应的测试结果,包括:
计算所述测试内容数据在多个信息流频道中分别对应的渲染坐标与所述参考渲染坐标的第一匹配度;
计算所述测试内容数据在多个信息流频道中分别对应的渲染效果与所述参考渲染效果的第二匹配度;
基于所述第一匹配度和所述第二匹配度,得到所述测试内容数据在多个信息流频道中分别对应的测试结果。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一匹配度和所述第二匹配度,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果,包括:
响应于所述第一匹配度或者第二匹配度小于预设期望值,生成错误日志,作为所述测试内容数据在多个信息流频道中分别对应的测试结果;或者,
响应于所述第一匹配度和第二匹配度的平均值小于预设期望值,生成错误日志,作为所述测试内容数据在多个信息流频道中分别对应的测试结果。
7.根据权利要求1至3任一所述的方法,其特征在于,多个信息流频道分别对应的框架数据存储在数据路由层中;
所述接收信息流测试操作之前,还包括:
接收框架创建操作,所述框架创建操作用于在所述数据路由层中增加指定信息流频道对应的框架数据。
8.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果,包括:
基于对所述测试内容数据的拆分操作,获取所述多个信息流频道分别对应的字符串;
响应于所述多个信息流频道中的目标信息流频道对应的字符串中存在目标标识信息,得到所述测试内容数据在目标信息流频道中的渲染结果。
9.根据权利要求6所述的方法,其特征在于,所述基于对所述测试内容数据的拆分操作,获取所述多个信息流频道分别对应的字符串,包括:
基于对所述测试内容数据的拆分操作,获取所述多个信息流频道分别对应的候选字段;
对所述多个信息流频道分别对应的候选字段进行筛选,剔除所述多个信息流频道分别对应的候选字段中的无效字段;
分别将剔除了所述无效字段的所述多个信息流频道分别对应的候选字段进行连接,得到所述多个信息流频道分别对应的字符串。
10.根据权利要求1至3任一所述的方法,其特征在于,所述测试内容数据包括视频内容数据;
所述基于所述信息流测试操作获取测试内容数据,包括:
基于所述信息流测试操作,获取多个候选视频内容数据,所述多个候选视频内容数据为存储在终端的本地数据库中用于进行渲染测试的视频;
对所述多个候选视频内容数据分别对应的指定视频时段进行人脸识别分析,得到人脸识别结果,所述人脸识别结果用于指示所述多个候选视频内容数据在所述指定视频时段对人脸图像的包含情况;
基于所述人脸识别结果,从所述多个候选视频内容数据中确定在所述指定视频时段包含人脸图像的所述视频内容数据,其中,所述视频内容数据用于对多个信息流频道在所述指定视频时段的推荐信息渲染结果进行人脸躲避测试。
11.一种信息流页面的测试装置,其特征在于,所述装置包括:
接收模块,用于接收信息流测试操作,所述信息流测试操作用于对信息流页面中的多个信息流频道进行测试,其中,多个信息流频道分别对应有框架数据,所述框架数据是对所述信息流频道对应的内容显示参数进行封装得到的数据;
获取模块,用于基于所述信息流测试操作获取测试内容数据,所述测试内容数据用于对所述多个信息流频道进行渲染测试,所述测试内容数据包括对应的参考渲染结果,所述参考渲染结果用于指示所述测试内容数据所需要达到的渲染结果;
渲染模块,用于基于所述多个信息流频道分别对应的框架数据对所述测试内容数据进行渲染,得到所述测试内容数据在多个信息流频道中分别对应的渲染结果;
处理模块,用于将所述渲染结果与所述参考渲染结果进行匹配,得到所述信息流页面对应的测试结果,所述测试结果用于指示所述信息流页面中的多个信息流频道在显示所述测试内容数据时的异常情况。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的信息流页面的测试方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至10任一所述的信息流页面的测试方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一所述的信息流页面的测试方法。
CN202210835640.9A 2022-07-15 2022-07-15 信息流页面的测试方法、装置、设备、介质及程序产品 Pending CN117435408A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210835640.9A CN117435408A (zh) 2022-07-15 2022-07-15 信息流页面的测试方法、装置、设备、介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210835640.9A CN117435408A (zh) 2022-07-15 2022-07-15 信息流页面的测试方法、装置、设备、介质及程序产品

Publications (1)

Publication Number Publication Date
CN117435408A true CN117435408A (zh) 2024-01-23

Family

ID=89554150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210835640.9A Pending CN117435408A (zh) 2022-07-15 2022-07-15 信息流页面的测试方法、装置、设备、介质及程序产品

Country Status (1)

Country Link
CN (1) CN117435408A (zh)

Similar Documents

Publication Publication Date Title
CN107832434B (zh) 基于语音交互生成多媒体播放列表的方法和装置
CN107832275A (zh) 区块链中智能合约标识的生成方法、装置及系统
CN107276842B (zh) 接口测试方法、装置及电子设备
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN113518256A (zh) 视频处理方法、装置、电子设备及计算机可读存储介质
CN111522749B (zh) 页面测试方法、装置、可读存储介质及电子设备
CN114286181B (zh) 一种视频优化方法、装置、电子设备和存储介质
CN113656797B (zh) 行为特征提取方法以及行为特征提取装置
US20220028425A1 (en) System and Method to Customizing Video
CN114845149B (zh) 视频片段的剪辑方法、视频推荐方法、装置、设备及介质
CN110806913A (zh) 网页截图方法、装置及设备
CN114328217A (zh) 应用的测试方法、装置、设备、介质及计算机程序产品
CN112052157B (zh) 测试报文的构造方法、装置及系统
WO2024002092A1 (zh) 视频的推送方法、装置和存储介质
CN116644250A (zh) 页面检测方法、装置、计算机设备和存储介质
CN117435408A (zh) 信息流页面的测试方法、装置、设备、介质及程序产品
CN114443306A (zh) 资源处理方法、装置、电子设备及计算机可读存储介质
CN114328171A (zh) 测试用例库的生成方法、装置、设备及存储介质
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN112434234A (zh) 基于浏览器的帧提取方法和系统
CN111870937B (zh) 一种数据处理方法、模拟服务器及时效性应用
CN116781965B (zh) 虚拟物品合成方法、装置、电子设备和计算机可读介质
US20230065934A1 (en) Extract Data From A True PDF Page
CN117389897A (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