Web页面自动化测试的方法、系统、电子装置和存储介质与流程

文档序号:29984305发布日期:2022-05-11 13:03阅读:240来源:国知局
web页面自动化测试的方法、系统、电子装置和存储介质
技术领域
1.本技术涉及计算机技术领域,特别是涉及web页面自动化测试的方法、系统、电子装置和存储介质。


背景技术:

2.在相关技术中,对浏览器页面进行自动化测试时,主要步骤有:1、在浏览器页面上手动选取元素;2、提取元素中的基本特征,例如,元素id、xpath路径等;3、编写脚本,并通过编写好的脚本操作上述元素;4、在测试环境中执行测试脚本。
3.然而,上述自动化测试流程不仅需要在浏览器、代码编辑工具和服务器等多个客户端进行操作,且需要手动重复编写页面元素选择和操作的脚本,会导致测试过程复杂,测试门槛高,以及测试效率低等问题。
4.目前针对相关技术中对web页面进行自动化测试时,存在的测试效率低,人工成本高的问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种web页面自动化测试的方法、系统、电子装置和存储介质,以至少解决相关技术中对web页面进行自动化测试时,存在的测试效率低,人工成本高的问题。
6.第一方面,本技术实施例提供了一种web页面自动化测试的方法,应用于web页面自动化测试系统中,所述系统包括流程编辑器、脚本生成器、用例执行器,所述方法包括:
7.所述流程编辑器获取网页元素,并通过可视化界面对所述网页元素的特征进行编辑处理,得到完整的测试用例;
8.所述脚本生成器获取所述测试用例,并自动生成页面测试脚本;
9.所述用例执行器获取所述页面测试脚本,并将所述页面测试脚本传输到测试环境中执行测试,输出得到最终的测试报告。
10.在其中一些实施例中,所述通过可视化界面对所述网页元素的特征进行编辑处理包括:
11.所述流程编辑器将可视化界面中的流程节点与所述网页元素的特征进行绑定,得到完整的操作单元,并将所有的操作单元按照时序进行串联,得到所述完整的测试用例。
12.在其中一些实施例中,所述自动生成页面测试脚本包括:
13.所述脚本生成器将操作方法与网页元素结合,自动生成页面测试脚本,模拟浏览器操作网页元素。
14.在其中一些实施例中,在将所述页面测试脚本传输到测试环境中执行测试之前,所述方法包括:
15.构建完整的测试环境,其中,所述测试环境是集成了浏览器、浏览器插件和代码执行环境的镜像。
16.第二方面,本技术实施例提供了一种web页面自动化测试的系统,所述系统包括流程编辑器、脚本生成器、用例执行器;
17.所述流程编辑器获取网页元素,并通过可视化界面对所述网页元素的特征进行编辑处理,得到完整的测试用例;
18.所述脚本生成器获取所述测试用例,并自动生成页面测试脚本;
19.所述用例执行器获取所述页面测试脚本,并将所述页面测试脚本传输到测试环境中执行测试,输出得到最终的测试报告。
20.在其中一些实施例中,所述流程编辑器将可视化界面中的流程节点与所述网页元素的特征进行绑定,得到完整的操作单元,并将所有的操作单元按照时序进行串联,得到所述完整的测试用例。
21.在其中一些实施例中,所述脚本生成器将操作方法与网页元素结合,自动生成页面测试脚本,模拟浏览器操作网页元素。
22.在其中一些实施例中,在将所述页面测试脚本传输到测试环境中执行测试之前,
23.服务器构建完整的测试环境,其中,所述测试环境是集成了浏览器、浏览器插件和代码执行环境的镜像。
24.第三方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的web页面自动化测试的方法。
25.第四方面,本技术实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的web页面自动化测试的方法。
26.相比于相关技术,本技术实施例提供的web页面自动化测试的方法,应用于web页面自动化测试系统中,该系统包括流程编辑器、脚本生成器和用例执行器,具体地,流程编辑器获取网页元素,并通过可视化界面对网页元素的特征进行编辑处理,得到完整的测试用例;脚本生成器获取测试用例,并自动生成页面测试脚本;用例执行器获取页面测试脚本,并将页面测试脚本传输到测试环境中执行测试,输出得到最终的测试报告。
27.本技术将现有技术中原本需要在浏览器、代码编辑工具和服务器等多端进行的自动化测试操作集中到了一个客户端,使用方便;而且,本技术中的流程编辑器将原本的自动化测试用例转换为了可视化配置,并结合脚本生成器将操作元素的方法和网页元素结合起来,自动生成操作元素的脚本,无需手动编写脚本,降低了页面自动化测试门槛和人工成本,并且提高了输出自动化测试用例的效率。
附图说明
28.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
29.图1是根据本技术实施例的web页面自动化测试的方法的应用环境示意图;
30.图2是根据本技术实施例的web页面自动化测试的系统的结构框图;
31.图3是根据本技术实施例的web页面自动化测试的方法的流程图;
32.图4是根据本技术实施例的可视化测试用例编辑示意图;
33.图5是根据本技术实施例的web页面自动化测试流程示意图;
34.图6是根据本技术实施例的电子设备的内部结构示意图。
具体实施方式
35.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
36.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
37.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
38.本技术提供的web页面自动化测试的方法,可以应用于如图1所示的应用环境中,图1是根据本技术实施例的web页面自动化测试的方法的应用环境示意图,如图1所示。其中,终端11与服务器10通过网络进行通信。服务器10中流程编辑器获取网页元素,并通过可视化界面对网页元素的特征进行编辑处理,得到完整的测试用例;脚本生成器获取测试用例,并自动生成页面测试脚本;用例执行器获取页面测试脚本,并将页面测试脚本传输到测试环境中执行测试,输出得到最终的测试报告,并显示于终端11上。其中,终端11可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器10可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
39.本实施例提供了一种web页面自动化测试的系统,图2是根据本技术实施例的web页面自动化测试的系统的结构框图,如图2所示,该系统包括流程编辑器、脚本生成器、用例执行器,其中,流程编辑器包含了多种操作节点的编辑,如打开网页(指定地址)、点击元素、输入内容、等待时间、移动光标、上传文件、切换iframe、提取内容和内容判定等操作节点;
40.具体地,流程编辑器获取网页元素,并通过可视化界面对网页元素的特征进行编
辑处理,得到完整的测试用例;脚本生成器获取测试用例,并自动生成页面测试脚本;用例执行器获取页面测试脚本,并将页面测试脚本传输到测试环境中执行测试,输出得到最终的测试报告。需要说明的是,流程编辑器、脚本生成器、用例执行器集中与一个客户端上,该客户端可以为移动客户端,也可以为网页客户端,在此不做具体限定。
41.通过上述系统,本技术实施例将现有技术中原本需要在浏览器、代码编辑工具和服务器等多端进行的自动化测试操作集中到了一个客户端,使用方便;而且,本技术中的流程编辑器将原本的自动化测试用例转换为了可视化配置,并结合脚本生成器将操作元素的方法和网页元素结合起来,自动生成操作元素的脚本,无需手动编写脚本,降低了页面自动化测试门槛和人工成本,并且提高了输出自动化测试用例的效率。
42.需要说明的是,本实施例中的具体示例可以参考下述一种web页面自动化测试的方法中实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
43.此外,需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
44.本实施例还提供了一种web页面自动化测试的方法,应用于上述一种web页面自动化测试系统中,图3是根据本技术实施例的web页面自动化测试的方法的流程图,如图3所示,该流程包括如下步骤:
45.步骤s301,流程编辑器获取网页元素,并通过可视化界面对网页元素的特征进行编辑处理,得到完整的测试用例;
46.图4是根据本技术实施例的可视化测试用例编辑示意图,图5是根据本技术实施例的web页面自动化测试流程示意图,如图5所示,流程编辑器首先通过浏览器元素选取插件,采集网页元素,其中,采集元素的xpath路径为默认路径;
47.接着,流程编辑器获取浏览器返回的元素特征,并通过可视化界面对网页元素的特征进行编辑处理,得到完整的测试用例。具体地,流程编辑器将可视化界面中的流程节点与网页元素的特征进行绑定,得到一个完整的操作单元,然后,将所有的操作单元按照时序进行串联,就能得到一个完整的测试用例。例如,如图4所示中对智能反诈场景中的智能操作进行自动化测试时,首先,流程编辑器在可视化界面中选取打开链接节点、点击节点、输入节点、拖曳节点和切换iframe节点,其中,打开链接节点与某个网页地址进行绑定,得到一个打开链接的操作单元;输入节点与不同的输入框和下拉框绑定,例如,坐席数量input、外呼线路select、ai话术select等,得到输入操作单元;点击节点与确认按钮绑定,得到点击操作单元;拖曳节点与坐标位置绑定,得到拖曳操作单元;切换iframe节点与智能外呼iframe绑定,得到切换操作单元。然后,流程编辑器将上述所有的操作单元按照时序进行串联,就能得到图4完整的测试用例。本实施例通过可视化界面进行操作,直观简便,降低了页面自动化测试门槛;
48.步骤s302,脚本生成器获取测试用例,并自动生成页面测试脚本;
49.优选的,如图5所示,脚本生成器获取测试用例,并将流程编辑器中的某一个流程配置中的操作方法与网页元素结合,自动生成页面测试脚本,用于模拟浏览器操作网页元素。例如,脚本生成器将流程编辑器中的操作方法,如click(object)、sendkey(object、
content)等,与网页元素,如(确认按钮)、(账号输入框、“admin”)等,相结合,自动生成页面测试脚本,即click(确认按钮)、sendkey(账号输入框,“admin”)等,从而实现无需手动编写脚本的目的,减低了人工成本;
50.步骤s303,用例执行器获取页面测试脚本,并将页面测试脚本传输到测试环境中执行测试,输出得到最终的测试报告。
51.如图5所示,当流程编辑器编辑测试用例完成后,代码生成器根据流程会生成一个测试类文件,即页面测试脚本;
52.用例执行器获取页面测试脚本,并将页面测试脚本传输到测试环境中执行测试,执行结束后,用例执行器会根据执行结果返回该用例的测试报告,输出最终的测试报告给用户,用户每次只需阅读测试报告即可确认当前版本的软件是否通过测试。提高了输出自动化测试用例的效率。
53.在其中一些实施例中,在将页面测试脚本传输到测试环境中执行测试之前,还需要提前构建完整的测试环境,其中,该测试环境是一个集成了浏览器、浏览器插件和代码执行环境的镜像。
54.通过上述步骤s301至步骤s303,本实施例将现有技术中原本需要在浏览器、代码编辑工具和服务器等多端进行的自动化测试操作集中到了一个客户端,使用方便;而且,本技术中的流程编辑器将原本的自动化测试用例转换为了可视化配置,并结合脚本生成器将操作元素的方法和网页元素结合起来,自动生成操作元素的脚本,无需手动编写脚本,降低了页面自动化测试门槛和人工成本,并且提高了输出自动化测试用例的效率。
55.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
56.本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
57.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
58.另外,结合上述实施例中的web页面自动化测试的方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种web页面自动化测试的方法。
59.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种web页面自动化测试的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
60.在一个实施例中,图6是根据本技术实施例的电子设备的内部结构示意图,如图6
所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种web页面自动化测试的方法,数据库用于存储数据。
61.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
62.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
63.本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
64.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1