CN115827457A - 浏览器兼容性测试方法以及相关设备 - Google Patents
浏览器兼容性测试方法以及相关设备 Download PDFInfo
- Publication number
- CN115827457A CN115827457A CN202211542929.8A CN202211542929A CN115827457A CN 115827457 A CN115827457 A CN 115827457A CN 202211542929 A CN202211542929 A CN 202211542929A CN 115827457 A CN115827457 A CN 115827457A
- Authority
- CN
- China
- Prior art keywords
- browser
- page
- test
- browsers
- service test
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种浏览器兼容性测试方法以及相关设备,可以将不同类型的浏览器部署到不同的容器上;将针对浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行目标业务测试脚本;将各浏览器执行目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过业务测试结果页面同步展示不同类型浏览器对应的测试运行数据。本申请可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种浏览器兼容性测试方法以及相关设备。
背景技术
在软件项目开发过程中,特别是web前端的项目开发过程中,浏览器的兼容性是前端开发中非常重要的一部分,而为了保证开发好的前端页面能在各种类型的浏览器、各种版本浏览器下正常运行、正确显示,浏览器兼容性测试必不可少。
在目前的相关技术中,浏览器兼容性测试一般是通过测试人员分别在不同类型的浏览器上依次重复执行相同业务测试。这样耗费大量的时间,影响项目测试进度。
发明内容
本申请实施例提供一种浏览器兼容性测试方法以及相关设备,相关设备可以包括浏览器兼容性测试装置、电子设备、计算机可读存储介质和计算机程序产品,可以节省浏览器兼容性测试时间,提高测试效率。
本申请实施例提供一种浏览器兼容性测试方法,包括:
确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;
将针对所述浏览器的目标业务测试脚本分发到各个容器中;
并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;
将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
相应的,本申请实施例提供一种浏览器兼容性测试装置,包括:
确定单元,用于确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;
分发单元,用于将针对所述浏览器的目标业务测试脚本分发到各个容器中;
执行单元,用于并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;
展示单元,用于将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
本申请实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本申请实施例提供的浏览器兼容性测试方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的浏览器兼容性测试方法中的步骤。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现本申请实施例提供的浏览器兼容性测试方法中的步骤。
本申请实施例提供了一种浏览器兼容性测试方法以及相关设备,可以确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。本申请可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的浏览器兼容性测试方法的场景示意图;
图1b是本申请实施例提供的浏览器兼容性测试方法的流程图;
图1c是本申请实施例提供的浏览器兼容性测试方法的流程图;
图2是本申请实施例提供的浏览器兼容性测试方法的另一流程图;
图3是本申请实施例提供的浏览器兼容性测试装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种浏览器兼容性测试方法以及相关设备,相关设备可以包括浏览器兼容性测试装置、电子设备、计算机可读存储介质和计算机程序产品。该浏览器兼容性测试装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。
可以理解的是,本实施例的浏览器兼容性测试方法可以是在终端上执行的,也可以是在服务器上执行,还可以由终端和服务器共同执行的。以上举例不应理解为对本申请的限制。
如图1a所示,以终端和服务器共同执行浏览器兼容性测试方法为例。本申请实施例提供的浏览器兼容性测试系统包括终端10和服务器11等;终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等,其中,浏览器兼容性测试装置可以集成在服务器中。
其中,服务器11,可以用于:确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。其中,服务器11可以是单台服务器,也可以是由多个服务器组成的服务器集群或云服务器。
其中,终端10,可以用于:接收服务器11反馈的各浏览器执行所述目标业务测试脚本产生的测试运行数据,并通过业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。其中,终端10可以包括手机、智能电视、平板电脑、笔记本电脑、或个人计算机(PC,Personal Computer)等。终端10上还可以设置客户端,该客户端可以是应用程序客户端或浏览器客户端等等。
本申请实施例提供的浏览器兼容性测试方法涉及人工智能领域中的计算机视觉技术。
其中,人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等方向。
其中,计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从浏览器兼容性测试装置的角度进行描述,该浏览器兼容性测试装置具体可以集成在电子设备中,该电子设备可以是服务器或终端等设备。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
如图1b所示,该浏览器兼容性测试方法的具体流程可以如下:
101、确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上。
具体地,本实施例中,待测试的浏览器可以为页面兼容性待测试的浏览器,或者说,待测试的浏览器为需要访问待测试网页的浏览器。其中,待测试网页可以是开发人员制作完成,但还未通过兼容性测试的网页,可选地,待测试网页可以是一个包含HTML(HyperText Markup Language,超文本标记语言)标签的纯文本文件,为超文本标记语言格式,例如,待测试网页可以是html 5页面等等。
其中,待测试的浏览器具体为安装在终端上供用户使用的客户端,本实施例中,待测试的浏览器可以包括至少两种以上类型,如可以包括IE浏览器、Firefox浏览器、谷歌浏览器、Safari浏览器等等。可以理解的是,这里的类型不仅可以指浏览器的种类,也可以是指浏览器的场景类型,如处于不同场景下的IE浏览器可以视为两种不同类型的浏览器;还可以是指浏览器的版本类型,比如,IE7浏览器和IE11浏览器可以视为两种不同类型的浏览器。
可选地,本实施例中,各个待测试的浏览器可以是运行在同一个终端,也可以是运行在多个终端。
其中,容器集群包含至少一个容器,容器是软件的可执行单元,其中应用代码与库和依赖关系以通用方式打包在一起。容器利用操作系统虚拟化的形式,通过隔离进程和控制这些进程可以访问的CPU(中央处理器,central processing unit)量、内存量和磁盘量,让多个应用共享操作系统。
在web前端的项目开发过程中,浏览器兼容性问题是前端开发中非常重要的一部分,浏览器兼容性问题又被称为网页兼容性或网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。在网站的设计和制作中,做好浏览器兼容,才能够让网站在不同的浏览器下都正常显示。
本申请提供的浏览器兼容性测试方法可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
102、将针对所述浏览器的目标业务测试脚本分发到各个容器中。
其中,目标业务测试脚本具体可以是使用selenium、airtest等编写的UI(UserInterface)自动化脚本。目标业务测试脚本可以为用于测试浏览器页面兼容性的测试用例。具体地,目标业务测试脚本为检测浏览器是否能够正常访问、以及正常显示上述待测试网页的脚本。
在一具体场景中,可以在部署于容器的浏览器中,运行网页兼容性测试对应的Selenium脚本。Selenium是一种浏览器自动化测试框架,支持的浏览器可以包括IE(7,8,9,10,11),Mozilla Firefox,Safari,Google Chrome,Opera等,即适用于多种类型的浏览器,具有极高的兼容性。并且,Selenium直接运行在浏览器中,就像真正的用户在操作一样,而这一基础则在于,Selenium自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。也就是说,Selenium脚本是在客户端日常运行中对用户的动作自动录制生成的,这取代了人工编写测试脚本的过程,降低了人工成本和出错率,大大提升了网页兼容性测试的高效性。
103、并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本。
其中,容器可以将测试对象(也即浏览器)放置在自身内,与服务器的整体环境隔离开来,因此,开发人员可将测试对象所需的环境配置信息设置在此容器中,而不会影响服务器本身的环境配置。同时,服务器内可设置有多个容器,用以同时对不同测试对象进行测试,多个容器内分别部署有自身测试对象所需的环境配置信息,而由于多个容器间是相互隔绝的,则对不同测试对象同时进行的测试并不会产生相互干扰。因此,通过引入容器可实现同一服务器内部测试环境的多样性以及不同浏览器测试间的兼容性,可避免开发人员在每次测试时大幅度修改服务器的环境配置信息,减少了人力成本,提升网页兼容性测试的高效性。
可选地,本实施例中,步骤“并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本”之前,还可以包括:
获取环境配置指令;基于所述环境配置指令,配置所述容器集群中各容器的测试环境;
步骤“并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本”,可以包括:
并行启动各个容器,以使部署在各容器中的浏览器在对应的测试环境下同步执行所述目标业务测试脚本。
其中,环境配置信息包括CPU占比、内存占比和磁盘空间大小等,本实施例对此不作限制。
其中,可以获取生成的Docker镜像,根据环境配置指令对Docker镜像进行环境配置,使得配置后的Docker镜像包含运行时启动容器的测试环境。通过运行Docker镜像,启动一个容器,以便在容器的测试环境中运行目标业务测试脚本。
其中,Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
本实施例可以基于Docker容器的运行环境与外界完全隔离的特性,在容器中运行自动化测试脚本,实现了对待测试浏览器的测试。
104、将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
其中,业务测试结果页面为web前端的页面。
具体地,待测试的浏览器可以通过websocket把执行目标业务测试脚本所产生的测试运行数据传给容器服务器,容器服务器再把这些测试运行数据发送给管理测试的服务端,服务端再将测试运行数据传输给web前端的业务测试结果页面展示。
其中,websocket具体是基于TCP的全双工通信协议,是独立的、创建在TCP上的协议。
其中,将各个浏览器的测试运行数据同时显示在业务测试结果页面上,可以方便测试人员同时对多个浏览器的同一页面进行比较。
可选地,本实施例中,所述测试运行数据包括所述浏览器执行所述目标业务测试脚本时产生的日志信息、以及页面图像信息。
其中,日志信息可以用于分析待测试浏览器的测试结果。页面图像信息具体即浏览器运行目标业务测试脚本时的页面视图。
可选地,本实施例中,所述测试运行数据包括页面图像信息;
步骤“将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据”之后,还可以包括:
根据预设标准页面图像信息,对所述业务测试结果页面中展示的各个浏览器的页面图像信息进行批量比对分析;
根据比对分析结果进行浏览器页面兼容性分析,输出浏览器页面兼容性报告。
其中,预设标准页面图像信息可以预先设置的待测试网页的标准页面视图。
本实施例中,可以使用人工智能等技术,对页面图像信息进行分析,包含但不限于页面视图中每个按钮的位置,页面视图是否一致,图像是否有缺失等,从而判断浏览器是否具有页面的兼容性问题。
可选地,本实施例中,步骤“根据预设标准页面图像信息,对所述业务测试结果页面中展示的各个浏览器的页面图像信息进行批量比对分析”,可以包括:
提取预设标准页面图像信息在多个维度下的标准特征信息;
针对所述业务测试结果页面中展示的各个浏览器的页面图像信息,提取所述浏览器的页面图像信息在多个维度下的特征信息;
根据所述在多个维度下的标准特征信息与所述浏览器的页面图像信息在多个维度下的特征信息,确定所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度。
其中,可以通过神经网络模型来提取多个维度下的特征信息。
本实施例中,可以计算所述在多个维度下的标准特征信息与所述浏览器的页面图像信息在多个维度下的特征信息之间的向量距离,根据向量距离,确定所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度。向量距离越大,相似度越小;反之,向量距离越小,相似度越大。
可选地,本实施例中,步骤“根据比对分析结果进行浏览器页面兼容性分析,输出浏览器页面兼容性报告”,可以包括:
当所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度小于预设相似度阈值时,确定所述浏览器的页面兼容性测试结果为不兼容;
当所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度不小于预设相似度阈值时,确定所述浏览器的页面兼容性测试结果为兼容;
根据各个浏览器的页面兼容性测试结果,输出浏览器页面兼容性报告。
其中,预设相似度阈值可以根据实际情况进行设置。
在一具体实施例中,如图1c所示,为基于本申请的浏览器兼容性测试方法的流程图,具体描述如下:
其中,web前端可以通过调用服务端的图像显示信息接口(Api,应用程序编程接口)获取各个浏览器器的显示信息(也即上述实施例中的页面图像信息),以在前端页面(即上述实施例中的业务测试结果页面)上进行显示,还可以通过调用服务端的日志信息接口Api获取各个浏览器的日志信息在前端页面显示;另外,web前端还可以管理测试任务,测试脚本。
其中,服务端可以提供测试脚本增删改查,测试脚本执行任务队列的管理,其执行结果记录到相关的数据库等相关接口给前端使用。另外,通过vnc服务端可以与客户端建立连接,同时接收客户端传送过来的浏览器的图像信息,同时实时显示容器上websocket客户端实时上传的浏览器运行日志信息,并将其转化为相关的接口给前端使用。
其中,本实施例可以实现多节点测试脚本同步执行,具体地,通过使用selenium-gird模式,将不同容器下的不同浏览器作为测试脚本执行节点,在控制中心上下达执行命令后,业务测试脚本分发到不同容器下的不同浏览器开始执行。控制中心可以部署在web前端。
其中,selenium-gird是Selenium套件的一部分,可以用于并行运行多个测试用例在不同的浏览器、操作系统和机器上。Selenium是一个用于Web应用程序测试的工具。
为了节省硬件资源及实现同一种类型的浏览器安装不同的版本,可以在准备部署浏览器的云资源池的机器上先部署多个selenoid-ui(一种可以部署浏览器图像界面的容器)容器(docker),再在不同的docker里面部署不同版本的不同类的浏览器(如Safari、Chrome、IE、Firefox等)。
其中,可以通过VNC与控制中心建立连接,通过VNC客户端将安装在容器中的浏览器的页面图像信息实时传送到控制中心页面,实现浏览器页面同步。VNC(Virtual NetworkConsole是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件的。
另外,还可以将浏览器日志实时同步上传到web前端,具体地,可以是将安装好不同浏览器的容器通过websocket的方式(保证日志数据的实时性)与控制中心建立连接,在浏览器执行测试脚本时,实时将浏览器的运行的日志上传到控制中心。
本方法通过在不同类型不同版本的浏览器中同时执行相同的测试用例,并通过VNC的方式将不同浏览器的页面视图同步显示到控制中心页面上,这样测试人员就能同时在不同类型不同的版本的多个浏览器上执行同一个测试用例,这样能大大节省浏览器兼容性测试时间;还可以通过将不同的不同类型不同的版本的多个浏览器同一时间的页面视图同时显示在控制中心页面上,测试人员能方便快速对页面进行对比,发现页面显示的差异性。
由上可知,本实施例可以确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。本申请可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
根据前面实施例所描述的方法,以下将以该浏览器兼容性测试装置具体集成在服务器举例作进一步详细说明。
本申请实施例提供一种浏览器兼容性测试方法,如图2所示,该浏览器兼容性测试方法的具体流程可以如下:
201、服务器确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上。
具体地,本实施例中,待测试的浏览器可以为页面兼容性待测试的浏览器,或者说,待测试的浏览器为需要访问待测试网页的浏览器。其中,待测试网页可以是开发人员制作完成,但还未通过兼容性测试的网页。
可选地,本实施例中,各个待测试的浏览器可以是运行在同一个终端,也可以是运行在多个终端。
202、服务器获取环境配置指令;基于所述环境配置指令,配置所述容器集群中各容器的测试环境。
其中,容器可以将测试对象(也即浏览器)放置在自身内,与服务器的整体环境隔离开来,因此,开发人员可将测试对象所需的环境配置信息设置在此容器中,而不会影响服务器本身的环境配置。同时,服务器内可设置有多个容器,用以同时对不同测试对象进行测试,多个容器内分别部署有自身测试对象所需的环境配置信息,而由于多个容器间是相互隔绝的,则对不同测试对象同时进行的测试并不会产生相互干扰。因此,通过引入容器可实现同一服务器内部测试环境的多样性以及不同浏览器测试间的兼容性,可避免开发人员在每次测试时大幅度修改服务器的环境配置信息,减少了人力成本,提升网页兼容性测试的高效性。
其中,环境配置信息包括CPU占比、内存占比和磁盘空间大小等,本实施例对此不作限制。
203、服务器将针对所述浏览器的目标业务测试脚本分发到各个容器中。
其中,目标业务测试脚本具体可以是使用selenium、airtest等编写的UI(UserInterface)自动化脚本。目标业务测试脚本可以为用于测试浏览器页面兼容性的测试用例。具体地,目标业务测试脚本为检测浏览器是否能够正常访问、以及正常显示上述待测试网页的脚本。
204、服务器并行启动各个容器,以使部署在各容器中的浏览器在对应的测试环境下同步执行所述目标业务测试脚本。
其中,可以获取生成的Docker镜像,根据环境配置指令对Docker镜像进行环境配置,使得配置后的Docker镜像包含运行时启动容器的测试环境。通过运行Docker镜像,启动一个容器,以便在容器的测试环境中运行目标业务测试脚本。
其中,Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。
本实施例可以基于Docker容器的运行环境与外界完全隔离的特性,在容器中运行自动化测试脚本,实现了对待测试浏览器的测试。
205、服务器将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
其中,业务测试结果页面为web前端的页面。
具体地,待测试的浏览器可以通过websocket把执行目标业务测试脚本所产生的测试运行数据传给容器服务器,容器服务器再把这些测试运行数据发送给管理测试的服务端,服务端再将测试运行数据传输给web前端的业务测试结果页面展示。
其中,websocket具体是基于TCP的全双工通信协议,是独立的、创建在TCP上的协议。
其中,将各个浏览器的测试运行数据同时显示在业务测试结果页面上,可以方便测试人员同时对多个浏览器的同一页面进行比较。
可选地,本实施例中,所述测试运行数据包括所述浏览器执行所述目标业务测试脚本时产生的日志信息、以及页面图像信息。
其中,日志信息可以用于分析待测试浏览器的测试结果。页面图像信息具体即浏览器运行目标业务测试脚本时的页面视图。
由上可知,本实施例可以通过服务器确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;获取环境配置指令;基于所述环境配置指令,配置所述容器集群中各容器的测试环境;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器在对应的测试环境下同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。本申请可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
为了更好地实施以上方法,本申请实施例还提供一种浏览器兼容性测试装置,如图3所示,该浏览器兼容性测试装置可以包括确定单元301、分发单元302、执行单元303、以及展示单元304,如下:
(1)确定单元301;
确定单元,用于确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上。
(2)分发单元302;
分发单元,用于将针对所述浏览器的目标业务测试脚本分发到各个容器中。
(3)执行单元303;
执行单元,用于并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本。
可选的,在本申请的一些实施例中,所述执行单元可以包括环境配置子单元和执行子单元,如下:
所述环境配置子单元,用于获取环境配置指令;基于所述环境配置指令,配置所述容器集群中各容器的测试环境;
执行子单元,用于并行启动各个容器,以使部署在各容器中的浏览器在对应的测试环境下同步执行所述目标业务测试脚本。
(4)展示单元304;
展示单元,用于将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
可选的,在本申请的一些实施例中,所述测试运行数据包括所述浏览器执行所述目标业务测试脚本时产生的日志信息、以及页面图像信息。
可选的,在本申请的一些实施例中,所述测试运行数据包括页面图像信息;
所述浏览器兼容性测试装置还可以包括比对单元和兼容性分析单元,如下:
所述比对单元,用于根据预设标准页面图像信息,对所述业务测试结果页面中展示的各个浏览器的页面图像信息进行批量比对分析;
兼容性分析单元,用于根据比对分析结果进行浏览器页面兼容性分析,输出浏览器页面兼容性报告。
可选的,在本申请的一些实施例中,所述比对单元具体可以用于提取预设标准页面图像信息在多个维度下的标准特征信息;针对所述业务测试结果页面中展示的各个浏览器的页面图像信息,提取所述浏览器的页面图像信息在多个维度下的特征信息;根据所述在多个维度下的标准特征信息与所述浏览器的页面图像信息在多个维度下的特征信息,确定所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度。
可选的,在本申请的一些实施例中,所述兼容性分析单元具体可以用于当所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度小于预设相似度阈值时,确定所述浏览器的页面兼容性测试结果为不兼容;当所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度不小于预设相似度阈值时,确定所述浏览器的页面兼容性测试结果为兼容;根据各个浏览器的页面兼容性测试结果,输出浏览器页面兼容性报告。
由上可知,本实施例可以由确定单元301确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;通过分发单元302将针对所述浏览器的目标业务测试脚本分发到各个容器中;通过执行单元303并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;通过展示单元304将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。本申请可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
本申请实施例还提供一种电子设备,如图4所示,其示出了本申请实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及浏览器兼容性测试。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,该电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。本申请可以同时在不同类型的多个浏览器上执行相同的业务测试脚本,这样能大大节省浏览器兼容性测试时间,提高测试效率;而且,通过将不同类型多个浏览器同一时间的测试运行数据同时显示在业务测试结果页面上,能够方便测试人员快速对比,发现页面显示的差异性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种浏览器兼容性测试方法中的步骤。例如,该指令可以执行如下步骤:
确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;将针对所述浏览器的目标业务测试脚本分发到各个容器中;并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种浏览器兼容性测试方法中的步骤,因此,可以实现本申请实施例所提供的任一种浏览器兼容性测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述浏览器兼容性测试方面的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种浏览器兼容性测试方法以及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种浏览器兼容性测试方法,其特征在于,包括:
确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;
将针对所述浏览器的目标业务测试脚本分发到各个容器中;
并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;
将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
2.根据权利要求1所述的方法,其特征在于,所述并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本之前,还包括:
获取环境配置指令;基于所述环境配置指令,配置所述容器集群中各容器的测试环境;
所述并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本,包括:
并行启动各个容器,以使部署在各容器中的浏览器在对应的测试环境下同步执行所述目标业务测试脚本。
3.根据权利要求1所述的方法,其特征在于,所述测试运行数据包括所述浏览器执行所述目标业务测试脚本时产生的日志信息、以及页面图像信息。
4.根据权利要求1所述的方法,其特征在于,所述测试运行数据包括页面图像信息;
所述将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据之后,还包括:
根据预设标准页面图像信息,对所述业务测试结果页面中展示的各个浏览器的页面图像信息进行批量比对分析;
根据比对分析结果进行浏览器页面兼容性分析,输出浏览器页面兼容性报告。
5.根据权利要求4所述的方法,其特征在于,所述根据预设标准页面图像信息,对所述业务测试结果页面中展示的各个浏览器的页面图像信息进行批量比对分析,包括:
提取预设标准页面图像信息在多个维度下的标准特征信息;
针对所述业务测试结果页面中展示的各个浏览器的页面图像信息,提取所述浏览器的页面图像信息在多个维度下的特征信息;
根据所述在多个维度下的标准特征信息与所述浏览器的页面图像信息在多个维度下的特征信息,确定所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度。
6.根据权利要求5所述的方法,其特征在于,所述根据比对分析结果进行浏览器页面兼容性分析,输出浏览器页面兼容性报告,包括:
当所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度小于预设相似度阈值时,确定所述浏览器的页面兼容性测试结果为不兼容;
当所述预设标准页面图像信息和所述浏览器的页面图像信息之间的相似度不小于预设相似度阈值时,确定所述浏览器的页面兼容性测试结果为兼容;
根据各个浏览器的页面兼容性测试结果,输出浏览器页面兼容性报告。
7.一种浏览器兼容性测试装置,其特征在于,包括:
确定单元,用于确定待测试的至少两种类型的浏览器,并将不同类型的浏览器部署到容器集群中不同的容器上;
分发单元,用于将针对所述浏览器的目标业务测试脚本分发到各个容器中;
执行单元,用于并行启动各个容器,以使部署在各容器中的浏览器同步执行所述目标业务测试脚本;
展示单元,用于将各浏览器执行所述目标业务测试脚本产生的测试运行数据实时反馈至业务测试结果页面,以通过所述业务测试结果页面同步展示不同类型的浏览器对应的测试运行数据。
8.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至6任一项所述的浏览器兼容性测试方法中的操作。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的浏览器兼容性测试方法中的步骤。
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求1至6任一项所述的浏览器兼容性测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211542929.8A CN115827457A (zh) | 2022-12-02 | 2022-12-02 | 浏览器兼容性测试方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211542929.8A CN115827457A (zh) | 2022-12-02 | 2022-12-02 | 浏览器兼容性测试方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827457A true CN115827457A (zh) | 2023-03-21 |
Family
ID=85545010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211542929.8A Pending CN115827457A (zh) | 2022-12-02 | 2022-12-02 | 浏览器兼容性测试方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827457A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312713A (zh) * | 2023-10-10 | 2023-12-29 | 中国电力科学研究院有限公司 | 一种信创环境基于浏览器自动化流程处理的方法和系统 |
-
2022
- 2022-12-02 CN CN202211542929.8A patent/CN115827457A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312713A (zh) * | 2023-10-10 | 2023-12-29 | 中国电力科学研究院有限公司 | 一种信创环境基于浏览器自动化流程处理的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591696A (zh) | 一种手机软件行为数据提取方法及系统 | |
US11237948B2 (en) | Rendering engine component abstraction system | |
CN105975393B (zh) | 一种页面显示的检测方法及系统 | |
CN113791765B (zh) | 云服务的资源编排方法、装置、设备及存储介质 | |
US20060265469A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN113868126A (zh) | 应用调试方法、装置、设备的存储介质 | |
CN115061679B (zh) | 离线rpa元素拾取方法及系统 | |
CN112035768A (zh) | 快应用的页面渲染方法、装置、存储介质及电子设备 | |
WO2023040151A1 (zh) | 算法应用元生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
CN117370203B (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
Tuovenen et al. | MAuto: Automatic mobile game testing tool using image-matching based approach | |
CN112732587A (zh) | 一种自动化测试日志的获取方法、装置、电子设备及存储介质 | |
CN113704590A (zh) | 网页数据获取方法、装置、电子设备及存储介质 | |
WO2021061185A1 (en) | Test automation of application | |
CN115827457A (zh) | 浏览器兼容性测试方法以及相关设备 | |
CN111367501A (zh) | 软件在线开发方法、装置、设备和存储介质 | |
CN111176924B (zh) | 一种gpu掉卡模拟方法、系统、终端及存储介质 | |
CN116756016A (zh) | 多浏览器测试方法、装置、设备、介质及程序产品 | |
CN110737900A (zh) | 网页功能测试方法及装置、服务器和计算机可读存储介质 | |
CN115509913A (zh) | 软件自动化测试方法、装置、机器可读介质及设备 | |
CN114968741A (zh) | 一种基于场景平台化的性能测试方法、系统、设备和介质 | |
CN113553065A (zh) | 一种代码文件发布方法及装置 | |
CN112306844A (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 |