机顶盒测试方法、装置、机顶盒及计算机可读存储介质与流程

文档序号:24347300发布日期:2021-03-19 12:31阅读:155来源:国知局
机顶盒测试方法、装置、机顶盒及计算机可读存储介质与流程

本发明涉及交互式网络领域,尤其涉及一种机顶盒测试方法、装置、机顶盒及计算机可读存储介质。



背景技术:

在iptv(internetprotocoltelevision,交互式网络电视)环境下,智能机顶盒的软件版本制作出来后,需要接入电子节目指南(electronicprogramguide,epg)服务器进行测试,测试智能机顶盒展现epg页面是否显示和逻辑操作正常。在相关技术中,该测试过程都是通过测试人员手动测试完成的。测试人员测试一套完整的iptv的epg环境,需要尽可能遍历机顶盒的所有页面,在各页面上操作相应不同的业务场景以判断是否存在异常,同时在测试过程中出现的异常场景需要测试人员进行手动记录。经试验,测试人员完成机顶盒的一套完整的iptv的epg环境(也即一套模板)的测试,需要投入人力成本是4人*天(也即32人*小时)。而部署在商用环境下的iptvepg环境通常是n(n>=2)套,例如标清、高清等等,需要的测试人力就为n*4人*天,也即随着机顶盒中承载的商用模板个数增加,所需测试的内容以及所需测试人力也成倍增加,既存在测试周期长、测试人力成本高的问题,又存在容易漏测等因素导致测试结果不够准确的问题。



技术实现要素:

本发明实施例提供的一种机顶盒测试方法、装置、机顶盒及计算机可读存储介质,解决相关技术中的通过测试人员对机顶盒手动测试存在的测试周期及测试人力成本高,测试结果不够准确的问题。

为解决上述技术问题,本发明实施例提供一种机顶盒测试方法,包括自动运行测试,以及对所述自动运行测试的过程进行日志记录;

所述自动运行测试包括:

自动抓取接入网络的机顶盒各页面上的各访问接口,并自动对所述各访问接口进行访问处理,直到访问完所有页面的所有访问接口。

为解决上述技术问题,本发明实施例还提供一种机顶盒测试装置,包括:

自动测试控制模块,用于自动抓取接入网络的机顶盒各页面上的各访问接口,以及自动对所述各访问接口进行访问处理,直到访问完所有页面的所有访问接口;

记录模块,用于对所述自动运行测试的过程进行日志记录。

为解决上述技术问题,本发明实施例还提供一种机顶盒,包括处理器、存储器和通信总线;

所述通信总线用于将所述处理器和存储器连接;

所述处理器用于执行所述存储器中存储的计算机程序,以实现如上所述的机顶盒测试方法的步骤。

为解决上述技术问题,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行,以实现如上所述的机顶盒测试方法的步骤。

有益效果

根据本发明实施例提供的机顶盒测试方法、装置、机顶盒及计算机可读存储介质,针对接入网络的机顶盒,通过自动抓取该机顶盒各页面上的各访问接口,并自动各访问接口进行访问处理,直到访问完机顶盒所有页面的所有访问接口完成机顶盒的自动运行测试,并结合日志记录功能对该自动运行测试功能进行自动的日志记录,从而可根据得到的日志记录获取到准确的测试结果;通过本发明实施例提供的机顶盒测试方法,可实现对机顶盒的自动测试,不需要人工干预,因此大大降低人力成本,提升测试效率,也能避免人工测试过程中因漏测等情况的发生,因此可提升测试结果的精确性。

本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。

附图说明

图1为本发明实施例一的机顶盒测试方法流程示意图;

图2为本发明实施例一的页面上访问接口布局示意图一;

图3为本发明实施例一的页面上访问接口布局示意图二;

图4为本发明实施例一的页面上访问接口选择顺序示意图;

图5为本发明实施例一的页面上访问接口布局示意图三;

图6为本发明实施例二的机顶盒测试装置结构示意图;

图7为本发明实施例二的机顶盒测试流程示意图;

图8为本发明实施例三的机顶盒结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一:

针对相关技术中通过测试人员对机顶盒手动测试存在的测试周期及测试人力成本高,测试结果不够准确的问题,本实施例提供了一种可自动实现机顶盒测试的方法,包括自动运行测试,以及对自动运行测试的过程进行日志记录;其中自动运行测试主要可自动实现机顶盒各页面的自动切换以及各页面上的逻辑操作,并通过日志对自动运行测试过程进行日志记录,在需要时根据日志记录即可获取到精确的测试结果,整个测试过程可不需要人工干预,大大降低人力成本,提升测试效率,也能避免人工测试过程中因漏测等情况的发生,保证测试结果的精确性。

为了便于理解,本实施例下面结合图1所示的机顶盒测试方法为示例进行说明,请参见图1所示,包括:

s101:对接入网络的机顶盒进行自动运行测试,包括:自动抓取接入网络的机顶盒各页面上的各访问接口,并自动对各访问接口进行访问处理,直到访问完所有页面的所有访问接口。

应当理解的是,本实施例中机顶盒接入网络包括但不限于接入epg环境。且本实施例提供的机顶盒测试方法并不限于应用于接入网络的机顶盒,也适用于未接入网络处于离线环境的机顶盒的测试。

应当理解的是,本实施例中页面上的访问接口包括但不限于实现链接访问、实现相应功能(例如下载、设置、更新等功能)或实现页面链接或各种信息链接的各种访问接口。

当然,在一些应用场景中,当需要对机顶盒指定功能或指定页面进行测时,s101中也可仅获取指定页面或指定访问接口进行自动测试,对于指定之外的页面或访问接口则不做测试。具体可根据需求灵活配置,且应当理解的是,这种灵活测试配置也在本方案覆盖范围内。

在本实施例中,对于机顶盒接入网络时启动后正常显示并停留的首页页面称为机顶盒的原始首页页面。

在本实施例中,对于接入网络的机顶盒各页面上的各访问接口的自动抓取时,可以在机顶盒每新进入一个页面时(也即之前未进入过的页面),就抓取该新进入的页面上的各访问接口。也即,在本实施例中,在机顶盒进入当前页面时,可确定当前页面是否为未进入过的页面,如是,则逐个抓取当前页面上的访问接口的识别信息,并将抓取的识别信息与当前页面的页面路径关联存储,并设置识别信息的访问状态为未访问。

例如,一种示例中,逐个抓取当前页面上的访问接口的识别信息可包括但不限于:

在机顶盒进入当前页面且确定当前页面为未进入过的页面时,通过模拟导航键控制焦点从当前页面的左上角开始,按照从左到右的顺序依次逐个选择访问接口,并获取焦点当前选择的访问接口的识别信息,直到当前页面上的所有访问接口的识别信息都被获取。

本实施例中的模拟导航键可包括但不限于左、右键和上、下键,可通过左、右键和上、下键控制焦点在页面上移动以选择相应的访问接口。本实施例中的焦点类似传统鼠标的光标。在本实施例中,对于页面上焦点当前选择的访问接口的显示也可灵活设定。例如,一些示例中,焦点当前选择的访问接口可以采用任意能与其他未选中的访问接口区分开的显示方式进行显示,例如可采用但不限于点亮显示、放大显示、悬浮显示或边框加粗显示等。

例如,一种应用场景中,请参见图2所示,假设机顶盒的某一个页面上存在访问接口a、访问接口b、访问接口c和访问接口d,当前焦点选择的是左边的访问接口a,访问接口a放大显示,以与访问接口b、访问接口c和访问接口d区分开。

又例如,在另一种应用场景中,请参见图3所示,假设机顶盒的某一个页面上存在访问接口a、访问接口b、访问接口c和访问接口d,当前焦点选择的是访问接口b,访问接口b的边框区域加粗显示,以与访问接口a、访问接口c和访问接口d区分开。

在本实施示例的一些应用场景中,还可模拟ok键,在焦点选择一个访问接口时,通过触发ok键实现对该访问接口的访问。

另外,应当理解的是,本实施例中抓取的访问接口的识别信息,可以是任意能将页面上的访问接口与其他各访问接口唯一区分开的识别信息。例如一张示例中该识别信息可以包括但不限于提取访问接口的显示区域内的图像作为该访问接口的识别信息,在本示例中,获取页面上焦点当前选择的访问接口的识别信息包括:

截取页面上当前被焦点选中的访问接口当前的显示区域内的图像作为该访问接口的识别信息。例如,请参见图2所示,此时截取访问接口a当前的显示区域(也即放大显示的区域)内的图像(本实施例可称之为焦点图片)作为该访问接口a的识别信息;又例如,请参见图3所示,此时截取访问接口b当前的显示区域(也即加粗显示的区域)内的图像作为该访问接口b的识别信息。

在图2所示的应用场景中,当机顶盒首次进入图2所示的页面时,针对该页面,通过模拟导航键控制焦点从当前页面的左上角开始,按照从左到右的顺序依次获取焦点当前选择的访问接口的识别信息,选择过程请参见图4所示,直到当前页面上的所有访问接口的识别信息都被获取到,形成的图片数据库中包括以下表1所示的对应关系表。

表1

当然,应当理解的是,本实施例中对于页面上访问接口的选择顺序并不限于上述示例的顺序,可以根据需求灵活设置。例如,一种示例中请参见图5所示,假设当前页面上存在访问接口a、b、c、d、e、f、g、h,按照从左到右的顺序依次获取焦点当前选择的访问接口的识别信息时,获取的顺序则依次为访问接口a→b→c→d→e→f→g→h。在本实施例的另一些应用场景中,获取的顺序也可为访问接口a→b→c→d→h→g→f→e。在另一些应用场景中,也可采用随机顺序或其他顺序选择访问接口直到访问完所有访问接口。

在本实施例中,对于页面上的某一个访问接口是否为已经获取过识别信息的访问接口的方式可包括但不限于:获取该访问接口的识别信息,并在该页面对应的图片数据库中查找是否存在相同的识别信息,如是,则表明该访问接口为已经获取过识别信息的访问接口;否则,表明该访问接口为该页面上未获取过识别信息的访问接口。本实施例中,图像的截取和图像的匹配可分别通过但不限于抓屏保存模块、图片匹配模块。且在本实施例中,对于导航键和ok键的模拟实现可通过但不限于按键模拟功能模块实现。

在本实施例中,自动对各访问接口进行访问处理,直到访问完所有页面的所有访问接口的一种示例方式可包括:

确定机顶盒当前所在页面所关联存储的识别信息中,存在访问状态为未访问的目标识别信息时,对该目标识别信息所对应的访问接口进行访问,并将该目标识别信息的访问状态更新为已访问;

在确定机顶盒当前所在页面所关联存储的所有识别信息的访问状态都为已访问,且机顶盒当前所在页面不是原始首页页面时,则控制机顶盒进入当前所在页面的上一级页面,然后重复上述步骤;

在确定机顶盒当前所在页面所关联存储的所有识别信息的访问状态都为已访问,且机顶盒当前所在页面为原始首页页面时,则表明已访问完所有页面的所有访问接口。

s102:对自动运行测试的过程进行日志记录。

在本实施例的一种示例中,可对上述自动运行测试过程中通过导航键控制焦点进行访问接口的选择过程进行日志记录,对访问接口访问过程中的页面脚本执行、页面解析等进行日志记录。

在本实施例的一种示例中,为了提升测试的针对性和准确性,对自动运行测试的过程进行日志记录可包括:

对自动运行测试过程中出现的错误的信息进行保存生成错误日志;且生成的日志可以根据需求主动上传或显示,或者在接收到的调用执行后再上传或显示,且上传或显示时,可以对错误日志进行集中或优先上传或显示;且在一些应用场景中,也可仅上传或显示错误日志,对于其他日志则不再上传或显示。

另外,为了进一步帮助错误定位和分析,在一些示例中,机顶盒测试方法还可包括:

截取自动运行测试过程中出现错误时对应的显示界面截图,并将获取的显示界面截图与该错误对应的错误日志关联存储;在上传或显示错误日志时,则可将该错误日志对应的显示界面截图一并上传或显示;这样在进行错误分析时,可结合日志信息和对应的显示界面截图进行综合分析,可提升错误分析的效率和准确性。

实施例二:

本实施例提供了一种机顶盒测试装置,该机顶盒测试装置可以设置于机顶盒内,也可设置于用于机顶盒测试的测试设备中,请参见图6所示,其包括:

自动测试控制模块601,用于自动抓取接入网络的机顶盒各页面上的各访问接口,以及自动对各访问接口进行访问处理,直到访问完所有页面的所有访问接口;具体的自动测试运行过程请参见上述实施例所示,在此不再赘述。

在本实施例的一些示例中,自动测试控制模块601可包括但不限于:

按键模拟功能模块:机顶盒接入iptvepg环境,可都通过按键来触发浏览器解析并执行页面脚本逻辑,来进行业务展示,可通过该按键模拟功能模块模拟用户真实的按键操作;

在实施例中,按键模拟功能模块可设置有基本的功能输出:菜单键、返回键、上下左右方向导航键、ok按键等等,同时针对按键过程中的出现错误,会进行日志保存。

抓屏保存模块:用来抓取指定位置大小的图像输出,保存为图片,或直接截图当前显示界面保存为图片。

图片匹配模板:比较两个图片是否一样,包括图片体积大小、图片数据内容等因子比较,从而可确定某个识别接口的识别信息是否为已访问过的或已提取过识别信息的识别接口。

记录模块602,用于对自动运行测试的过程进行日志记录,具体的记录过程请参见上述实施例所示,在此也不再赘述。

在本实施例的一些示例中,记录模块602可包括日志输出模块:用来保存机顶盒日志,可记录按键过程、页面脚本执行、页面解析等日志,同时针对运行过程中出现错误也进行记录生成错误日志。

基于本实施例提供的机顶盒测试装置,可通过模拟用户按遥控器的方向键,只要按键,肯定会触发焦点移动,在浏览器里面,可以实现获取移动后的焦点的坐标位置,并可以将焦点的坐标位置对应的访问接口截图出来,这样每个页面会生成自己的图片数据库,且页面的图片数据库中,每个访问接口只有一张图片(本实施例中称之为焦点图片)与之对应;将在页面上每按一次按键抓取的焦点图片在该页面的图片数据库中比对确定是否为已经获取过识别信息的访问接口或是否为已经访问过的访问接口,通过这样的逻辑判断,即可获取到各页面中的所有访问接口,并且针对所有访问接口进行逐一访问,可实现遍历整套模板,并且在整个过程中,再配合日志抓取操作,完成机顶盒的测试。

为了便于理解,本实施例下面以一种具体应用场景的机顶盒测试场景为示例进行说明,请参见图7所示,包括以下步骤:

s701:从机顶盒接入iptvepg环境后,获取正常显示并停留的页面作为原始首页页面,标记为url_homeepg,从这个页面开始进行自动化测试。

s702:获取机顶盒所处的当前页面,设当前页面为url1。

s703:确定当前页面url1是否为进入过的页面,如是,转至s704;否则,转至s705。

s704:获取当前页面url1上所有访问接口的焦点图片进行关联存储。

在本示例中,通过按键模拟功能模块触发上下左右方向键,控制焦点遍历该当前页面url1的所有访问接口,获取每个访问接口的焦点图片,并标记为未访问过,生成一种数据关系:页面url1---焦点图片---访问状态(未访问)。

同时,针对方向键遍历页面所有访问接口的时候,针对错误的日志,需要进行日志保存。

通过按键获取当前页面url1所有访问接口的焦点图片,一种示例的算法描述如下:

每次按方向键,会产生焦点移动,会产生页面刷新,例如一种示例中刷新的范围可由两个最小矩形组成,一个矩形是上次焦点所在位置的访问接口对应的矩形,第二个矩形是焦点移动后所在的访问接口对应的矩形,得出第二个矩形坐标,截取矩形坐标对应的屏幕,得到该访问接口的图片,记为焦点图片。

通过按键遍历页面所有访问接口,类似“逐行扫描”方式,描述如下:

a)首次进入当前页面,通过按键将焦点移动至最左上角(通过“左”方向键和“上”方向键来实现,例如先按“左”方向键,直至不会产生新的焦点刷新,然后再按“上”方向键,直至不会产生新的焦点刷新),获取焦点当前所选择的访问接口的焦点图片,并记录该页面路径和焦点图片的对应关系,并标记为未访问,说明该焦点图片只属于该页面路径;转入b);

b)按“右”方向键,会抓取到焦点向右移后所选择的新访问接口的焦点图片,比较当前焦点图片在该页面的图像数据库中是否已经保存过:如果该焦点图片已经保存过,说明该“右”方向键上的焦点都已经遍历过了,需要将焦点回退至最左的焦点,下一步需要进入下一行,进行焦点遍历,进入c);

如果该焦点图片是新图片,保存该焦点图片,转入b);

c)按“下”方向键,判断是否抓取到新的焦点图片,主要是判断“下”方向键是否有发生焦点变动,如存在则判断抓取的焦点图片是否为新焦点图片:如果没有焦点变动,或者新焦点图片已经保存过,说明“下”方向键已经没焦点了,“逐行扫描”方式完成,结束;如果焦点有变动,同时截取焦点图片是新图片,保存该焦点图片,转入b)。

s705:查询该当前页面url1上是否还存在访问状态为未访问的焦点图片(也即为访问的访问接口),如是,转至s706;否则,转至s707。

s706:通过按键模块触发ok按键,触发该未访问的访问接口的业务逻辑,同时标记该页面url1下的该访问接口对应的焦点图片为已访问过。

s707:是否发生页面跳转,如是,转至s702;否则,否则,转至s705。

触发ok按键触发焦点的业务逻辑,可包括但不限于以下有两种结果:

第一种是只执行javascript或者空逻辑,是不发生页面跳转;

第二种触发了页面跳转到新的url,设定跳转新的url为url2。

针对第一种,仍然标记该页面的该焦点为访问过,转至s705的步骤;

针对第二种,将针对新页面url2执行s702的步骤。

s708:在当前页面url1中,该页面所有焦点对应的页面已经遍历过。判断当前页面url1是否为原始首页页面url_homeepg,如是,转至s710;否则,转至s709。

s709:退回到当前页面url1的上一级页面(标记为url0),然后转至s702。

s710:机顶盒的所有页面(本示例中为所有epg页面)遍历完成,测试结束。后续用户或开发人员可根据日志、保存的图片,进行问题现象回溯和定位等处理。

应当理解的是,本实施例中对机顶盒测试除了采用图7所示的测试流程外,也可采用逐级页面测试的方式,也即逐个对一个级别页面上的各页面上的所有访问接口进行访问测试完之后,再逐个进入该级别页面之下的各页面进行测试,以此类推,直到测试完最低级别的各页面上的各访问接口。

通过本实施例提供的机顶盒测试方法和装置,与相关技术中通过人工测试相比,可精确的遍历所有页面,做到无遗漏,并且可以遍历到采用javascript脚本拼接的链接页面,达到了既可以遍历所有页面效果,而且不需要人工维护,自动运行,节省了测试人力,提高了机顶盒自动测试效率等。

实施例三:

本实施例还提供了一种机顶盒,参见图8所示,其包括处理器801、存储器802以及通信总线803;

通信总线803用于实现处理器801与存储器802之间的通信连接;

一种示例中,处理器801可用于执行存储器802中存储的计算机程序,以实现如上各实施例中的机顶盒测试方法的步骤。

在本实施例中,由于机顶盒本身可设置有实现上述机顶盒测试方法的计算机程序,因此各机顶盒在需要时都可直接进入测试模式方便而快速、准确的完成自动测试,使得普通用户也可在需要时完成机顶盒的检测,进一步提升用户体验满意度。

本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(randomaccessmemory,随机存取存储器),rom(read-onlymemory,只读存储器),eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compactdiscread-onlymemory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。

在一种示例中,本实施例中的计算机可读存储介质可用于存储计算机程序,该计算机程序可被处理器执行,以实现如上各实施例中的机顶盒测试方法的步骤。

本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现如上各实施例所示的机顶盒测试方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。

本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的任一计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。

可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。

此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1