CN114116491A - 网页程序测试方法、装置、电子设备及存储介质 - Google Patents

网页程序测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114116491A
CN114116491A CN202111439274.7A CN202111439274A CN114116491A CN 114116491 A CN114116491 A CN 114116491A CN 202111439274 A CN202111439274 A CN 202111439274A CN 114116491 A CN114116491 A CN 114116491A
Authority
CN
China
Prior art keywords
container
target container
port
test
target
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
CN202111439274.7A
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.)
Winning Health Technology Group Co Ltd
Original Assignee
Winning Health Technology Group 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 Winning Health Technology Group Co Ltd filed Critical Winning Health Technology Group Co Ltd
Priority to CN202111439274.7A priority Critical patent/CN114116491A/zh
Publication of CN114116491A publication Critical patent/CN114116491A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种网页程序测试方法、装置、电子设备及存储介质,涉及自动化测试技术领域。该网页程序测试方法包括:获取针对目标网页程序的自动化测试任务的测试启动命令,根据测试启动命令中的主机端口以及目标容器的名称,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。根据虚拟桌面和虚拟网络控制台构建的目标容器,具有虚拟桌面和远程访问的功能。一方面,自动化测试任务可以在虚拟桌面中模拟在有图形界面的条件下运行;另一方面,虚拟网络控制台能够实现对虚拟桌面的远程访问,进而能够将虚拟桌面中运行的图形界面进行展示。

Description

网页程序测试方法、装置、电子设备及存储介质
技术领域
本发明涉及自动化测试技术领域,具体而言,涉及一种网页程序测试方法、装置、电子设备及存储介质。
背景技术
随着信息化现代互联网的迅速发展,对网络程序进行自动化测试的需求越来越大。
现有的单台计算设备网络自动化测试方式主要利用容器化技术,即通过计算设备启动多个容器,将不同的测试集分发到不同的容器中,实现并发测试。
但是这种测试方法由于容器无法提供可视化界面,自动化测试时看不到实际测试过程,无法保证测试的可靠性,测试体验感差。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种网页程序测试方法、装置、电子设备及存储介质,以便实现基于容器的可视化网页程序测试。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种网页程序测试方法,包括:
获取针对目标网页程序的自动化测试任务的测试启动命令,所述测试启动命令包括:主机端口和容器端口的第一映射关系、目标容器的名称;其中,所述主机端口为所述自动化测试任务对应的目标容器所在主机上对应的访问端口,所述容器端口为所述目标容器的访问端口;所述目标容器为预先根据虚拟桌面和虚拟网络控制台构建的容器;
根据所述主机端口以及所述目标容器的名称,采用所述第一映射关系,通过所述目标容器的端口将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本。
可选的,所述测试启动命令还包括:主机目录和容器目录的第二映射关系,其中,所述主机目录为所述自动化测试任务的测试目录,所述容器目录为所述目标容器的测试目录;所述容器目录中存储有:所述目标容器执行所述自动化脚本得到的测试报告;
所述方法还包括:
根据所述主机目录和所述目标容器的名称,采用所述第二映射关系,从所述容器目录中获取所述测试报告。
可选的,所述测试启动命令还包括:所述目标容器的删除指令;所述方法还包括:
根据所述主机端口、所述目标容器的名称及所述删除指令,采用所述第一映射关系,通过所述目标容器的端口控制所述目标容器在执行完成后自动删除。
可选的,所述测试启动命令还包括:所述目标容器的访问参数;所述根据所述主机端口以及所述目标容器的名称,采用所述第一映射关系,通过所述目标容器的端口,将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本,包括:
根据所述主机端口、所述目标容器的名称及所述访问参数,采用所述第一映射关系,通过所述目标容器的端口将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本。
可选的,所述获取针对目标网页程序的自动化测试任务的测试启动命令之前,所述方法还包括:
根据所述自动化测试任务的标识,从预设的多个自动化测试集中,确定所述自动化测试任务的自动化脚本,所述多个自动化测试集中存储有:多个自动化测试任务的测试脚本。
可选的,所述获取针对目标网页程序的自动化测试任务的测试启动命令之前,所述方法还包括:
根据所述自动化测试任务的标识,采用预设的主机端口程序,为所述自动化测试任务申请所述主机端口。
可选的,所述获取针对目标网页程序的自动化测试任务的测试启动命令之前,所述方法还包括:
在容器仓库中的无浏览器容器镜像的基础上,安装所述虚拟桌面、所述虚拟网络控制台、开发工具包以及目标浏览器对应的网页驱动程序,得到目标容器镜像;
基于所述目标容器镜像,生成所述目标容器。
第二方面,本申请实施例还提供了一种网页程序测试装置,包括:获取模块,处理模块;
所述获取模块,用于获取针对目标网页程序的自动化测试任务的测试启动命令,所述测试启动命令包括:主机端口和容器端口的第一映射关系、目标容器的名称;其中,所述主机端口为所述自动化测试任务对应的目标容器所在主机上对应的访问端口,所述容器端口为所述目标容器的访问端口;所述目标容器为预先根据虚拟桌面和虚拟网络控制台构建的容器;
所述处理模块,用于根据所述主机端口以及所述目标容器的名称,采用所述第一映射关系,通过所述目标容器的端口将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如第一方面任一所述的网页程序测试方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的网页程序测试方法的步骤。
本申请的有益效果是:本申请实施例提供一种网页程序测试方法,获取针对目标网页程序的自动化测试任务的测试启动命令,根据测试启动命令中的主机端口以及目标容器的名称,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。根据虚拟桌面和虚拟网络控制台构建的目标容器,具有虚拟桌面和远程访问的功能。一方面,自动化测试任务可以在虚拟桌面中模拟在有图形界面的条件下运行;另一方面,虚拟网络控制台能够实现对虚拟桌面的远程访问,进而能够将虚拟桌面中运行的图形界面进行展示,很好的解决容器无法提供可视化界面,无法观察到自动化测试任务实际执行过程的短板。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种网页程序测试方法的流程示意图;
图2为本申请又一实施例提供的一种网页程序测试方法中目标容器生成的流程图;
图3为本申请一实施例提供的一种网页程序测试装置的示意图;
图4为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
在本申请中,除非另有明确的规定和限定,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包含至少一个特征。在本发明中的描述中,“多个”的含义是至少两个,例如两个、三个,除非另有明确具体的限定。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着互联网技术的不断发展,网页程序测试主要经历了容器化技术出现之前、容器化技术出现之后两个阶段。在容器化技术出现之前,单台计算机设备不能同时启动多个网页程序自动化测试任务。要想实行并发测试(即同时执行多个测试集,每个测试集中包含多个测试用例),必须将不同的测试集分别分发到不同的计算机设备上。或者在计算机设备上开启多个虚拟机来同时执行多个自动化测试任务,但虚拟机资源占用高,导致对计算机设备的配置要求高,单台计算机设备能实现的虚拟机数量有限。容器化技术出现之后,单台计算机设备可以通过启动多个容器,将不同的测试集分发到不同的容器中,达到并发测试的目的。但是由于容器具体运行过程不可见,自动化测试只能采取无头模式(即headless模式,该模式下看不到浏览器实际操作过程),导致这种测试方法的可靠性被用户所诟病。
采取多台计算机设备或采取虚拟机的方式时,资源浪费非常大、成本高。采取容器化的方法时,无法确保测试可靠性,测试体验感差。因此,目前网页程序测试方法的测试效果不理想,测试效率低下。
针对上述问题,本申请实施例提供了多种可能的实现方式,以实现基于容器的可视化网页程序测试。如下结合附图通过多个示例进行解释说明。图1为本申请实施例提供的一种网页程序测试方法的流程示意图,该网页程序测试方法可由运行有上述方法程序的电子设备实现,该电子设备例如可以为终端设备,也可以为服务器。如图1所示,该方法包括:
步骤101:获取针对目标网页程序的自动化测试任务的测试启动命令,测试启动命令包括:主机端口和容器端口的第一映射关系、目标容器的名称;其中,主机端口为自动化测试任务对应的目标容器所在主机上对应的访问端口,容器端口为目标容器的访问端口;目标容器为预先根据虚拟桌面和虚拟网络控制台构建的容器。
需要说明的是,主机上可以包括多个端口,该端口为主机与外界通信交流的出入口,其可以为虚拟端口,也可以为物理端口,本申请对此不做限定,能够实现本申请的网页程序测试方法即可。
还需要说明的是,容器可以通过容器端口与主机端口建立通信连接,具体而言,在容器A中可以包括容器端口I,当该容器端口I与其他端口匹配连接后,可以通过其他端口实现容器A与该端口对应主体的数据传输或数据交互。例如,当此访问端口I与主机B的主机端口匹配连接后,主机B可以通过访问端口I实现容器A与主机B的数据传输或数据交互。
在针对目标网页程序的自动化测试任务的测试启动命令中包括:主机端口和容器端口的第一映射关系,主机端口和容器端口的第一映射关系实现了主机端口与容器端口的匹配连接。在针对目标网页程序的自动化测试任务的测试启动命令中还包括:目标容器的名称,其中,目标容器即为自动化测试任务对应的容器,目标容器预先根据虚拟桌面和虚拟网络控制台进行构建。
需要说明的是,虚拟桌面是指为程序的图形界面提供的虚拟化运行环境,即以虚拟的方式模拟程序在有图形界面的条件下运行。在一种具体的实现方式中,可以基于虚拟帧缓冲区(Xvfb,X virtual frame buffer)实现虚拟桌面。上述仅为实例说明,在实际实现中,还可以有其他的虚拟桌面实现方式,本申请对此不做限定。
还需要说明的是,虚拟网络控制台是能够实现远程控制(或称,远程桌面)功能的桌面控制组件。在一种具体的实现方式中,可以基于VNC(Virtual Network Console)实现虚拟网络控制台。上述仅为实例说明,在实际实现中,还可以有其他的虚拟网络控制台的可能实现方式,本申请对此不做限定。
步骤102:根据主机端口以及目标容器的名称,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。
在一种可能的实现方式中,可以在测试启动命令中使用“-p主机端口:容器端口”的形式描述主机端口和容器端口的第一映射关系,例如:“-p6901:6901”表示将主机的6901(冒号前面的)端口映射到容器的6901(冒号后面的),这样实现了主机端口与容器端口的匹配连接,即通过访问主机的6901端口就可以访问到容器的6901端口了。
在另一种可能的实现方式中,主机根据主机端口以及目标容器的名称,采用第一映射关系,将自动化测试任务的自动化脚本通过目标容器的端口映射至目标容器中,以在目标容器中执行自动化脚本。
在一种可能的实现方式中,主机可以根据第一映射关系以及目标容器的名称,将自动化脚本通过第一映射关系映射到目标容器中,为自动化脚本在目标容器中运行提供基础。在一种具体的实现方式中,主机可以使用jenkins,每个jenkins job对应至少一个自动化脚本对应一个。Jenkins的每个job都需要向主机申请一个可用的映射端口,即第一映射关系中的访问端口,并将自己管理的自动化测试任务通过第一映射关系映射到容器中。
综上,本申请实施例提供一种网页程序测试方法,获取针对目标网页程序的自动化测试任务的测试启动命令,根据测试启动命令中的主机端口以及目标容器的名称,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。根据虚拟桌面和虚拟网络控制台构建的目标容器,具有虚拟桌面和远程访问的功能。一方面,自动化测试任务可以在虚拟桌面中模拟在有图形界面的条件下运行;另一方面,虚拟网络控制台能够实现对虚拟桌面的远程访问,进而能够将虚拟桌面中运行的图形界面进行展示,很好的解决容器无法提供可视化界面,无法观察到自动化测试任务实际执行过程的短板。
可选的,在上述图1的基础上,本申请还提供一种网页程序测试方法的可能实现方式,测试启动命令还包括:主机目录和容器目录的第二映射关系,其中,主机目录为自动化测试任务的测试目录,容器目录为目标容器的测试目录;容器目录中存储有:目标容器执行自动化脚本得到的测试报告;该方法还包括:
根据主机目录和目标容器的名称,采用第二映射关系,从容器目录中获取测试报告。
需要说明的是,测试启动命令中还包括主机目录和容器目录的第二映射关系,通过第二映射关系,主机可以通过访问主机目录,获取容器目录中目标容器执行自动化脚本得到的测试报告。
在一种可能的实现方式中,“-v”代表了目录映射,可以通过“-v主机目录:容器目录”,实现第二映射关系。例如,“-v${WORKSPACE}/xtest:/tmp/xtest”,-v将自动化脚本的工作目录下的xtest目录(${WORKSPACE}/xtest)映射了容器的/tmp/xtest目录,当容器完成自动化测试过程后,将自动化测试报告保存到容器的/tmp/xtest目录下,主机通过访问自动化脚本当前工作目录下的xtest目录(即${WORKSPACE}/xtest),即可获取到测试报告。
若主机可以使用jenkins,自动化脚本为jenkins job,-v将jenkins当前job的工作目录下的xtest目录(${WORKSPACE}/xtest)映射了容器的/tmp/xtest目录,当容器完成自动化测试过程并将自动化测试报告保存到/tmp/xtest目录后,我们通过访问jenkins当前job的工作目录下的xtest目录,就可以获取到测试报告。
在一种可能的实现方式中,还可以将自动化脚本当前工作目录下的xtest目录下的测试报告导出保存,本申请对此不做限定。
通过第二映射关系,当容器完成自动化测试过程并将自动化测试报告保存后,我们通过主机目录,接口获取对应容器目录下保存的测试报告,无需去容器中获取,减少了操作的复杂度。
可选的,在上述图1的基础上,本申请还提供一种网页程序测试方法的可能实现方式,测试启动命令还包括:目标容器的删除指令;该方法还包括:
根据主机端口、目标容器的名称及删除指令,采用第一映射关系,通过目标容器的端口控制目标容器在执行完成后自动删除。
需要说明的是,测试启动命令还包括:目标容器的删除指令,根据该指令以及主机端口、目标容器的名称,采用第一映射关系,使得目标容器在执行指令完成后自动删除。
在一种可能的实现方式中,可以使用“--rm”实现对目标容器的删除。例如,使用“--rm”,目标容器执行完自动化脚本后自动删除。需要说明的是,自动删除的内容既可以包括第一映射关系,也可以包括在自动化脚本运行中占用的物理资源(例如容器占用的硬盘、内存、CPU等),本申请对具体删除的内容不做限定,用户可以根据使用需要进行设定。
通过在测试启动命令中增加目标容器的删除指令,确保端口和物理资源即时释放,以供再次利用,保证了端口资源、物理资源的使用效率。
可选的,在上述图1的基础上,本申请还提供一种网页程序测试方法的可能实现方式,测试启动命令中还包括:目标容器的访问参数;根据主机端口以及目标容器的名称,采用第一映射关系,通过目标容器的端口,将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本时,该方法包括:
根据主机端口、目标容器的名称及访问参数,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。
需要说明的是,测试启动命令中还可以包括:目标容器的访问参数,其中目标容器的访问参数是主机访问目标容器时,与目标容器建立通信连接所需的各项参数,例如目标容器的访问参数可以是目标容器的访问密码、预设的通信连接口令等,本申请对访问参数的具体形式、内容等不做限定。
在一种具体的实现方式中,目标容器具体的构建过程中还包括:安装虚拟桌面和虚拟网络控制台,并设定虚拟网络控制台的访问参数。
在一种可能的实现方式中,“VNC_PW”代表了访问参数,可以通过向“VNC_PW”赋值,实现对虚拟网络控制台的访问参数的设定。例如“VNC_PW=123456”表示此虚拟网络控制台的访问参数为123456。
在一种具体的实现方式中,目标容器的生成过程中可以对访问参数进行设定,例如,若目标容器为docker容器,在其中安装Xvbf和VNC,并设定VNC的访问参数(例如设定访问密码为123456。此为示例说明,VNC的控制参数包括但不限于访问密码)。设定好访问参数后,若测试启动命令中的访问参数与目标容器设定的访问参数相同,即可实现容器端口与主机访问端口的通信连接。进而根据主机端口以及目标容器的名称,采用第一映射关系,将自动化测试任务的自动化脚本映射至目标容器中。
通过设置目标容器的访问参数,实现了容器与主机之间的认证,进一步保证了***的稳定性与安全性。
可选的,在上述图1的基础上,本申请还提供一种网页程序测试方法的可能实现方式,获取针对目标网页程序的自动化测试任务的测试启动命令之前,该方法还包括:
根据自动化测试任务的标识,从预设的多个自动化测试集中,确定自动化测试任务的自动化脚本,多个自动化测试集中存储有:多个自动化测试任务的测试脚本。
需要说明的是,每一个自动化测试任务中包括一个自动化测试集,每个自动化测试集中包括一个或多个自动化测试用例(亦称测试脚本)。在一种可能的实现方式中,主机可以根据自动化测试任务的标识,从多个自动化测试集中,确定自动化测试任务的自动化脚本。
在一种具体的实现方式中,主机可以使用jenkins,分别针对不同的自动化测试集新建不同的jenkins job,即一个job对应一个自动化任务,负责管理一个自动化测试集。Jenkins的每个job具有一个自动化测试任务的标识,主机可以通过此标识,从多个自动化测试集中,确定自动化测试任务的自动化脚本。
根据自动化测试任务的标识,从多个自动化测试集中,确定自动化测试任务的自动化脚本,从而更有条理地实现了对自动化测试任务的分配,增强了程序运行的鲁棒性。
可选的,在上述图1的基础上,本申请还提供一种网页程序测试方法的可能实现方式,获取针对目标网页程序的自动化测试任务的测试启动命令之前,该方法还包括:
根据自动化测试任务的标识,采用预设的主机端口程序,为自动化测试任务申请主机端口。
本申请的主机基于与容器中的虚拟网络控制台进行通信,实现远程访问及容器的可视化,因此需要将容器端口映射到一个主机访问端口(后面简PORT),然后通过https://IP:PORT访问容器。在一种可能的实现方式中,启动容器时,可以通过预设的主机端口程序,将容器端口映射到主机的一个可用访问端口中,然后可以通过https://IP:PORT的方式访问该容器;在另一种可能的实现方式中,若需要启动多个容器时(例如进行并发测试时),即可以通过预设的主机端口程序,将多个容器的容器端口映射到主机的不同访问端口,然后不同的容器就可以通过https://IP:PORT的方式,以不同的端口分别访问。预设的主机端口程序,主要用于端口管理,确保不同的容器启动时,能够提供出一个可用的端口,用于映射容器端口。由此,根据自动化测试任务的标识,采用预设的主机端口程序,就可以为自动化测试任务申请主机端口。上述实现方式仅为示例说明,在实际实现中,还可能有其他主机端口程序的可能实现方式,本申请对此不做限定,能够实现为自动化测试任务申请主机端口即可。
在一种具体的实现方式中,主机基于与容器中VNC进行通讯,实现远程访问及容器的可视化,因此需要将容器中的VNC端口映射一个主机访问端口(后面简PORT),然后通过https://IP:PORT访问容器。此外,在并发测试中需要启动多个容器,需要将多个容器的VNC端口映射到PC的不同端口,然后不同的容器就可以通过https://IP:PORT的方式,以不同的端口分别访问。
通过预设的主机端口程序实现合理的自动化任务分发,由此可实现自动化端口匹配,在此基础上,还可以基于容器解决并发测试的问题。
可选的,在上述实施例的基础上,本申请还提供一种网页程序测试方法中目标容器生成的可能实现方式,图2为本申请又一实施例提供的一种网页程序测试方法中目标容器生成的流程图;如图2所示,获取针对目标网页程序的自动化测试任务的测试启动命令之前,该方法还包括:
步骤201:在容器仓库中的无浏览器容器镜像的基础上,安装虚拟桌面、虚拟网络控制台、开发工具包以及目标浏览器对应的网页驱动程序,得到目标容器镜像。
在一种可能的实现方式中,目标容器具体的构建过程可以为:首先安装浏览器,并根据自动化测试任务的编写语言,安装对应的软件开发工具包;其次,安装虚拟桌面和虚拟网络控制台;再次,安装浏览器对应版本的网页驱动程序;最后生成容器,为容器命名。
需要说明的是,上述构建过程中的具体步骤仅为实例说明,在实际实现中,可以调换上述步骤的顺序或者将步骤中的具体动作穿插进行,例如,首先安装浏览器,其次安装虚拟桌面和虚拟网络控制台,在此基础上安装对应的软件开发工具包等,本申请对此不做限定,能够实现本申请的目标容器的构建即可。
在一种具体的实现方式中,目标容器可以为docker容器,自动化测试任务采用Java语言编写,其具体的构建过程可以为:首先,安装chrome浏览器、Java语言对应的软件开发工具包,即JDK(例如java8);其次,安装Xvbf和VNC;再次,安装浏览器对应版本的webDriver网页驱动程序;最后生成容器,为容器命名(例如:uitest:2021)。
在一种具体的实现方式中,还可以通过借助容器仓库(https://hub.docker.com/)中的一些制作好的镜像(容器是基于镜像生成)作为基础,在镜像基础上进行构建,从而加快容器构建的速度。例如,借助browserless/chrome镜像,由于这个镜像本身已经安装好了chrome,即本身具有浏览器,则在构建中,无需安装浏览器,从而加快了构建速度。在此基础上,安装虚拟桌面、虚拟网络控制台、开发工具包以及目标浏览器对应的网页驱动程序,即可得到目标容器镜像,具体步骤如上述实现方式所示,本申请在此不再赘述。
步骤202:基于目标容器镜像,生成目标容器。
在容器仓库中的无浏览器容器镜像的基础上,安装虚拟桌面、虚拟网络控制台、开发工具包以及目标浏览器对应的网页驱动程序,得到目标容器镜像,并基于上述生成的目标容器镜像,生成容器,从而加快了构建速度。
下述对用以执行本申请所提供的网页程序测试装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
本申请实施例提供一种网页程序测试装置的可能实现示例,能够执行上述实施例提供的网页程序测试方法。图3为本申请一实施例提供的一种网页程序测试装置的示意图。如图3所示,上述网页程序测试装置100,包括:获取模块31,处理模块33;
获取模块31,用于获取针对目标网页程序的自动化测试任务的测试启动命令,测试启动命令包括:主机端口和容器端口的第一映射关系、目标容器的名称;其中,主机端口为自动化测试任务对应的目标容器所在主机上对应的访问端口,容器端口为目标容器的访问端口;目标容器为预先根据虚拟桌面和虚拟网络控制台构建的容器;
处理模块33,用于根据主机端口以及目标容器的名称,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。
可选的,测试启动命令还包括:主机目录和容器目录的第二映射关系,其中,主机目录为自动化测试任务的测试目录,容器目录为目标容器的测试目录;容器目录中存储有:目标容器执行自动化脚本得到的测试报告;
处理模块33,具体用于根据主机目录和目标容器的名称,采用第二映射关系,从容器目录中获取测试报告。
可选的,测试启动命令还包括:目标容器的删除指令;处理模块33,具体用于根据主机端口、目标容器的名称及删除指令,采用第一映射关系,通过目标容器的端口控制目标容器在执行完成后自动删除。
可选的,测试启动命令还包括:目标容器的访问参数;处理模块33,具体用于根据主机端口、目标容器的名称及访问参数,采用第一映射关系,通过目标容器的端口将自动化测试任务的自动化脚本映射至目标容器中,以在目标容器中执行自动化脚本。
可选的,网页程序测试装置100,还包括:确定模块;确定模块,获取针对目标网页程序的自动化测试任务的测试启动命令之前,具体用于根据自动化测试任务的标识,从预设的多个自动化测试集中,确定自动化测试任务的自动化脚本,多个自动化测试集中存储有:多个自动化测试任务的测试脚本。
可选的,网页程序测试装置100,还包括:申请模块;申请模块,具体用于根据自动化测试任务的标识,采用预设的主机端口程序,为自动化测试任务申请主机端口。
可选的,网页程序测试装置100,还包括:容器生成模块;容器生成模块,具体用于在容器仓库中的无浏览器容器镜像的基础上,安装虚拟桌面、虚拟网络控制台、开发工具包以及目标浏览器对应的网页驱动程序,得到目标容器镜像;基于目标容器镜像,生成目标容器。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
本申请实施例提供一种电子设备的可能实现示例,能够执行上述实施例提供的网页程序测试方法。图4为本申请实施例提供的一种电子设备的示意图,该设备可以集成于终端设备或者终端设备的芯片,该终端可以是具备数据处理功能的计算设备。
该电子设备包括:处理器401、存储介质402和总线,存储介质存储有处理器可执行的程序指令,当控制设备运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行上述网页程序测试方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
本申请实施例提供一种计算机可读存储介质的可能实现示例,能够执行上述实施例提供的网页程序测试方法,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述网页程序测试方法的步骤。
存储在一个存储介质中的计算机程序,可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种网页程序测试方法,其特征在于,包括:
获取针对目标网页程序的自动化测试任务的测试启动命令,所述测试启动命令包括:主机端口和容器端口的第一映射关系、目标容器的名称;其中,所述主机端口为所述自动化测试任务对应的目标容器所在主机上对应的访问端口,所述容器端口为所述目标容器的访问端口;所述目标容器为预先根据虚拟桌面和虚拟网络控制台构建的容器;
根据所述主机端口以及所述目标容器的名称,采用所述第一映射关系,通过所述目标容器的端口将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本。
2.根据权利要求1所述的方法,其特征在于,所述测试启动命令还包括:主机目录和容器目录的第二映射关系,其中,所述主机目录为所述自动化测试任务的测试目录,所述容器目录为所述目标容器的测试目录;所述容器目录中存储有:所述目标容器执行所述自动化脚本得到的测试报告;
所述方法还包括:
根据所述主机目录和所述目标容器的名称,采用所述第二映射关系,从所述容器目录中获取所述测试报告。
3.根据权利要求1所述的方法,其特征在于,所述测试启动命令还包括:所述目标容器的删除指令;所述方法还包括:
根据所述主机端口、所述目标容器的名称及所述删除指令,采用所述第一映射关系,通过所述目标容器的端口控制所述目标容器在执行完成后自动删除。
4.根据权利要求1所述的方法,其特征在于,所述测试启动命令还包括:所述目标容器的访问参数;所述根据所述主机端口以及所述目标容器的名称,采用所述第一映射关系,通过所述目标容器的端口,将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本,包括:
根据所述主机端口、所述目标容器的名称及所述访问参数,采用所述第一映射关系,通过所述目标容器的端口将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本。
5.根据权利要求1所述的方法,其特征在于,所述获取针对目标网页程序的自动化测试任务的测试启动命令之前,所述方法还包括:
根据所述自动化测试任务的标识,从预设的多个自动化测试集中,确定所述自动化测试任务的自动化脚本,所述多个自动化测试集中存储有:多个自动化测试任务的测试脚本。
6.根据权利要求1所述的方法,其特征在于,所述获取针对目标网页程序的自动化测试任务的测试启动命令之前,所述方法还包括:
根据所述自动化测试任务的标识,采用预设的主机端口程序,为所述自动化测试任务申请所述主机端口。
7.根据权利要求1-6中任一所述的方法,其特征在于,所述获取针对目标网页程序的自动化测试任务的测试启动命令之前,所述方法还包括:
在容器仓库中的无浏览器容器镜像的基础上,安装所述虚拟桌面、所述虚拟网络控制台、开发工具包以及目标浏览器对应的网页驱动程序,得到目标容器镜像;
基于所述目标容器镜像,生成所述目标容器。
8.一种网页程序测试装置,其特征在于,包括:获取模块,处理模块;
所述获取模块,用于获取针对目标网页程序的自动化测试任务的测试启动命令,所述测试启动命令包括:主机端口和容器端口的第一映射关系、目标容器的名称;其中,所述主机端口为所述自动化测试任务对应的目标容器所在主机上对应的访问端口,所述容器端口为所述目标容器的访问端口;所述目标容器为预先根据虚拟桌面和虚拟网络控制台构建的容器;
所述处理模块,用于根据所述主机端口以及所述目标容器的名称,采用所述第一映射关系,通过所述目标容器的端口将所述自动化测试任务的自动化脚本映射至所述目标容器中,以在所述目标容器中执行所述自动化脚本。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的网页程序测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的网页程序测试方法的步骤。
CN202111439274.7A 2021-11-30 2021-11-30 网页程序测试方法、装置、电子设备及存储介质 Pending CN114116491A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111439274.7A CN114116491A (zh) 2021-11-30 2021-11-30 网页程序测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111439274.7A CN114116491A (zh) 2021-11-30 2021-11-30 网页程序测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114116491A true CN114116491A (zh) 2022-03-01

Family

ID=80368160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111439274.7A Pending CN114116491A (zh) 2021-11-30 2021-11-30 网页程序测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114116491A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826994A (zh) * 2022-04-22 2022-07-29 重庆紫光华山智安科技有限公司 用户环境回放方法、***、电子设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826994A (zh) * 2022-04-22 2022-07-29 重庆紫光华山智安科技有限公司 用户环境回放方法、***、电子设备及可读存储介质
CN114826994B (zh) * 2022-04-22 2023-08-29 重庆紫光华山智安科技有限公司 用户环境回放方法、***、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN108694117B (zh) 基于容器技术的管理测试环境的方法和装置
CN110413288B (zh) 应用部署方法、装置、服务器及存储介质
EP3851959A1 (en) Method and apparatus for migrating virtual machine
CN109597677B (zh) 用于处理信息的方法和装置
US7823023B2 (en) Test framework for testing an application
CN108733553B (zh) 基于docker的测试装置的配置方法、装置和***
WO2014209359A1 (en) Hook framework
CN109995814B (zh) 云主机资源的迁移方法及装置、通信设备、存储介质
CN111708599B (zh) 组态图显示方法、装置、设备和存储介质
US20150161023A1 (en) Distributed debugging of an application in a distributed computing environment
CN110955409A (zh) 在云平台上创建资源的方法和装置
CN110781067A (zh) 一种启动耗时的计算方法、装置、设备和存储介质
CN111427782A (zh) 安卓动态链接库的运行方法、装置、设备及存储介质
CN112286633A (zh) 基于CloudStack平台的虚拟机创建方法、装置、设备及存储介质
CN114116491A (zh) 网页程序测试方法、装置、电子设备及存储介质
CN110413328B (zh) 一种网卡端口的pxe功能使能方法、装置及相关设备
CN110909273B (zh) 页面的生成方法及相关***
CN113051088B (zh) 程序加载方法、装置、设备及计算机可读介质
CN110543113A (zh) 机器人硬件组装及管理方法、设备、介质、***、前端组装客户端及机器人本体运行***
US10997269B1 (en) Using web application components with different web application frameworks in a web application
CN117573338A (zh) 一种资源分配方法、装置及电子设备
CN116049000A (zh) 环境参数配置方法、装置、设备、存储介质及产品
CN115774742A (zh) 私有云的数据存储新增方法、装置、设备、介质及产品
CN110941471A (zh) 一种软件***基础数据国际化的方法及装置
CN110327626B (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