自动化测试方法、装置及系统与流程

文档序号:20511202发布日期:2020-04-24 18:33阅读:129来源:国知局
自动化测试方法、装置及系统与流程

本发明涉及互联网技术领域,尤其涉及自动化测试方法、装置及系统。



背景技术:

iptv即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。

随着iptv技术的发展,可以利用iptv来点播视频。为了保证用户点播时视频可以正常播放,在视频被点播之前需要对视频进行自动化测试,也即iptv自动化测试。

目前iptv自动化测试主要通过模拟红外遥控器向机顶盒发送红外信号,以使机顶盒输出与红外信号对应的视频数据,测试设备对机顶盒输出视频数据进行采样操作并获得采样后的图像数据,然后基于图像数据进行分析判断,从而完成自动化测试。

但是,由于机顶盒一次只能输出一个视频的视频数据,所以目前一次只能对一个视频进行自动化测试。在需要对多个视频进行自动化测试的情况下,需要较长测试时间,导致iptv自动化测试的效率偏低。



技术实现要素:

鉴于此,本发明提供自动化测试方法、装置及系统,可以一次对两个及以上的视频进行自动化测试,提高了自动化测试效率。

为了实现上述目的,本申请提供了下述技术特征:

一种自动化测试方法,包括:

获取多个视频一一对应的多个播放地址;

分别创建与所述多个播放地址一一对应的多个浏览器线程;

分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试。

可选的,在所述获取多个视频的播放地址之前,还包括:

检测已安装的浏览器是否支持视频播放操作;

若已安装的浏览器应用不支持视频播放操作,则于所述浏览器应用中加载视频播放插件。

可选的,所述分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试,包括:

每个浏览器线程均执行如下自动化测试操作:

浏览器线程从视频服务器获取与播放地址对应的视频数据;

浏览器线程加载所述视频数据;

在加载过程中执行截屏操作获得第一截屏图像;

若第一截屏图像与预设异常加载图像相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常。

可选的,还包括:

若第一截屏图像与预设异常加载图像不相似,则再次执行截屏操作获得第二截屏图像;

若所述第一截屏图像和第二截屏图像相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常;

若所述第一截屏图像和第二截屏图像不相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载正常。

可选的,所述获取多个视频的播放地址包括:

从测试队列中获取多个视频的播放地址;

其中所述测试队列包括:从数据库中获取多个视频的播放地址,或,从播放列表中获取多个视频的播放地址。

可选的,采用浏览器自动化测试框架来执行所述自动化测试方法。

一种自动化测试装置,包括:

获取单元,用于获取多个视频一一对应的多个播放地址;

创建单元,用于分别创建与所述多个播放地址一一对应的多个浏览器线程;

测试单元,用于分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试。

可选的,所述测试单元包括:

获取数据单元,用于浏览器线程从视频服务器获取与播放地址对应的视频数据;

加载单元,用于浏览器线程加载所述视频数据;

截屏单元,用于在加载过程中执行截屏操作获得第一截屏图像;

确定单元,用于若第一截屏图像与预设异常加载图像相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常。

可选的,所述截屏单元,还用于若第一截屏图像与预设异常加载图像不相似,则再次执行截屏操作获得第二截屏图像;

确定单元,还用于若所述第一截屏图像和第二截屏图像相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常;

确定单元,还用于若所述第一截屏图像和第二截屏图像不相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载正常。

一种自动化测试系统,包括:

安装有浏览器的处理设备和视频服务器;

所述处理设备,用于获取多个视频一一对应的多个播放地址;分别创建与所述多个播放地址一一对应的多个浏览器线程;分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试。

通过以上技术手段,可以实现以下有益效果:

本发明应用于安装有浏览器应用的处理设备上,可以理解的是,浏览器应用对应一个进程,在浏览器中一次可以打开多个浏览器页面,每个浏览器页面对应浏览器进程下的一个线程,不同浏览器页面可以加载不同视频。

为此,本发明可以分别创建与多个播放地址一一对应的多个浏览器线程,以分别利用多个浏览器线程一一对应的对多个视频执行自动化测试。这样可以一次对多个视频进行自动化测试,从而大大提高测试效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种自动化测试系统的结构示意图;

图2为本发明实施例公开的一种自动化测试方法的流程图;

图3为本发明实施例公开的又一种自动化测试方法的流程图;

图4为本发明实施例公开的一种自动化测试装置的结构示意图;

图5为本发明实施例公开的又一种自动化测试装置的结构示意图。

具体实施方式

技术术语:

浏览器自动化测试框架,又称selenium,是一个用于web应用程序测试的工具。selenium直接运行于浏览器中,就像真正用户在操作一样。selenium支持的浏览器包括ie(7、8、9、10、11),mozillafirefox,safari,googlechrome,opera等。而且,能够支持自动录制动作和自动生成.net、java、perl等不同语言的测试脚本。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种自动化测试系统,参见图1,包括:

安装有浏览器的处理设备100和视频服务器200。

处理设备100,用于获取多个视频一一对应的多个播放地址;分别创建与所述多个播放地址一一对应的多个浏览器线程;分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试。

关于处理设备的具体实现详见图2所示的实施例,再次暂不赘述。

通过上述技术特征可知本申请有以下有益效果:

本发明应用于安装有浏览器应用的处理设备上,可以理解的是,浏览器应用对应一个进程,在浏览器中一次可以打开多个浏览器页面,每个浏览器页面对应浏览器进程下的一个线程。

由于不同浏览器页面可以加载不同视频,为此本发明可以分别创建与多个播放地址一一对应的多个浏览器线程,以分别利用多个浏览器线程一一对应的对多个视频执行自动化测试。这样可以一次对多个视频进行自动化测试,从而大大提高测试效率。

本申请提供了一种自动化测试方法,应用于图1所示的自动化测试系统。参见图2,包括以下步骤:

步骤s201:处理设备检测自身是否安装浏览器应用。若是则进入步骤s202,若否则安装浏览器应用后进入步骤s202。

步骤s202:处理设备检测已安装的浏览器是否支持视频播放操作;若否则进入步骤s203,若是则进入步骤s204。

步骤s203:若已安装的浏览器应用不支持视频播放操作,则于所述浏览器应用中加载视频播放插件,进入步骤s204。

步骤s204:处理设备获取多个视频一一对应的多个播放地址。

处理设备可以从测试队列中获取多个视频的播放地址;其中所述测试队列包括:从数据库中获取多个视频的播放地址,或,从播放列表中获取多个视频的播放地址。

步骤s205:处理设备分别创建与所述多个播放地址一一对应的多个浏览器线程。

处理设备创建与播放地址数量一致的线程,也即打开与播放地址数量一致的页面,以用于在多个页面中分别播放多个视频。

步骤s206:处理设备分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试。

步骤s206的详细执行过程详见图3所示的实施例,在此暂不赘述。

通过上述技术特征可知本申请有以下有益效果:

本发明应用于安装有浏览器应用的处理设备上,可以理解的是,浏览器应用对应一个进程,在浏览器中一次可以打开多个浏览器页面,每个浏览器页面对应浏览器进程下的一个线程。

由于不同浏览器页面可以加载不同视频,为此本发明可以分别创建与多个播放地址一一对应的多个浏览器线程,以分别利用多个浏览器线程一一对应的对多个视频执行自动化测试。这样可以一次对多个视频进行自动化测试,从而大大提高测试效率。

下面对处理设备分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试的过程进行详细说明。由于每个浏览器线程的执行过程均是一致的,因此以一个浏览器线程为例对自动化测试过程进行详细描述。

参见图3,包括以下步骤:

步骤s301:浏览器线程从视频服务器获取与播放地址对应的视频数据。

处理设备与视频浏览器相连,浏览器线程从视频服务器中拉取与播放地址对应的视频数据。该视频数据可以为播放地址对应的整体视频数据,或者是整体视频中部分视频数据。

步骤s302:浏览器线程加载所述视频数据。

步骤s303:在加载过程中执行截屏操作获得第一截屏图像。

浏览器线程在获得视频数据后加载视频数据,在起始加载视频数据过程中执行截屏操作,并获得第一截屏数据。

正常情况下,加载视频数据后应该出现视频数据对应的图像。若起始加载异常则不会出现视频数据对应的图像,而是会出现一些异常加载图像。例如,黑屏图像等。

为此,处理设备中预先存储有预设异常加载图像,预设异常加载图像可以包括一个或多个图像。

步骤s304:计算第一截屏图像与预设异常加载图像的相似度。

关于两个图像计算相似度的过程已为成熟技术,在此不再赘述。

步骤s305:若相似度较高则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常。

若第一截屏图像与预设异常加载图像相似,则说明视频数据在起始加载过程中出现异常,测试结果即为起始加载异常。

步骤s306:若相似度较低,则再次执行截屏操作获得第二截屏图像。也即第一截屏图像与预设异常加载图像不相似。

若第一截屏图像与预设异常加载图像不相似,说明视频数据可以加载,为了进一步确定视频数据是否能够播放,再次执行截屏操作。

步骤s307:计算第一截屏图像和第二截屏图像的相似度。

步骤s308:若相似度高,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常。

若第一截屏图像和第二截屏图像相似,则说明视频数据停留在第一截屏图像处,没有继续播放。

步骤s309:若相似度低,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载正常。

若第一截屏图像和第二截屏图像不相似,则说明视频数据未停留在第一截屏图像处,而是在继续播放。因此,确定该播放地址起始加载正常。

通过以上技术手段,可以实现以下有益效果:

本发明应用于安装有浏览器应用的处理设备上,可以理解的是,浏览器应用对应一个进程,在浏览器中一次可以打开多个浏览器页面,每个浏览器页面对应浏览器进程下的一个线程,不同浏览器页面可以加载不同视频。

为此,本发明可以分别创建与多个播放地址一一对应的多个浏览器线程,以分别利用多个浏览器线程一一对应的对多个视频执行自动化测试。这样可以一次对多个视频进行自动化测试,从而大大提高测试效率。

下面介绍本申请的一种场景实施例。

处理设备为台式电脑,台式电脑中安装有浏览器应用。假设浏览器应用为chrome,chrome默认无法播放视频文件。

本实施例可以通过浏览器自动化测试框架,控制chrome浏览器添加视频播放插件、播放视频、对视频进行截图操作,并对视频进行自动化测试。下面进行具体描述:

浏览器自动化测试框架在浏览器应用中添加视频播放插件(例如nativehlsplayback),可以从数据库或从播放列表中获取视频的播放地址,将播放地址放入测试队列中,以供后续从测试队列中获取播放地址。

浏览器自动化测试框架从测试队列中获取播放地址,于浏览器进程中创建线程,并从视频服务器中获取与播放地址对应的视频数据。在加载视频数据过程中进行截图操作获得第一截屏图像。

采用灰度直方图算法判断第一截屏与预设异常图像的相似度,若相似则说明视频数据加载失败。若不相似则等待一段时间后,再次执行截屏操作,获得第二截屏图像。

采用灰度直方图算法计算第一截屏图像与第二截屏图像的相似度,以进行二次检测。若相似度低,说明视频画面在发生变化,确定视频加载成功。若相似度高,则说明视频画面未发生变化,确定视频加载失败。

参见图4,本申请提供了一种自动化测试装置,包括:

获取单元41,用于获取多个视频一一对应的多个播放地址;

创建单元42,用于分别创建与所述多个播放地址一一对应的多个浏览器线程;

测试单元43,用于分别利用所述多个浏览器线程一一对应的对所述多个视频执行自动化测试。

可选的,在所述获取单元41之前,还包括:

检测单元44,用于检测已安装的浏览器是否支持视频播放操作;

加载单元45,用于若已安装的浏览器应用不支持视频播放操作,则于所述浏览器应用中加载视频播放插件。

可选的,参见图5,所述测试单元43包括:

获取数据单元431,用于浏览器线程从视频服务器获取与播放地址对应的视频数据;

加载单元432,用于浏览器线程加载所述视频数据;

截屏单元433,用于在加载过程中执行截屏操作获得第一截屏图像;

确定单元434,用于若第一截屏图像与预设异常加载图像相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常。

其中,所述截屏单元433,还用于若第一截屏图像与预设异常加载图像不相似,则再次执行截屏操作获得第二截屏图像;

确定单元434,还用于若所述第一截屏图像和第二截屏图像相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载异常;

确定单元434,还用于若所述第一截屏图像和第二截屏图像不相似,则确定该播放地址对应的测试结果;其中测试结果包括:该播放地址起始加载正常。

可选的,所述获取单元41具体包括:从测试队列中获取多个视频的播放地址;其中所述测试队列包括:从数据库中获取多个视频的播放地址,或,从播放列表中获取多个视频的播放地址。

可选的,采用浏览器自动化测试框架来执行所述自动化测试装置中的各个软件模块。

关于自动化测试装置的具体实现可以参见图2和图3所示的实施例,在此不再赘述。

通过以上技术手段,可以实现以下有益效果:

本发明应用于安装有浏览器应用的处理设备上,可以理解的是,浏览器应用对应一个进程,在浏览器中一次可以打开多个浏览器页面,每个浏览器页面对应浏览器进程下的一个线程,不同浏览器页面可以加载不同视频。

为此,本发明可以分别创建与多个播放地址一一对应的多个浏览器线程,以分别利用多个浏览器线程一一对应的对多个视频执行自动化测试。这样可以一次对多个视频进行自动化测试,从而大大提高测试效率。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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