CN112306862B - 一种前端自动化测试系统及方法、存储介质、计算设备 - Google Patents
一种前端自动化测试系统及方法、存储介质、计算设备 Download PDFInfo
- Publication number
- CN112306862B CN112306862B CN202011096964.2A CN202011096964A CN112306862B CN 112306862 B CN112306862 B CN 112306862B CN 202011096964 A CN202011096964 A CN 202011096964A CN 112306862 B CN112306862 B CN 112306862B
- Authority
- CN
- China
- Prior art keywords
- test
- test script
- script
- target
- automatic
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 597
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000013515 script Methods 0.000 claims abstract description 389
- 230000001960 triggered effect Effects 0.000 claims description 18
- 241000218691 Cupressaceae Species 0.000 claims description 16
- 238000010998 test method Methods 0.000 claims description 11
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012827 research and development Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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
本发明公开了一种前端自动化测试系统及方法、存储介质、计算设备,该系统包括自动化测试组件和自动化管理平台,自动化测试组件用于进行前端自动化测试,自动化测试组件包括至少一个测试工具,测试工具设置有可被调用的API接口;自动化管理平台用于管理多个测试脚本,调用自动化测试组件的API接口,通过API接口向测试工具传输至少一个目标测试脚本;测试工具,用于执行自动化管理平台传输的目标测试脚本,并将目标测试脚本执行完成后的测试报告的回调地址配置到自动化管理平台。基于本发明提供的方案能够在实现测试脚本的自动化执行的同时,及时获取到目标测试脚本的测试报告。
Description
技术领域
本发明涉及自动化测试技术领域,尤其是一种前端自动化测试系统及方法、存储介质、计算设备。
背景技术
目前,进行前端测试时多使用vue框架,即构建用户界面的渐进式JavaScript框架,其前端页面的展示依赖于后端返回的数据,也就是说,只有在前端记载完成后端返回的数据之后页面才能展示。
另外,采用传统测试框架执行前端测试时,每次启动测试必须通过手动执行,当针对比较复杂的大型项目进行测试时,若继续采用手动执行的方式不仅测试任务繁重,导致花费大量的时间,而且测试结果也无法及时获取。
发明内容
本发明实施例所要解决的一个技术问题是如何提升前端自动化测试效率。
根据本发明的一个方面,提供了一种前端自动化测试系统,包括:
自动化测试组件,用于进行前端自动化测试,所述自动化测试组件包括至少一个测试工具,所述测试工具设置有可被调用的API接口;
自动化管理平台,用于管理多个测试脚本,调用所述自动化测试组件的API接口,通过所述API接口向所述测试工具传输至少一个目标测试脚本;
所述测试工具,用于执行所述自动化管理平台传输的所述目标测试脚本,并将所述目标测试脚本执行完成后的测试报告的回调地址配置到所述自动化管理平台。
可选地,所述自动化管理平台,还用于:
检测到至少一个测试脚本被预设操作触发时,选择所述测试脚本作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具。
可选地,所述自动化管理平台,还用于:
检测到任一业务项目发布新版本时,选取与所述业务项目关联的至少一个测试脚本,作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具。
可选地,所述自动化管理平台,还用于:
周期性选取所述自动化管理平台中的至少一个测试脚本,作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具。
可选地,所述自动化测试组件包括多个测试工具;
所述自动化管理平台,还用于获取所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间;
基于所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间,分别为各所述目标测试脚本分配测试工具;
调用各所述测试工具的API接口,将各所述目标测试脚本分别传输至分配的所述测试工具。
可选地,所述自动化管理平台还用于:
执行测试脚本的新建操作;
识别所述测试脚本对应的业务项目维度,并将所述测试脚本存储在所述业务项目维度对应的存储目录下。
根据本发明的另一个方面,还提供了一种前端自动化测试方法,包括:
基于预先创建的自动化管理平台选取至少一个目标测试脚本;
调用自动化测试组件的API接口,基于所述API接口将所述目标测试脚本传输至所述自动化测试组件,利用所述自动化测试组件执行所述目标测试脚本;
获取所述自动化测试组件配置的回调地址,基于所述回调地址调取所述目标测试脚本的测试报告。
可选地,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
检测到至少一个测试脚本被预设操作触发时,选择所述测试脚本作为目标测试脚本。
可选地,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
检测到任一业务项目发布新版本时,选取与所述业务项目关联的至少一个测试脚本,作为目标测试脚本。
可选地,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
周期性选取所述自动化管理平台中的至少一个测试脚本,作为目标测试脚本。
可选地,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本之后,还包括:
获取所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间。
可选地,所述自动化测试组件包括多个测试工具;
所述调用自动化测试组件的API接口,基于所述API接口将所述目标测试脚本传输至所述自动化测试组件,利用所述自动化测试组件执行所述目标测试脚本,包括:
基于所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间,分别为各所述目标测试脚本分配测试工具;
调用各所述测试工具的API接口,将各所述目标测试脚本分别传输至分配的所述测试工具。
可选地,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本之前,还包括:
基于所述自动化管理平台新建测试脚本;
识别所述测试脚本对应的业务项目维度,并将所述测试脚本存储在所述业务项目维度对应的存储目录下。
根据本发明的又一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述任一项所述的前端自动化测试方法。
根据本发明的又一个方面,还提供了一种计算设备,所述计算设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述任一项所述的前端自动化测试方法。
本发明提供了一种前端自动化测试系统及方法、存储介质、计算设备,基于本发明提供的前端自动化测试系统,通过自动化管理平台管理前端测试脚本,并调用自动化测试组件中测试工具的API接口并由测试工具执行所接收到的测试脚本,从而在实现测试脚本的自动化执行,能够及时获取到目标测试脚本的测试报告。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1示出了本发明实施例提供的前端自动化测试系统结构示意图;
图2示出了本发明实施例提供的前端自动化测试方法流程示意图;
图3示出了本发明实施例提供的自动化管理平台界面示意图;
图4示出了根据本发明实施例提供的自动化管理平台脚本编辑界面示意图;
图5示出了根据本发明实施例提供的自动化管理平台脚本测试记录界面示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1示出了本发明一实施例提供的前端自动化测试系统结构示意图,参见图1可知,本发明实施例提供的前端自动化测试系统可以包括自动化管理平台100和自动化测试组件200。
其中,自动化测试组件200,用于进行前端自动化测试,设置有可被调用的API接口。可选地,自动化测试组件200可以包括至少一个测试工具210,测试工具210的具体数量可以根据测试任务量进行设置,本发明对此不做限定。可选地,测试工具210可以是Cypress,Cypress是一个开源的javascript框架,用类似自然语言的方式描述需要完成的业务逻辑,可以模拟定位网页元素、模拟鼠标键盘事件。Cypress可以直接运行在本地,可以对前端项目进行便捷的测试。
在本发明实施例中,测试工具210具有可被调用的API接口,如“/api/cypress/v1/script/run”,该API接口可以是通过对Cypress进行改造以使得Cypress的API接口可被调用。
进一步地,自动化管理平台100,用于管理多个测试脚本。可选地,管理多个测试脚本时,可以基于不同业务项目维度进行管理,即将属于同一业务项目的存放至同一存储目录下,以便进行统一管理。业务项目是指不同业务的项目,例如应用程序中的某个功能可作为一个业务项目,如搜索项目、信息查看项目、支付项目等等,具体可以根据应用程序的类型、属性以及可能实现的功能进行划分,本发明对此不做限定。
可选地,自动化管理平台100还可以用于:执行测试脚本的新建操作;识别测试脚本对应的业务项目维度,并将测试脚本存储在业务项目维度对应的存储目录下。本发明实施例中的自动化管理平台100通过按照项目的维度管理每个测试脚本,可以提升测试脚本管理效率的同时,便于后续对于同一业务项目维度的测试脚本的快速识别与调用。
自动化管理平台100还可以用于调用自动化测试组件200的API接口,通过API接口向测试工具210传输至少一个目标测试脚本。进一步地,测试工具210,用于执行自动化管理平台100传输的目标测试脚本,并将目标测试脚本执行完成后的测试报告的回调地址配置到自动化管理平台100。
本发明实施例提供了一种前端自动化测试系统,通过自动化管理平台100管理前端UI测试脚本,并调用自动化测试组件200中测试工具的API接口并由测试工具210执行所接收到的测试脚本,从而在实现测试脚本的自动化执行的同时,能够及时获取到目标测试脚本的测试报告。
在本发明可选实施例中,自动化管理平台100,还用于:检测到至少一个测试脚本被预设操作触发时,选择该测试脚本作为目标测试脚本;调用API接口,将目标测试脚本通过API接口传输至测试工具210。
也就是说,基于自动化管理平台100,可以实现测试脚本的主动调用,即检测到任一测试脚本被预设操作触发时,可以将该测试脚本作为目标测试脚本通过API接口传输至测试工具210进行执行。其中,预设操作可以是在自动化管理平台100中预设运行按钮的触发操作等等。测试脚本是处于编译阶段的测试脚本或是已经编译完成的测试脚本,当测试脚本是处于编译阶段的测试脚本时,通过触发预设操作查看测试脚本编译是否正确。
在本发明另一可选实施例中,自动化管理平台100还可以用于:检测到任一业务项目发布新版本时,选取与业务项目关联的至少一个测试脚本,作为目标测试脚本;调用API接口,将目标测试脚本通过API接口传输至测试工具210。
前文介绍,自动化管理平台100的测试脚本可以以不同的业务项目维度进行管理,即测试脚本与不同的业务项目相关联,因此,若任一业务项目在完成新版本发布之后,自动化管理平台100可以自动调用该业务项目所对应的测试脚本,自动检查测试报告,可以起到检查项目漏洞、提高项目稳定性的作用。
在本发明另一可选实施例中,自动化管理平台100还可以用于:周期性选取自动化管理平台100中的至少一个测试脚本,作为目标测试脚本;调用API接口,将目标测试脚本通过API接口传输至测试工具210。
换言之,每隔一段时间,可以对测试脚本进行定时调用,并检查测试报告结果,可以起到异常报警的作用。定时调用时,可以将全部的测试脚本选取作为目标测试脚本执行自动测试,也可以将任一业务项目对应的测试脚本作为目标测试脚本进行自动测试。本实施例提供的测试系统,通过自动化管理平台100定时触发所有的测试用例,方便及时发现前端问题,减少人工检查操作,从而减少人工成本,提高研发效率。
实际应用中,单个测试工具210进行测试服务执行效率不够,本发明可选实施例中,可以在自动化测试组件200中设置多个(两个及两个以上)的测试工具210,以提供自动化测试服务。
可选地,自动化管理平台100,还用于获取目标测试脚本的数量、各目标测试脚本的资源消耗参数和/或各目标测试脚本的历史执行时间;基于目标测试脚本的数量、各目标测试脚本的资源消耗参数和/或各目标测试脚本的历史执行时间,分别为各目标测试脚本分配测试工具210;调用各测试工具的API接口,将各目标测试脚本分别传输至分配的测试工具210。
由于每个测试脚本所要花费的执行时间不一样,同时也需要所有脚本能够高效、稳定的自动运行,所以每次执行完毕会记录每个测试脚本的历史执行时间,后续再次执行时,可以依据各个测试脚本的历史执行时间均衡分配脚本到不同的测试工具210,将执行时间长的测试脚本与执行时间短的测试脚本隔离开。例如,每次根据每个单体cypress的繁忙程度等选择用哪个cypress来执行。还可以给时间长的脚本单独分配一个cypress,短的共享一个cypress。
上文提及,还可以获取各目标测试脚本的资源消耗参数,其中,资源消耗参数可以是目标测试脚本执行时的CPU资源消耗参数,具体可以先由一个测试工具210运行一个测试脚本,然后通过监控得出测试脚本的运行CPU情况,计算出每个测试脚本消耗的CPU资源,后续可以根据每个业务项目的脚本数量,单个脚本的CPU资源消耗,将多个测试脚本组合分配到一个测试工具210。
本发明实施例提供的自动化测试系统中,通过对测试工具210进行集群化,在执行测试脚本时,可以根据脚本数量、历史执行时间、子服务压力等条件,让每个脚本能够高效率的运行自动化测试,通过将测试工具210进行集群化、项目化,使各种负载均衡操作提高运行效率。另外,自动化管理平台100还可以对测试报告进行分析,能够对于前段页面的异常行为及时错误提醒。
基于同一发明构思,本发明实施例还提供了一种前端自动化测试方法,参见图2可知,本发明实施例提供的前端自动化测试方法可以包括以下步骤S202~S206。
步骤S202,基于预先创建的自动化管理平台选取至少一个目标测试脚本。
在本发明可选实施例中,可通过以下三种方式中任意一种方式选取目标测试脚本:
方式一
基于预先创建的自动化管理平台检测到至少一个测试脚本被预设操作触发时,选择该测试脚本作为目标测试脚本。
也就是说,基于自动化管理平台,可以实现测试脚本的主动调用,即检测到任一测试脚本被预设操作触发时,可以将该测试脚本作为目标测试脚本通过API接口传输至测试工具进行执行。其中,预设操作可以是在自动化管理平台中预设运行按钮的触发操作等等。测试脚本是处于编译阶段的测试脚本或是已经编译完成的测试脚本,当测试脚本是处于编译阶段的测试脚本时,通过触发预设操作查看测试脚本编译是否正确。
图3示出了本发明实施例的自动化管理平台管理界面示意图,参见图3可知,通过自动化管理平台可以实现分组脚本的管理以及单个测试脚本的管理,通过分组名称或脚本名称可以实现分组脚本的查询以及单个测试脚本的查询。前文介绍,测试脚本可以按照业务项目维度进行管理,那么图3中所示的分组名称则可以是业务项目维度对应的名称。与“分组名称”对应的“操作”一栏,可包括“编辑分组”按钮,用于控制实现分组名称等编辑。“分组执行”,用于控制该分组下所有测试脚本同时进行测试、“删除分组”按钮用于删除分组。
可选地,选择目标测试脚本时,可以将某个分组下的某个测试脚本作为目标测试脚本,或是将属于同一分组的所有测试脚本均作为目标测试脚本,当选单个测试脚本作为目标测试脚本时,可以对目标测试脚本单独执行操作,如编辑、运行、获取报告以及删除等。当同一分组的所有测试脚本作为目标测试脚本时,可以对同一分组的所有测试脚本同一执行,如图3中的编辑分组、分组还行以及删除分组等操作。
在本发明实施例中,单独控制执行任一测试脚本时,可以通过图3所示,在对应的脚本名称后面触发“运行”,即可实现单个测试脚本的运行。另外,本实施例提供的方法还可以对测试脚本进行编辑,如图3所示,各个脚本所对应的操作一栏中,包括“编辑”、“运行”、“报告”、“删除”的控制按钮。当“编辑”按钮被触发时,可以进入图4所示界面,如图4、图5所示,可以对测试脚本进行编辑或是查看测试记录。“运行”按钮被触发时,可自动调用测试工具测试该脚本;“报告”按钮被触发时,可查看该测试脚本的报告;“删除”按钮被触发时,可删除该测试脚本。
方式二
检测到任一业务项目发布新版本时,选取与业务项目关联的至少一个测试脚本,作为目标测试脚本。
在本发明实施例中,可以基于不同业务项目维度对测试脚本进行管理,如图3所示,可以通过自动化管理平台实现不同业务项目维度的测试脚本的管理,即将属于同一业务项目的测试脚本存放至数据库的同一存储目录下,以便进行统一管理。业务项目是指不同业务的项目,例如应用程序中的某个功能可作为一个业务项目,如搜索项目、信息查看项目、支付项目等等,具体可以根据应用程序的类型、属性以及可能实现的功能进行划分,本发明对此不做限定。
本发明可选实施例中,上述步骤S202之前还可以包括:基于自动化管理平台新建测试脚本;识别测试脚本对应的业务项目维度,并将测试脚本存储在业务项目维度对应的存储目录下。当对应的业务项目发布新版本时,可以自动触发对该业务项目维度下的各测试脚本的统一操作,如自动触发图3所示的“分组执行”的操作,即可自动完成对该业务项目的所有测试脚本的测试。
可选地,若任一业务项目在完成新版本发布之后,自动化管理平台可以自动调用该业务项目所对应的测试脚本,自动检查测试报告,可以起到检查项目漏洞、提高项目稳定性的作用。
方式三
周期性选取自动化管理平台中的至少一个测试脚本,作为目标测试脚本。
每隔一段时间,可以对测试脚本进行定时调用,并检查测试报告结果,可以起到异常报警的作用。定时调用时,可以将自动化管理平台所管理的全部的测试脚本作为目标测试脚本执行自动测试,也可以将任一业务项目对应的测试脚本作为目标测试脚本进行自动测试,或是根据各测试脚本的历史执行次数中的成功次数、失败次数等周期性选取目标测试脚本,以实现对测试脚本的定期检查。本实施例提供的测试系统,通过自动化管理平台定时触发所有的测试脚本,方便及时发现前端问题,减少人工检查操作,从而减少人工成本,提高研发效率。
步骤S204,调用自动化测试组件的API接口,基于API接口将目标测试脚本传输至自动化测试组件,利用自动化测试组件执行目标测试脚本。
本实施例中的自动化测试组件中可以包括至少一个测试工具,如Cypress,各测试工具设置有可被调用的API接口。当自动化测试组件包括一个测试工具时,可以直接将目标测试脚本经由API接口传输至测试工具中。
实际应用中,同一时间段所执行的测试脚本数量可能较多,本发明实施例中的自动化测试组件可以设置多个(两个或两个以上)测试工具,每个测试工具均可以设置有可被调用的API接口。
在本发明一可选实施例中,上述步骤S204之后,还可以包括获取目标测试脚本的数量、各目标测试脚本的资源消耗参数和/或各目标测试脚本的历史执行时间。
进一步地,上述步骤S204可以包括:基于目标测试脚本的数量、各目标测试脚本的资源消耗参数和/或各目标测试脚本的历史执行时间,分别为各目标测试脚本分配测试工具;调用各测试工具的API接口,将各目标测试脚本分别传输至分配的测试工具。
在本发明实施例中,可能需要同时针对一个业务项目中的多个测试脚本作为目标测试脚本进行测试。对于各个测试脚本来讲,具体执行测试时所需的执行时间不一样,同时也需要所有脚本能够高效、稳定的自动运行,所以任一测试脚本在每次执行完毕后,可以记录每个测试脚本的执行时间作为历史执行时间,进而将各测试脚本的历史执行时间作为后续为该测试脚本分配测试工具的参考条件。对于任意一个测试脚本来讲,如果其具有多次执行记录,且每次执行时的执行时间不同,此时,可以选最近一次的执行记录的执行时间作为分配测试工具时参考的历史执行时间,也可以获取多次执行记录的执行时间的平均值作为分配测试工具时参考的历史执行时间。
另外,各测试脚本执行时所占用的资源也不同,因此,每次在测试脚本被执行完毕后,还可以统计该测试脚本的资源消耗参数,如测试工具执行该测试脚本时的CPU消耗参数,进而作为后续为各测试工具分配测试脚本的参考条件。
基于本发明实施例提供的方法,可以结合目标测试脚本的数量、各目标测试脚本的资源消耗参数以及各目标测试脚本的历史执行时间,均衡分配测试脚本到不同的测试工具,例如,可以将执行时间长的测试脚本与执行时间短的测试脚本隔离开,即,将执行时间长的测试脚本单独分配至一个测试工具,执行时间短的测试脚本则共享一个测试工具。
步骤S206,获取自动化测试组件配置的回调地址,基于回调地址调取目标测试脚本的测试报告。
上文提及,自动化测试组件包括多个测试工具,用于执行自动化管理平台所分配的测试脚本。各个测试工具完成任一测试脚本的测试工作时,可以自动生成并存储该测试脚本的测试报告,同时将测试报告的回调地址配置到自动化管理平台,并发送提醒通知,以使得自动化管理平台可根据回调地址调取测试脚本的测试报告。需要说明的是,若自动化管理平台调取测试报告时发生错误,则可以立即重新自动执行当前的测试脚本。另外,本发明实施例提供的方法还可以对测试报告的调取时间进行限定,即设置了最大超时时间,如果调取测试报告的时间超过该最大超时时间,则可以重新执行对应的测试脚本。
另外,在自动化测试管理平台获取到测试报告之后,还可以对其进行检查,当测试报告中记录错误信息时可以发出提醒信息,以提醒相关人员及时进行处理,以提高项目稳定性。
基于本发明实施例提供的方法,通过自动化管理平台管理不同业务项目的测试脚本,以通过不同的方式实现测试脚本的自动化执行,并且还可以通过设置最大超时时间以对测试报告调取失败的测试脚本进行重新测试,减少人工检查操作,进而降低人工成本,提高研发效率。
在本发明一可选实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行上述任一实施例的前端自动化测试方法。
在本发明一可选实施例中,还提供了一种计算设备,计算设备包括处理器以及存储器:存储器用于存储程序代码,并将程序代码传输给处理器;处理器用于根据程序代码中的指令执行上述任一实施例的前端自动化测试方法。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
本发明实施例还包括在下列编号条款中规定的这些和其他方面:
1、一种前端自动化测试系统,包括:
自动化测试组件,用于进行前端自动化测试,所述自动化测试组件包括至少一个测试工具,所述测试工具设置有可被调用的API接口;
自动化管理平台,用于管理多个测试脚本,调用所述自动化测试组件的API接口,通过所述API接口向所述测试工具传输至少一个目标测试脚本;
所述测试工具,用于执行所述自动化管理平台传输的所述目标测试脚本,并将所述目标测试脚本执行完成后的测试报告的回调地址配置到所述自动化管理平台。
2、根据条款1所述的系统,所述自动化管理平台,还用于:
检测到至少一个测试脚本被预设操作触发时,选择所述测试脚本作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具。
3、根据条款1所述的系统,所述自动化管理平台,还用于:
检测到任一业务项目发布新版本时,选取与所述业务项目关联的至少一个测试脚本,作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具。
4、根据条款1所述的系统,所述自动化管理平台,还用于:
周期性选取所述自动化管理平台中的至少一个测试脚本,作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具。
5、根据条款1-4任一项所述的系统,所述自动化测试组件包括多个测试工具;
所述自动化管理平台,还用于获取所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间;
基于所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间,分别为各所述目标测试脚本分配测试工具;
调用各所述测试工具的API接口,将各所述目标测试脚本分别传输至分配的所述测试工具。
6、根据条款1-4任一项所述的系统,所述自动化管理平台还用于:
执行测试脚本的新建操作;
识别所述测试脚本对应的业务项目维度,并将所述测试脚本存储在所述业务项目维度对应的存储目录下。
7、一种前端自动化测试方法,包括:
基于预先创建的自动化管理平台选取至少一个目标测试脚本;
调用自动化测试组件的API接口,基于所述API接口将所述目标测试脚本传输至所述自动化测试组件,利用所述自动化测试组件执行所述目标测试脚本;
获取所述自动化测试组件配置的回调地址,基于所述回调地址调取所述目标测试脚本的测试报告。
8、根据条款7所述的方法,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
检测到至少一个测试脚本被预设操作触发时,选择所述测试脚本作为目标测试脚本。
9、根据条款7所述的方法,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
检测到任一业务项目发布新版本时,选取与所述业务项目关联的至少一个测试脚本,作为目标测试脚本。
10、根据条款7所述的方法,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
周期性选取所述自动化管理平台中的至少一个测试脚本,作为目标测试脚本。
11、根据条款7-10任一项所述的方法,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本之后,还包括:
获取所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间。
12、根据条款11所述的方法,所述自动化测试组件包括多个测试工具;
所述调用自动化测试组件的API接口,基于所述API接口将所述目标测试脚本传输至所述自动化测试组件,利用所述自动化测试组件执行所述目标测试脚本,包括:
基于所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间,分别为各所述目标测试脚本分配测试工具;
调用各所述测试工具的API接口,将各所述目标测试脚本分别传输至分配的所述测试工具。
13、根据条款7-10任一项所述的方法,所述基于预先创建的自动化管理平台选取至少一个目标测试脚本之前,还包括:
基于所述自动化管理平台新建测试脚本;
识别所述测试脚本对应的业务项目维度,并将所述测试脚本存储在所述业务项目维度对应的存储目录下。
14、一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行条款7-13任一项所述的前端自动化测试方法。
15、一种计算设备,所述计算设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行条款7-13任一项所述的前端自动化测试方法。
Claims (4)
1.一种前端自动化测试系统,其特征在于,包括:
自动化测试组件,用于进行前端自动化测试,所述自动化测试组件包括至少一个测试工具,所述测试工具设置有可被调用的API接口;所述测试工具包括Cypress;
自动化管理平台,用于管理多个测试脚本,调用所述自动化测试组件的API接口,通过所述API接口向所述测试工具传输至少一个目标测试脚本;所述测试脚本是处于编译阶段的测试脚本或是已经编译完成的测试脚本,当测试脚本是处于编译阶段的测试脚本时,通过触发预设操作查看测试脚本编译是否正确;
所述测试工具,用于执行所述自动化管理平台传输的所述目标测试脚本,并将所述目标测试脚本执行完成后的测试报告的回调地址配置到所述自动化管理平台;由自动化平台对测试报告进行分析,对于前端页面的异常行为及时错误提醒;
所述自动化管理平台,还用于:检测到至少一个测试脚本被预设操作触发时,选择所述测试脚本作为目标测试脚本;或,检测到任一业务项目发布新版本时,选取与所述业务项目关联的至少一个测试脚本,作为目标测试脚本;或,周期性选取所述自动化管理平台中的至少一个测试脚本,作为目标测试脚本;
调用所述API接口,将所述目标测试脚本通过所述API接口传输至所述测试工具;
所述自动化管理平台还用于:执行测试脚本的新建操作;识别所述测试脚本对应的业务项目维度,并将所述测试脚本存储在所述业务项目维度对应的存储目录下;其中,测试脚本与不同的业务项目相关联,若任一业务项目在完成新版本发布之后,自动化管理平台自动调用该业务项目所对应的测试脚本,自动检查测试报告;
所述自动化测试组件包括多个测试工具;所述自动化管理平台,还用于获取所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和各所述目标测试脚本的历史执行时间;基于所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和/或各所述目标测试脚本的历史执行时间,分别为各所述目标测试脚本分配测试工具;调用各所述测试工具的API接口,将各所述目标测试脚本分别传输至分配的所述测试工具;其中,每次执行完毕会记录每个测试脚本的历史执行时间,后续再次执行时依据各个测试脚本的历史执行时间均衡分配脚本到不同的测试工具,给时间长的脚本单独分配一个cypress,短的共享一个cypress;
所述资源消耗参数是目标测试脚本执行时的CPU资源消耗参数,具体先由一个测试工具运行一个测试脚本,然后通过监控得出测试脚本的运行CPU情况,计算出每个测试脚本消耗的CPU资源,后续根据每个业务项目的脚本数量,单个脚本的CPU资源消耗,将多个测试脚本组合分配到一个测试工具。
2.一种前端自动化测试方法,其特征在于,包括:
基于预先创建的自动化管理平台选取至少一个目标测试脚本;
调用自动化测试组件的API接口,基于所述API接口将所述目标测试脚本传输至所述自动化测试组件,利用所述自动化测试组件执行所述目标测试脚本;所述测试组件包括至少一个测试工具,所述测试工具包括Cypress;所述测试脚本是处于编译阶段的测试脚本或是已经编译完成的测试脚本,当测试脚本是处于编译阶段的测试脚本时,通过触发预设操作查看测试脚本编译是否正确;
获取所述自动化测试组件配置的回调地址,基于所述回调地址调取所述目标测试脚本的测试报告,对测试报告进行分析,对于前段页面的异常行为及时错误提醒;
所述基于预先创建的自动化管理平台选取至少一个目标测试脚本,包括:
检测到至少一个测试脚本被预设操作触发时,选择所述测试脚本作为目标测试脚本;或,检测到任一业务项目发布新版本时,选取与所述业务项目关联的至少一个测试脚本,作为目标测试脚;或,周期性选取所述自动化管理平台中的至少一个测试脚本,作为目标测试脚本;
所述基于预先创建的自动化管理平台选取至少一个目标测试脚本之前,还包括:
基于所述自动化管理平台新建测试脚本;识别所述测试脚本对应的业务项目维度,并将所述测试脚本存储在所述业务项目维度对应的存储目录下;其中,测试脚本与不同的业务项目相关联,若任一业务项目在完成新版本发布之后,自动化管理平台自动调用该业务项目所对应的测试脚本,自动检查测试报告;
所述基于预先创建的自动化管理平台选取至少一个目标测试脚本之后,还包括:获取所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和各所述目标测试脚本的历史执行时间;
所述自动化测试组件包括多个测试工具;所述调用自动化测试组件的API接口,基于所述API接口将所述目标测试脚本传输至所述自动化测试组件,利用所述自动化测试组件执行所述目标测试脚本,包括:基于所述目标测试脚本的数量、各所述目标测试脚本的资源消耗参数和各所述目标测试脚本的历史执行时间,分别为各所述目标测试脚本分配测试工具;调用各所述测试工具的API接口,将各所述目标测试脚本分别传输至分配的所述测试工具;其中,每次执行完毕会记录每个测试脚本的历史执行时间,后续再次执行时依据各个测试脚本的历史执行时间均衡分配脚本到不同的测试工具,给时间长的脚本单独分配一个cypress,短的共享一个cypress;
所述资源消耗参数是目标测试脚本执行时的CPU资源消耗参数,具体先由一个测试工具运行一个测试脚本,然后通过监控得出测试脚本的运行CPU情况,计算出每个测试脚本消耗的CPU资源,后续根据每个业务项目的脚本数量,单个脚本的CPU资源消耗,将多个测试脚本组合分配到一个测试工具。
3.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求2所述的前端自动化测试方法。
4.一种计算设备,其特征在于,所述计算设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求2所述的前端自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011096964.2A CN112306862B (zh) | 2020-10-14 | 2020-10-14 | 一种前端自动化测试系统及方法、存储介质、计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011096964.2A CN112306862B (zh) | 2020-10-14 | 2020-10-14 | 一种前端自动化测试系统及方法、存储介质、计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306862A CN112306862A (zh) | 2021-02-02 |
CN112306862B true CN112306862B (zh) | 2024-06-07 |
Family
ID=74489732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011096964.2A Active CN112306862B (zh) | 2020-10-14 | 2020-10-14 | 一种前端自动化测试系统及方法、存储介质、计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306862B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221529B (zh) * | 2022-09-14 | 2022-12-27 | 杭州天谷信息科技有限公司 | 一种前端网页的异常注入方法以及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075381A (zh) * | 2010-12-14 | 2011-05-25 | 云海创想信息技术(北京)有限公司 | 一种应用于云存储的自动化测试平台服务器及系统 |
CN109144799A (zh) * | 2018-08-14 | 2019-01-04 | 深圳壹账通智能科技有限公司 | 一体化测试方法、装置、计算机设备和存储介质 |
CN109558328A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种代码覆盖率的测试方法、系统、装置及可读存储介质 |
CN109618148A (zh) * | 2018-11-13 | 2019-04-12 | 中信国安广视网络有限公司 | 基于机顶盒大屏自动化测试方法 |
CN110032511A (zh) * | 2019-03-19 | 2019-07-19 | 深圳市买买提信息科技有限公司 | 一种接口测试方法及接口测试设备 |
CN110188022A (zh) * | 2019-05-09 | 2019-08-30 | 国家计算机网络与信息安全管理中心 | 一种基于Java的集群性能测试方法及系统 |
CN110188045A (zh) * | 2019-05-31 | 2019-08-30 | 武汉市灯塔互动文化传播有限公司 | 一种基于iOS系统自动化统计APP性能指标的方法和装置 |
US10601862B1 (en) * | 2016-07-15 | 2020-03-24 | Akamai Technologies, Inc. | Mitigating automated attacks in a computer network environment |
CN111459795A (zh) * | 2020-02-27 | 2020-07-28 | 平安科技(深圳)有限公司 | 集群的压力测试方法及装置、计算机设备、存储介质 |
-
2020
- 2020-10-14 CN CN202011096964.2A patent/CN112306862B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075381A (zh) * | 2010-12-14 | 2011-05-25 | 云海创想信息技术(北京)有限公司 | 一种应用于云存储的自动化测试平台服务器及系统 |
US10601862B1 (en) * | 2016-07-15 | 2020-03-24 | Akamai Technologies, Inc. | Mitigating automated attacks in a computer network environment |
CN109144799A (zh) * | 2018-08-14 | 2019-01-04 | 深圳壹账通智能科技有限公司 | 一体化测试方法、装置、计算机设备和存储介质 |
CN109618148A (zh) * | 2018-11-13 | 2019-04-12 | 中信国安广视网络有限公司 | 基于机顶盒大屏自动化测试方法 |
CN109558328A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种代码覆盖率的测试方法、系统、装置及可读存储介质 |
CN110032511A (zh) * | 2019-03-19 | 2019-07-19 | 深圳市买买提信息科技有限公司 | 一种接口测试方法及接口测试设备 |
CN110188022A (zh) * | 2019-05-09 | 2019-08-30 | 国家计算机网络与信息安全管理中心 | 一种基于Java的集群性能测试方法及系统 |
CN110188045A (zh) * | 2019-05-31 | 2019-08-30 | 武汉市灯塔互动文化传播有限公司 | 一种基于iOS系统自动化统计APP性能指标的方法和装置 |
CN111459795A (zh) * | 2020-02-27 | 2020-07-28 | 平安科技(深圳)有限公司 | 集群的压力测试方法及装置、计算机设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112306862A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872029B1 (en) | System, apparatus and method for deploying infrastructure to the cloud | |
US11233708B1 (en) | System, apparatus and method for deploying infrastructure to the cloud | |
US8234633B2 (en) | Incident simulation support environment and business objects associated with the incident | |
US8601323B2 (en) | Advanced management of runtime errors | |
CN110278097B (zh) | 一种基于Android系统的服务器运维系统及方法 | |
US20160294649A1 (en) | Method and system for implementing target model configuration metadata for a log analytics system | |
US20140013315A1 (en) | Scheduled and quarantined software deployment based on dependency analysis | |
US9697104B2 (en) | End-to end tracing and logging | |
WO2019195121A1 (en) | Digital worker management system | |
US10990370B1 (en) | System, apparatus and method for deploying infrastructure to the cloud | |
US8731998B2 (en) | Three dimensional visual representation for identifying problems in monitored model oriented business processes | |
US9141517B2 (en) | Public solution model test automation framework | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
CN109885505A (zh) | 一种故障定位的方法、系统及相关组件 | |
CN113836237A (zh) | 对数据库的数据操作进行审计的方法及装置 | |
CN112306862B (zh) | 一种前端自动化测试系统及方法、存储介质、计算设备 | |
US8839208B2 (en) | Rating interestingness of profiling data subsets | |
CN113570347A (zh) | 一种面向微服务架构系统的rpa运维方法 | |
US10007891B2 (en) | Re-processing requests in automated warehouses | |
KR100496958B1 (ko) | 시스템 장애 통합관리방법 | |
CN116540942A (zh) | 数据存储对象的迁移方法、系统、电子设备及存储介质 | |
CN114021756B (zh) | 故障分析方法、装置和电子设备 | |
CN105204975A (zh) | 基于JavaEE体系架构的性能监控系统及方法 | |
US20220382236A1 (en) | Shared automated execution platform in cloud | |
US10891572B2 (en) | Interface enabling monitoring of performance of executed processes |
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 | ||
CB02 | Change of applicant information |
Address after: 100102 201 / F, block C, 2 lizezhong 2nd Road, Chaoyang District, Beijing Applicant after: Beijing Shuidi Technology Group Co.,Ltd. Address before: 100102 201, 2 / F, block C, No.2 lizezhong 2nd Road, Chaoyang District, Beijing Applicant before: Beijing Health Home Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant |