浏览器兼容性测试系统与方法与流程

文档序号:15144043发布日期:2018-08-10 20:14阅读:4201来源:国知局

本发明涉及程序测试技术领域,具体涉及一种针对浏览器的兼容性进行测试的系统与方法。



背景技术:

随着it产业的繁荣,现有的浏览器软件情况异常复杂,存在浏览器种类繁杂,版本众多的情况,这就导致在测试网页时需要进行复杂的兼容性测试,目前进行兼容性测试的两种方式是:

1)一台pc安装多个型号的浏览器进行测试;

2)多台pc各自安装一种浏览器进行测试。

由于网页自动化测试在进行时会独占进程,且同一pc安装多个浏览器容易出现环境冲突,所以在进行以上兼容性测试方式1)时并不理想,但以上测试方式2)又会消耗大量的硬件资源。



技术实现要素:

本发明克服了现有技术的不足,提供一种浏览器兼容性测试系统与方法,用于解决在进行兼容性测试时的环境隔离和资源浪费问题。

考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:

一种浏览器兼容性测试系统,包括:

用户交互界面模块,用于实现与用户的交互;

文件管理模块,用于对上传测试脚本的管理,并将所述测试脚本上传至部署有测试环境的容器;

docker镜像模块,用于存储预先生成的引擎docker镜像,所述docker镜像包含运行时启动容器的测试环境和当容器启动时运行目标测试脚本的操作指令;

容器管理模块,用于管理和运行安装的各待测浏览器测试环境的docker镜像,以便在容器的测试环境下运行所述目标测试脚本,实现对宿主机连接的测试终端中的待测试浏览器的测试,以及能够并行的启动两个及以上容器进行测试;

结果处理模块,用于获取容器在运行测试脚本过程所产生的结果文件,并将其反馈到用户交互界面进行展示和/或提供下载。

为了更好地实现本发明,进一步的技术方案是:

根据本发明的一个实施方案,所述结果文件包含日志文件。

根据本发明的另一个实施方案,所述结果处理模块将所述日志文件进行分析处理,得到测试报告。

根据本发明的另一个实施方案,所述结果处理模块将所述日志文件和/或测试报告反馈到用户交互界面。

根据本发明的另一个实施方案,所述用户交互界面模块,还包括用于:

用户指令的输入,测试脚本的上传,历史脚本和历史测试数据的管理。

根据本发明的另一个实施方案,所述测试脚本包括:生成命令菜单、测试数据脚本。

本发明还可以是:

一种浏览器兼容性测试方法,包括:

步骤1:在用户交互界面进行操作,上传测试脚本或调用历史脚本;

步骤2:用户选取要进行测试的浏览器,测试系统调用docker镜像模块中存储的相应镜像到容器管理模块;

步骤3:容器管理模块启动在步骤2中调度的docker镜像,并对启动结果做环境检测;

步骤4:测试系统通过文件管理模块将测试脚本上传到测试系统,并调用容器中的浏览器进行测试,实时的反馈测试进度;

步骤5:测试系统通过结果处理模块获取测试结果,将其反馈到用户交互界面,用户通过交互界面查看、管理和下载测试结果。

根据本发明的另一个实施方案,上述步骤3还包括对启动结果做环境检测。

根据本发明的另一个实施方案,上述步骤4还包括对测试结果进行存储。

根据本发明的另一个实施方案,上述结果处理模块从存储中获取测试结果。与现有技术相比,本发明的有益效果之一是:

本发明的一种浏览器兼容性测试系统与方法,利用基于docker的运行环境与外界完全隔离的特性,保持了数据隔离并降低了测试资源占用,具体地:1)有效减少了硬件资源消耗,提高了资源利用率;2)有效隔离了由于处于同一环境带来的数据干扰与污染;3)可以并行的在多个环境中运行测试脚本,提高了测试效率。

附图说明

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

图1为根据本发明一个实施例的系统结构框图。

图2为根据本发明一个实施例的方法流程框图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

图1为根据本发明一个实施例的系统结构框图,如图1所示,一种浏览器器兼容性测试系统,包括:

用户交互界面,用于输入用户指令、上传测试脚本、管理历史脚本和历史测试数据等,实现与用户的交互;

文件管理模块,用于对上传脚本的管理,并将之上传进入部署有测试环境的容器;

docker镜像模块,用于存储预先生成的容器引擎docker镜像所述docker镜像包含运行时所启动容器的测试环境,以及当容器启动时运行目标测试脚本的操作指令;

容器管理模块,用于管理和运行安装好各待测浏览器测试环境的docker镜像启动容器,以便在容器的测试环境下运行所述目标测试脚本,实现对宿主机连接的测试终端中的待测试浏览器的测试,用户通过本模块可以并行的启动多个容器进行测试;

结果处理模块,用于获取容器在运行测试脚本过程所产生的结果文件,并将之进行分析处理成较易读的测试报告,并将之反馈到用户交互界面进行展示和提供下载。

采用docker容器的集成方式,将待测浏览器和脚本测试所需组件部署在docker里面,形成docker集成测试环境,然后通过交互界面上传测试脚本和测试命令进行测试操作。

测试脚本包括:生成命令菜单、测试数据脚本等。

宿主机部署测试系统,利用docker镜像来构造独立的测试环境。

用户可通过前端交互界面对测试脚本、测试结果、测试数据等进行管理。

图2为根据本发明一个实施例的方法流程框图,如图2所示,一种浏览器器兼容性测试方法,包括:

步骤1:在用户交互界面进行操作,配置相关测试参数,上传脚本或调用历史脚本进行测试;

步骤2:用户选取要进行测试的浏览器,测试系统调用docker镜像模块中存储的相应docker镜像到容器管理模块,进行启动准备;

步骤3:容器管理模块启动在步骤2中调度的docker镜像,并对启动结果做一些环境检测,保障容器启动正确以备测试系统使用;

步骤4:测试系统通过文件管理模块将测试脚本上传到docker容器,并调用容器中的浏览器进行测试,实时的反馈测试进度,并将测试结果进行存储

步骤5:测试系统通过结果处理模块获取到第4步存储的测试结果,将其反馈到用户交互界面,用户通过交互界面管查看、管理和下载测试结果。

综上而言,本发明测试服务器获取预先生成的容器引擎docker镜像,该docker镜像包含运行时所启动容器的测试环境,以及当容器启动时运行目标测试脚本的操作指令;通过运行docker镜像,启动一个容器,以便在容器的测试环境中运行客户方通过交互界面提供的目标测试脚本,以实现对待测浏览器的自动化测试;测试完成后,获取容器在运行所述目标测试脚本过程所产生的日志文件,所述日志文件用于分析所述待测试应用程序的测试结果;最后测试系统将测试结果和日志等数据反馈到交互界面进行展示下载等。

本发明基于docker的运行环境与外界完全隔离的特性,在容器中运行自动化测试脚本,既实现了对待测试浏览器的测试,又保证了测试脚本无法对宿主机的文件系统进行破坏。

本说明书中各个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。

尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

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