用于WEB平台的自动化测试方法与自动化测试工具与流程
未命名
10-08
阅读:88
评论:0

用于web平台的自动化测试方法与自动化测试工具
技术领域
1.本技术涉及自动化测试技术领域,具体而言,涉及一种用于web平台的自动化测试方法与用于web平台的自动化测试工具。
背景技术:
2.实际的应用过程中,在对web(全球广域网,world wide web,简称web)平台进行自动化测试时,往往需要通过编写代码或录制脚本的方法,对web平台进行自动测试。但是,上述自动化测试的方法,若web界面发生变化或者更换web平台,便需要重新投入资源编写代码或录制自动测试脚本。即现有技术中对web平台进行自动化测试的扩展性较差以及维护成本较高。
技术实现要素:
3.本技术的主要目的在于提供一种用于web平台的自动化测试方法与用于web平台的自动化测试工具,以至少解决现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
4.为了实现上述目的,根据本技术的一个方面,提供了一种用于web平台的自动化测试方法,包括:第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
5.可选地,在根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行之后,所述自动化测试方法还包括:在所述目标网页元素可被正确执行且所述目标网页元素被执行时发生跳转的情况下,至少基于所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否重复;在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url相同的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同;在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url不相同的情况下,初步确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同,并基于所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的均方差误差,再次确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否相同。
6.可选地,基于所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的均方差误差,再次确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网
页是否相同,包括:采用确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差,mes为所述均方差误差,n为所述当前网页的像素的总个数,yi为所述当前网页对应的截图的第i个所述像素的像素值,为所述目标网页元素被执行时发生跳转得到的子网页对应的截图的第i个所述像素的像素值;在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差为预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同,在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差不为所述预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同。
7.可选地,所述自动化测试方法还包括:在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同的情况下,将所述目标网页元素被执行时发生跳转得到的子网页加入至目标队列中。
8.可选地,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准,包括:将所述当前网页的截图转化为数字矩阵,并采用目标处理方法,对所述当前网页的数字矩阵进行处理,以对所述当前网页的所述目标网页元素进行分类,得到分类结果,所述目标处理方法包括光学字符识别方法以及图像处理方法;基于各所述分类结果对应的机器学习模型,确定对应的所述分类结果中的所述目标网页元素是否符合所述预设网页标准,以及基于所述当前网页对应的机器学习模型,确定所述当前网页的排版是否符合所述预设网页标准。
9.可选地,所述机器学习模型包括自然语言处理模型和图像识别模型,所述自然语言处理模型和所述图像识别模型均是通过对应的多组训练数据进行训练得到的,基于各所述分类结果对应的机器学习模型,确定对应的所述分类结果中的所述目标网页元素是否符合所述预设网页标准,包括:在所述分类结果对应的是文字类型的情况下,基于所述文字类型的所述目标网页元素对应的所述自然语言处理模型,确定所述文字类型的所述目标网页元素是否出现有错别字以及语句不通顺;在所述分类结果对应的是图像类型的情况下,基于所述图像类型的所述目标网页元素对应的所述图像识别模型,确定所述图像类型的所述目标网页元素是否存在空白图像。
10.可选地,在所述第一确定步骤的过程中,所述自动化测试方法还包括:根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行的过程中,接收目标数据包,所述目标数据包为对所述目标网页元素进行测试,得到的响应数据包;对所述目标数据包进行解析,在解析得到所述目标数据包中的异常状态码的情况下,确定所述目标网页元素出现异常且无法进行跳转。
11.可选地,所述自动化测试方法还包括:重复所述第一确定步骤、所述重复步骤和所述第二确定步骤,直到对所述目标队列中的所有的网页全部确定完毕。
12.可选地,在从目标集合中确定当前网页中的目标网页元素对应的目标测试方法之前,所述自动化测试方法还包括:采用广度优先算法,对所述当前网页中的所述目标网页元素进行逐一读取。
13.根据本技术的另一方面,提供了一种用于web平台的自动化测试工具,包括:第一确定单元,用于执行第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;第一重复单元,用于执行重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;第二确定单元,用于执行第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
14.应用本技术的技术方案,基于当前网页中的目标网页元素的类型,从目标集合中确定对应的目标测试方法,并根据目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,即通过目标网页元素对应的目标测试方法,确定对应的目标网页元素是否可以被正确执行,直到对当前网页中的所有目标网页元素确定完毕。在对当前网页中的所有目标网页元素全部遍历测试完毕之后,基于当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准。本技术的自动化测试方法中,在目标集合中存储目标网页元素与目标测试方法的对应关系,这样可以采用目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,也就是说,不同的目标网页元素对应不同的目标测试方法,这样在当前网页发生改变的情况下,对对应的目标测试方法的改动较小,整体的可扩展性较高。同时,本技术还通过当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准,这样不仅大大减少测试的时间和工作量,还提高了测试的准确率,从而解决了现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
附图说明
15.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1示出了根据本技术的实施例中提供的一种执行用于web平台的自动化测试方法的移动终端的硬件结构框图;
17.图2示出了根据本技术的实施例提供的一种用于web平台的自动化测试方法的流程示意图;
18.图3示出了根据本技术的实施例提供的一种确定当前网页是否符合预设网页标准的流程图;
19.图4示出了根据本技术的实施例提供的一种目标网页元素在被执行时是否可跳转的流程图;
20.图5示出了根据本技术的实施例提供的一种用于web平台的自动化测试方法的流程示意图;
21.图6示出了根据本技术的实施例提供的一种用于web平台的自动化测试工具的结构示意图。
22.其中,上述附图包括以下附图标记:
23.102、处理器;104、存储器;106、传输设备;108、输入输出设备。
具体实施方式
24.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
28.广度优先算法(breath first search,简称bfs):又称宽度优先搜索,是一种常用的图形遍历算法。采用队列实现,以某个起始点为基础,依次访问和遍历其所有直接相连的节点,然后按照每个被访问节点的顺序依次进入它们的邻居节点中进行遍历,直至遍历到目标节点位置或遍历完图形中所有可达节点结束。
29.均方误差(mean square error,简称mse):也称为平均方差,是一种用来衡量“预测值”和“真实值”之间差异大小的指标。
30.策略设计模式(strategy design pattern):是一种面向对象的编程模式,它能够在运行时动态地切换算法或行为,使得不同的算法或行为可以相互替换,而不影响其他部分的功能。
31.dom(document object model,简称dom):指的是网页文档对象模型,可以通过分析dom结构来了解网页整体结构和元素之间的关系。
32.正如背景技术中所介绍的,现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低,为解决如上的问题,本技术的实施例提供了一种用于web平台的自动化测试方法与用于web平台的自动化测试工具。
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
34.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种用于web平台的自动化测试方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,所述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对所述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
35.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的用于web平台的自动化测试方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现所述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。所述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。所述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
36.在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的用于web平台的自动化测试方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
37.图2是根据本技术实施例的用于web平台的自动化测试方法的流程图。如图2所示,该自动化测试方法包括以下步骤:
38.步骤s201,第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;
39.在步骤s201中,每一个类型的目标网页元素(例如,图片类型、文字类型或者按钮类型),均对应一个目标测试方法,即可称之为策略设计模式,这样使得本技术的自动化测试方法的可扩展性较高,在web平台出现版本迭代时,对本技术的自动化测试方法对应的代码的改动较小。
40.在具体的采用代码实现的过程中,本技术的策略设计模式中,为每一个类型的目标网页元素定义一个目标测试方法的接口(service)以及该目标测试方法的实现(implement);同时,在目标集合中关联每种类型的目标网页元素与对应的测试方法的接口。也就是说,本技术采用策略设计模式可以使代码更加可读和易于维护,每个目标网页元素均封装了一个明确的算法或行为,使得代码结构清晰以及易于理解。策略设计模式允许在运行时切换不同的算法或行为,同时也很容易添加新的策略类,这使得代码更具扩展性和灵活性,能够快速适应变化。使用策略设计模式可以有效地促进代码的重用,在不同的上下文中,相同的算法或行为可以被多次使用,避免了代码冗余的问题。通过策略设计模式,算法和行为与调用它们的代码分离,从而减少了实体之间的耦合度,这提高了代码的可扩展性和可维护性,同时便于在不同的环境中重复利用策略类和算法类。
41.一种具体的实施例中,当前页面可以为web平台对应的主页面。
42.步骤s202,重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;
43.具体地,通常一个网页由多个类型的多个目标网页元素组成,因此,需要通过对当前网页中的每一个目标网页元素进行遍历,以实现对当前网页中的每一个目标网页元素进行测试。
44.一种具体的实施例中,可以采用广度优先算法或者深度优先算法,依次对当前页面上所有的目标网页元素进行遍历和自动化测试。
45.在实际的应用过程中,由于网页一般均具有dom结构,故可以通过对dom结构,来获取当前网页上的目标网页元素,以确定对应的目标网页元素是否可以被正确执行。
46.步骤s203,第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
47.也就是说,通过步骤s201以及步骤s202,对当前网页中的每一个目标网页元素进行遍历,以对每个目标网页元素进行测试。在对当前网页中的每个目标网页元素进行遍历测试之后,通过该当前网页对应的机器学习模型,确定该当前网页是否符合预设网页标准,即通过该当前网页对应的机器学习模型,确定该当前网页的页面内容以及排版格式是否正确等等。
48.在步骤s203中,使用机器学习模型进行测试,可以大大减少测试的时间和工作量,测试人员不需要手动分析和编写各种测试用例代码,也无需为每一次界面更改都重新编写测试脚本。这样可以极大地节省测试成本和人力资源。
49.所述的用于web平台的自动化测试方法中,基于当前网页中的目标网页元素的类型,从目标集合中确定对应的目标测试方法,并根据目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,即通过目标网页元素对应的目标测试方法,确定对应的目标网页元素是否可以被正确执行,直到对当前网页中的所有目标网页元素确定完毕。在对当前网页中的所有目标网页元素全部遍历测试完毕之后,基于当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准。本技术的自动化测试方法中,在目标集合中存储目标网页元素与目标测试方法的对应关系,这样可以采用目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,也就是说,不同的目标网页元素对应不同的目标测试方法,这样在当前网页发生改变的情况下,对对应的目标测试方法的改动较小,整体的可扩展性较高。同时,本技术还通过当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准,这样不仅大大减少测试的时间和工作量,还提高了测试的准确率,从而解决了现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
50.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
51.具体实现过程中,本技术的自动化测试方法还包括步骤s204、步骤s205以及步骤s206。其中:
52.步骤s204,在根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行之后,在所述目标网页元素可被正确执行且所述目标网页元素被执行时发生跳转的情况下,至少基于所述当前网页的url(统一资源定位符,uniform resource locator,简称url)与所述目标网页元素被执行时发生跳转得到的子网页的url,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否重复;
53.步骤s205,在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url相同的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同;
54.步骤s206,在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url不相同的情况下,初步确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同,并基于所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的均方差误差,再次确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否相同。
55.在实际的应用过程中,由于每个网页均具有url,故可以通过当前网页的url与目标网页元素在被执行时发生跳转得到的子网页的url,来初步确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同,这样实现了较为简单地初步确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同。若是通过url,初步确定出当前网页与目标网页元素在被执行时发生跳转得到的子网页相同,则后续无需再通过当前网页与目标网页元素在被执行时发生跳转得到的子网页的均方误差,进行确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同,这样进一步地减少了确定的计算量,同时进一步地提高了对当前进行自动化测试的效率。
56.为了较为准确地确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同,本技术的所述步骤s206可以通过步骤s2061以及步骤s2061来实现。其中:
57.步骤s2061,采用确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差,mes为所述均方差误差,n为所述当前网页的像素的总个数,yi为所述当前网页对应的截图的第i个所述像素的像素值,为所述目标网页元素被执行时发生跳转得到的子网页对应的截图的第i个所述像素的像素值;
58.步骤s2062,在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差为预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同,在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差不为所述预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同。
59.一种具体的实施例中,所述预定值为0。
60.当然,在实际的应用过程中,并不限于通过确定当前网页与目标网页元素被执行时发生跳转得到的子网页之间的均方差误差,来确定当前网页与目标网页元素被执行时发生跳转得到的子网页是否相同。还可以采用现有技术中其他任何可行的方法,来确定当前网页与目标网页元素被执行时发生跳转得到的子网页是否相同。例如,定义损失函数、平均绝对误差、均方根误差、直方图比较、结构相似性指数。
61.在一些实施例上,本技术的自动化测试方法还包括步骤s207,在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同的情况下,将所述目标网页元素被执行时发生跳转得到的子网页加入至目标队列中。这样实现了较为全面和准确地对与当
前页面相关的所有子页面进行遍历和测试,进一步地保证了整个web平台的可靠性较高。
62.一种实施例中,如图3所示,所述步骤s203还可以通过步骤s2031以及步骤s2032来实现。其中:
63.步骤s2031,将所述当前网页的截图转化为数字矩阵,并采用目标处理方法,对所述当前网页的数字矩阵进行处理,以对所述当前网页的所述目标网页元素进行分类,得到分类结果,所述目标处理方法包括光学字符识别方法以及图像处理方法;
64.也就是说,通过目标处理方法,对当前网页的数字矩阵进行处理,这样实现了较为简单地对当前网页中的目标网页元素进行分类,即将同一类型的目标网页元素划分到同一类型中。
65.具体地,当前网页的截图,即为对当前网页进行截图而得到的图像。
66.在实际的应用过程中,并不限于通过目标处理方法,对当前网页的多个目标网页元素进行分类,得到分类结果,还可以通过预设训练得到的分类模型,对当前网页的多个目标网页元素进行分类。即只需达到对当前网页的多个目标网页元素进行分类的目的即可。
67.一种具体的实施例中,通过压缩编码技术,将当前网页的截图的像素的灰度值变为0到255之间的整数,从而得到一个具有新像素值的当前网页的数字矩阵,且将当前网页的数字矩阵写入内存缓冲区中,从而可以通过目标处理方法,对当前网页的数字矩阵进行分类。
68.步骤s2032,基于各所述分类结果对应的机器学习模型,确定对应的所述分类结果中的所述目标网页元素是否符合所述预设网页标准,以及基于所述当前网页对应的机器学习模型,确定所述当前网页的排版是否符合所述预设网页标准。
69.也就是说,每一种分类结果,对应一个机器学习模型,而整个当前网页也对应的一个机器学习模型。
70.在实际的应用过程中,所述预设网页标准即为排版布局均正确,无布局混乱、样式问题,且语法问题以及错别字问题等等。也就是说,预设网页标准也可以理解为标准的网页排版与布局等等。
71.在该实施例中,本技术通过采用不同的机器学习模型,来确定当前网页是否符合预设网页标准,这样进一步地实现了较为高效和准确地确定当前网页是否符合预设网页标准。
72.为了进一步较为准确和高效地确定目标网页元素是否符合预设网页标准,在具体的实现过程中,所述步骤s2032还可以通过以下步骤来实现:在所述分类结果对应的是文字类型的情况下,基于所述文字类型的所述目标网页元素对应的所述自然语言处理模型,确定所述文字类型的所述目标网页元素是否出现有错别字以及语句不通顺;在所述分类结果对应的是图像类型的情况下,基于所述图像类型的所述目标网页元素对应的所述图像识别模型,确定所述图像类型的所述目标网页元素是否存在空白图像。
73.具体地,自然语言处理模型和图像识别模型均是通过对应的多组训练数据进行训练得到的。具体地,通过自然语言处理模型对应的多组训练数据,对自然语言处理模型进行训练,而自然语言处理模型对应的多组训练数据中的每一组训练数据均包括训练文字以及该训练文字对应的识别结果。通过图像识别模型对应的多组训练数据,对图像识别模型进行训练,而图像识别模型对应的多组训练数据中的每一组训练数据均包括训练图像以及该
训练图像对应的识别结果。
74.在实际的应用过程中,在基于文字类型的目标网页元素对应的自然语言处理模型,确定文字类型的目标网页元素是否出现有错别字以及语句不通顺之前,还可以采用与文字相关的预处理技术,对文字类型的目标网页元素进行预处理,这样进一步地保证了确定文字类型的目标网页元素是否出现有错别字以及语句不通顺的结果较为准确。
75.具体地,基于图像类型的目标网页元素对应的图像识别模型,确定图像类型的目标网页元素是否存在空白图像之前,还可以与图像处理相关的预处理技术,对图像类型的目标网页元素进行预处理,这样进一步地保证了确定的图像类型的目标网页元素是否存在空白图像的结果较为准确。
76.在实际对当前网页进行自动化测试的过程中,会涉及到客户端或者服务端与当前网页的交互。例如,在通过当前网页输入相关内容,以实现查询,或者,新增相关内容等等。那么,便会接收到web平台通过响应客户端或者服务端而接收到的数据包。因此,为了较为准确地确定目标网页元素在被执行时是否可以进行跳转,本技术的自动化测试方法还包括步骤s208以及步骤s209。其中:
77.步骤s208,根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行的过程中,接收目标数据包,所述目标数据包为对所述目标网页元素进行测试,得到的响应数据包;
78.步骤s209,对所述目标数据包进行解析,在解析得到所述目标数据包中的异常状态码的情况下,确定所述目标网页元素出现异常且无法进行跳转。
79.一种具体的实施例中,在确定目标网页元素出现异常且无法进行跳转的情况下,则可以继续对下一个目标网页元素进行测试。
80.另一种具体的实施例中,异常状态码可以为40x以及50x等等。当然,也并不限于40x以及50x,还可以为其他的异常状态码。
81.另一种具体的实施例中,如图4所示,步骤s41:开启报文监控工具,选择相应的网卡,设置监测的协议、端口、ip地址(internet protocol address)等信息;步骤s42:接收目标数据包,并对目标数据包进行解析;步骤s43:若目标数据包中具有异常状态码,则确定目标网页元素出现异常且无法进行跳转;若目标数据包中不具有异常状态码,则确定目标网页元素正常且可以进行跳转。
82.一种实施例中,本技术的自动化测试方法还包括步骤s210,重复所述第一确定步骤、所述重复步骤和所述第二确定步骤,直到对所述目标队列中的所有的网页全部确定完毕。也就是说,在对当前网页进行自动化测试过程中,目标网页元素在被执行时,发生跳转得到子网页,故还可以对跳转得到的子网页进行自动化测试,这样保证了整个web平台整体的页面质量较高。
83.一种具体的实施例中,在目标队列中,各网页与其对应的url可以以key-value的形式进行存储。各网页还可以对应有对应的dom结构以及该网页的截图。
84.另一种具体的实施例中,如图5所示,具体步骤如下:
85.步骤s51:开启浏览器,并访问web平台的主网页,即当前页面;
86.步骤s52:建立目标队列,并将主网页保存至目标队列中,且将还可以以key-vaule的形式,对主网页对应的url、截图以及对应的dom结构进行保存;
87.步骤s53:从左到右的顺序,依次遍历目标队列中的页面;在经历步骤s1以及步骤s2之后,目标队列中仅有一个主网页;
88.步骤s54:对主网页上的目标网页元素进行定位和操作。即按照广度优先算法,对主网页上的目标网页元素进行遍历,并从目标集合中确定目标网页元素对应的目标测试方法,采用目标网页元素对应的目标测试方法,对目标网页元素进行测试,以确定目标网页元素是否被正确执行;
89.步骤s55:若目标网页元素在被执行时发生跳转,则确定主网页与将跳转得到的子网页是否相同,若不同,则将跳转得到的子网页加入到目标队列中;
90.步骤s56:重复步骤s51至步骤s55,直到主网页上所有的目标元素全部被遍历测试;
91.步骤s57:基于主网页对应的机器学习模型,确定主网页是否符合预设网页标准;
92.步骤s58:重复步骤s51至步骤s57,直到将目标队列中所有的网页全部测试完毕。
93.本技术的自动化测试方法还包括步骤s211,在从目标集合中确定当前网页中的目标网页元素对应的目标测试方法之前,采用广度优先算法,对所述当前网页中的所述目标网页元素进行逐一读取。这样实现了后续可以较为全面地对目标网页元素进行遍历测试,并不会遗漏当前网页中的目标网页元素。
94.本技术实施例还提供了一种用于web平台的自动化测试工具,需要说明的是,本技术实施例的用于web平台的自动化测试工具可以用于执行本技术实施例所提供的用于用于web平台的自动化测试方法。该装置用于实现所述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
95.以下对本技术实施例提供的用于web平台的自动化测试工具进行介绍。
96.图6是根据本技术实施例的用于web平台的自动化测试工具的示意图。如图6所示,该自动化测试工具包括:
97.第一确定单元10,用于执行第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;
98.在第一确定单元中,每一个类型的目标网页元素(例如,图片类型、文字类型或者按钮类型),均对应一个目标测试方法,即可称之为策略设计模式,这样使得本技术的自动化测试方法的可扩展性较高,在web平台出现版本迭代时,对本技术的自动化测试方法对应的代码的改动较小。
99.在具体的采用代码实现的过程中,本技术的策略设计模式中,为每一个类型的目标网页元素定义一个目标测试方法的接口(service)以及该目标测试方法的实现(implement);同时,在目标集合中关联每种类型的目标网页元素与对应的测试方法的接口。也就是说,本技术采用策略设计模式可以使代码更加可读和易于维护,每个目标网页元素均封装了一个明确的算法或行为,使得代码结构清晰以及易于理解。策略设计模式允许在运行时切换不同的算法或行为,同时也很容易添加新的策略类,这使得代码更具扩展性
和灵活性,能够快速适应变化。使用策略设计模式可以有效地促进代码的重用,在不同的上下文中,相同的算法或行为可以被多次使用,避免了代码冗余的问题。通过策略设计模式,算法和行为与调用它们的代码分离,从而减少了实体之间的耦合度,这提高了代码的可扩展性和可维护性,同时便于在不同的环境中重复利用策略类和算法类。
100.一种具体的实施例中,当前页面可以为web平台对应的主页面。
101.第一重复单元20,用于执行重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;
102.具体地,通常一个网页由多个类型的多个目标网页元素组成,因此,需要通过对当前网页中的每一个目标网页元素进行遍历,以实现对当前网页中的每一个目标网页元素进行测试。
103.一种具体的实施例中,可以采用广度优先算法或者深度优先算法,依次对当前页面上所有的目标网页元素进行遍历和自动化测试。
104.在实际的应用过程中,由于网页一般均具有dom结构,故可以通过对dom结构,来获取当前网页上的目标网页元素,以确定对应的目标网页元素是否可以被正确执行。
105.第二确定单元30,用于执行第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
106.也就是说,通过第一确定单元和第一重复单元,对当前网页中的每一个目标网页元素进行遍历,以对每个目标网页元素进行测试。在对当前网页中的每个目标网页元素进行遍历测试之后,通过该当前网页对应的机器学习模型,确定该当前网页是否符合预设网页标准,即通过该当前网页对应的机器学习模型,确定该当前网页的页面内容以及排版格式是否正确等等。
107.在第二确定单元中,使用机器学习模型进行测试,可以大大减少测试的时间和工作量,测试人员不需要手动分析和编写各种测试用例代码,也无需为每一次界面更改都重新编写测试脚本。这样可以极大地节省测试成本和人力资源。
108.所述的用于web平台的自动化测试工具中,第一确定单元用于基于当前网页中的目标网页元素的类型,从目标集合中确定对应的目标测试方法,并根据目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,即通过目标网页元素对应的目标测试方法,确定对应的目标网页元素是否可以被正确执行,直到对当前网页中的所有目标网页元素确定完毕。第二确定单元用于在对当前网页中的所有目标网页元素全部遍历测试完毕之后,基于当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准。本技术的自动化测试工具中,在目标集合中存储目标网页元素与目标测试方法的对应关系,这样可以采用目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,也就是说,不同的目标网页元素对应不同的目标测试方法,这样在当前网页发生改变的情况下,对对应的目标测试方法的改动较小,整体的可扩展性较高。同时,本技术还通过当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准,这样不仅大大减少测试的时间和工作量,还提高了测试的准确率,从而解决了现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
109.具体实现过程中,本技术的自动化测试方法还包括第三确定单元、第四确定单元和第五确定单元。其中,所述第三确定单元用于在根据所述目标网页元素对应的所述目标
测试方法,确定所述目标网页元素是否可被正确执行之后,在所述目标网页元素可被正确执行且所述目标网页元素被执行时发生跳转的情况下,至少基于所述当前网页的url(统一资源定位符,uniform resource locator,简称url)与所述目标网页元素被执行时发生跳转得到的子网页的url,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否重复;所述第四确定单元用于在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url相同的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同;所述第五确定单元用于在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url不相同的情况下,初步确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同,并基于所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的均方差误差,再次确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否相同。
110.在实际的应用过程中,由于每个网页均具有url,故可以通过当前网页的url与目标网页元素在被执行时发生跳转得到的子网页的url,来初步确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同,这样实现了较为简单地初步确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同。若是通过url,初步确定出当前网页与目标网页元素在被执行时发生跳转得到的子网页相同,则后续无需再通过当前网页与目标网页元素在被执行时发生跳转得到的子网页的均方误差,进行确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同,这样进一步地减少了确定的计算量,同时进一步地提高了对当前进行自动化测试的效率。
111.为了较为准确地确定当前网页与目标网页元素在被执行时发生跳转得到的子网页是否相同,所述的第五确定单元包括第一确定模块和第二确定模块。其中,所述第一确定模块用于采用确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差,mes为所述均方差误差,n为所述当前网页的像素的总个数,yi为所述当前网页对应的截图的第i个所述像素的像素值,为所述目标网页元素被执行时发生跳转得到的子网页对应的截图的第i个所述像素的像素值;所述第二确定模块用于在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差为预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同,在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差不为所述预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同。
112.一种具体的实施例中,所述预定值为0。
113.当然,在实际的应用过程中,并不限于通过确定当前网页与目标网页元素被执行时发生跳转得到的子网页之间的均方差误差,来确定当前网页与目标网页元素被执行时发生跳转得到的子网页是否相同。还可以采用现有技术中其他任何可行的方法,来确定当前网页与目标网页元素被执行时发生跳转得到的子网页是否相同。例如,定义损失函数、平均绝对误差、均方根误差、直方图比较、结构相似性指数。
114.在一些实施例上,本技术的自动化测试工具还包括添加单元,用于在所述当前网
页与所述目标网页元素被执行时发生跳转得到的子网页不相同的情况下,将所述目标网页元素被执行时发生跳转得到的子网页加入至目标队列中。这样实现了较为全面和准确地对与当前页面相关的所有子页面进行遍历和测试,进一步地保证了整个web平台的可靠性较高。
115.一种实施例中,所述第二确定单元包括分类模块和第三确定模块。其中,所述分列模块用于将所述当前网页的截图转化为数字矩阵,并采用目标处理方法,对所述当前网页的数字矩阵进行处理,以对所述当前网页的所述目标网页元素进行分类,得到分类结果,所述目标处理方法包括光学字符识别方法以及图像处理方法;所述第三确定模块用于基于各所述分类结果对应的机器学习模型,确定对应的所述分类结果中的所述目标网页元素是否符合所述预设网页标准,以及基于所述当前网页对应的机器学习模型,确定所述当前网页的排版是否符合所述预设网页标准。也就是说,每一种分类结果,对应一个机器学习模型,而整个当前网页也对应的一个机器学习模型。在该实施例中,通过目标处理方法,对当前网页的数字矩阵进行处理,这样实现了较为简单地对当前网页中的目标网页元素进行分类,即将同一类型的目标网页元素划分到同一类型中。
116.具体地,当前网页的截图,即为对当前网页进行截图而得到的图像。
117.在实际的应用过程中,并不限于通过目标处理方法,对当前网页的多个目标网页元素进行分类,得到分类结果,还可以通过预设训练得到的分类模型,对当前网页的多个目标网页元素进行分类。即只需达到对当前网页的多个目标网页元素进行分类的目的即可。
118.一种具体的实施例中,通过压缩编码技术,将当前网页的截图的像素的灰度值变为0到255之间的整数,从而得到一个具有新像素值的当前网页的数字矩阵,且将当前网页的数字矩阵写入内存缓冲区中,从而可以通过目标处理方法,对当前网页的数字矩阵进行分类。
119.在实际的应用过程中,所述预设网页标准即为排版布局均正确,无布局混乱、样式问题,且语法问题以及错别字问题等等。也就是说,预设网页标准也可以理解为标准的网页排版与布局等等。
120.在该实施例中,本技术通过采用不同的机器学习模型,来确定当前网页是否符合预设网页标准,这样进一步地实现了较为高效和准确地确定当前网页是否符合预设网页标准。
121.为了进一步较为准确和高效地确定目标网页元素是否符合预设网页标准,在具体的实现过程中,所述第三确定模块包括第一确定子模块和第二确定子模块。其中,所述第一确定子模块用于在所述分类结果对应的是文字类型的情况下,基于所述文字类型的所述目标网页元素对应的所述自然语言处理模型,确定所述文字类型的所述目标网页元素是否出现有错别字以及语句不通顺;所述第二确定子模块用于在所述分类结果对应的是图像类型的情况下,基于所述图像类型的所述目标网页元素对应的所述图像识别模型,确定所述图像类型的所述目标网页元素是否存在空白图像。
122.具体地,自然语言处理模型和图像识别模型均是通过对应的多组训练数据进行训练得到的。具体地,通过自然语言处理模型对应的多组训练数据,对自然语言处理模型进行训练,而自然语言处理模型对应的多组训练数据中的每一组训练数据均包括训练文字以及该训练文字对应的识别结果。通过图像识别模型对应的多组训练数据,对图像识别模型进
行训练,而图像识别模型对应的多组训练数据中的每一组训练数据均包括训练图像以及该训练图像对应的识别结果。
123.在实际的应用过程中,在基于文字类型的目标网页元素对应的自然语言处理模型,确定文字类型的目标网页元素是否出现有错别字以及语句不通顺之前,还可以采用与文字相关的预处理技术,对文字类型的目标网页元素进行预处理,这样进一步地保证了确定文字类型的目标网页元素是否出现有错别字以及语句不通顺的结果较为准确。
124.具体地,基于图像类型的目标网页元素对应的图像识别模型,确定图像类型的目标网页元素是否存在空白图像之前,还可以与图像处理相关的预处理技术,对图像类型的目标网页元素进行预处理,这样进一步地保证了确定的图像类型的目标网页元素是否存在空白图像的结果较为准确。
125.在实际对当前网页进行自动化测试的过程中,会涉及到客户端或者服务端与当前网页的交互。例如,在通过当前网页输入相关内容,以实现查询,或者,新增相关内容等等。那么,便会接收到web平台通过响应客户端或者服务端而接收到的数据包。因此,为了较为准确地确定目标网页元素在被执行时是否可以进行跳转,本技术的自动化测试工具还包括接收单元和解析单元。其中,所述接收单元用于根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行的过程中,接收目标数据包,所述目标数据包为对所述目标网页元素进行测试,得到的响应数据包;所述解析单元用于对所述目标数据包进行解析,在解析得到所述目标数据包中的异常状态码的情况下,确定所述目标网页元素出现异常且无法进行跳转。
126.一种具体的实施例中,在确定目标网页元素出现异常且无法进行跳转的情况下,则可以继续对下一个目标网页元素进行测试。
127.另一种具体的实施例中,异常状态码可以为40x以及50x等等。当然,也并不限于40x以及50x,还可以为其他的异常状态码。
128.一种实施例中,本技术的自动化测试工具还包括第二重复单元,用于重复所述第一确定步骤、所述重复步骤和所述第二确定步骤,直到对所述目标队列中的所有的网页全部确定完毕。也就是说,在对当前网页进行自动化测试过程中,目标网页元素在被执行时,发生跳转得到子网页,故还可以对跳转得到的子网页进行自动化测试,这样保证了整个web平台整体的页面质量较高。
129.一种具体的实施例中,在目标队列中,各网页与其对应的url可以以key-value的形式进行存储。各网页还可以对应有对应的dom结构以及该网页的截图。
130.本技术的自动化测试工具还包括读取单元,用于在从目标集合中确定当前网页中的目标网页元素对应的目标测试方法之前,采用广度优先算法,对所述当前网页中的所述目标网页元素进行逐一读取。这样实现了后续可以较为全面地对目标网页元素进行遍历测试,并不会遗漏当前网页中的目标网页元素。
131.所述用于web平台的自动化测试工具包括处理器和存储器,所述第一确定单元、第一重复单元和所述第二确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的所述程序单元来实现相应的功能。所述模块均位于同一处理器中;或者,所述各个模块以任意组合的形式分别位于不同的处理器中。
132.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个
或以上,通过调整内核参数来现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
133.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
134.本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行所述用于web平台的自动化测试方法。
135.本发明实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述的用于web平台的自动化测试方法。
136.本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
137.步骤s201,第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;
138.步骤s202,重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;
139.步骤s203,第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
140.本文中的设备可以是服务器、pc、pad、手机等。
141.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
142.步骤s201,第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;
143.步骤s202,重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;
144.步骤s203,第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
145.显然,本领域的技术人员应该明白,所述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
146.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
147.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
148.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
149.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
150.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
151.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
152.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
153.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
154.从以上的描述中,可以看出,本技术所述的实施例实现了如下技术效果:
155.1)、本技术的用于web平台的自动化测试方法中,基于当前网页中的目标网页元素的类型,从目标集合中确定对应的目标测试方法,并根据目标网页元素对应的目标测试方
法,对对应的目标网页元素进行测试,即通过目标网页元素对应的目标测试方法,确定对应的目标网页元素是否可以被正确执行,直到对当前网页中的所有目标网页元素确定完毕。在对当前网页中的所有目标网页元素全部遍历测试完毕之后,基于当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准。本技术的自动化测试方法中,在目标集合中存储目标网页元素与目标测试方法的对应关系,这样可以采用目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,也就是说,不同的目标网页元素对应不同的目标测试方法,这样在当前网页发生改变的情况下,对对应的目标测试方法的改动较小,整体的可扩展性较高。同时,本技术还通过当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准,这样不仅大大减少测试的时间和工作量,还提高了测试的准确率,从而解决了现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
156.2)、本技术的用于web平台的自动化测试工具中,第一确定单元用于基于当前网页中的目标网页元素的类型,从目标集合中确定对应的目标测试方法,并根据目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,即通过目标网页元素对应的目标测试方法,确定对应的目标网页元素是否可以被正确执行,直到对当前网页中的所有目标网页元素确定完毕。第二确定单元用于在对当前网页中的所有目标网页元素全部遍历测试完毕之后,基于当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准。本技术的自动化测试工具中,在目标集合中存储目标网页元素与目标测试方法的对应关系,这样可以采用目标网页元素对应的目标测试方法,对对应的目标网页元素进行测试,也就是说,不同的目标网页元素对应不同的目标测试方法,这样在当前网页发生改变的情况下,对对应的目标测试方法的改动较小,整体的可扩展性较高。同时,本技术还通过当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准,这样不仅大大减少测试的时间和工作量,还提高了测试的准确率,从而解决了现有技术中对web平台进行自动化测试的可扩展性较差以及测试效率较低的问题。
157.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种用于web平台的自动化测试方法,其特征在于,包括:第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。2.根据权利要求1所述的自动化测试方法,其特征在于,在根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行之后,所述自动化测试方法还包括:在所述目标网页元素可被正确执行且所述目标网页元素被执行时发生跳转的情况下,至少基于所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否重复;在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url相同的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同;在所述当前网页的url与所述目标网页元素被执行时发生跳转得到的子网页的url不相同的情况下,初步确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同,并基于所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的均方差误差,再次确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否相同。3.根据权利要求2所述的自动化测试方法,其特征在于,基于所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的均方差误差,再次确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页是否相同,包括:采用确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差,mes为所述均方差误差,n为所述当前网页的像素的总个数,y
i
为所述当前网页对应的截图的第i个所述像素的像素值,为所述目标网页元素被执行时发生跳转得到的子网页对应的截图的第i个所述像素的像素值;在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差为预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页相同,在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页的所述均方差误差不为所述预定值的情况下,确定所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同。4.根据权利要求3所述的自动化测试方法,其特征在于,所述自动化测试方法还包括:在所述当前网页与所述目标网页元素被执行时发生跳转得到的子网页不相同的情况
下,将所述目标网页元素被执行时发生跳转得到的子网页加入至目标队列中。5.根据权利要求1所述的自动化测试方法,其特征在于,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准,包括:将所述当前网页的截图转化为数字矩阵,并采用目标处理方法,对所述当前网页的数字矩阵进行处理,以对所述当前网页的所述目标网页元素进行分类,得到分类结果,所述目标处理方法包括光学字符识别方法以及图像处理方法;基于各所述分类结果对应的机器学习模型,确定对应的所述分类结果中的所述目标网页元素是否符合所述预设网页标准,以及基于所述当前网页对应的机器学习模型,确定所述当前网页的排版是否符合所述预设网页标准。6.根据权利要求5所述的自动化测试方法,其特征在于,所述机器学习模型包括自然语言处理模型和图像识别模型,所述自然语言处理模型和所述图像识别模型均是通过对应的多组训练数据进行训练得到的,基于各所述分类结果对应的机器学习模型,确定对应的所述分类结果中的所述目标网页元素是否符合所述预设网页标准,包括:在所述分类结果对应的是文字类型的情况下,基于所述文字类型的所述目标网页元素对应的所述自然语言处理模型,确定所述文字类型的所述目标网页元素是否出现有错别字以及语句不通顺;在所述分类结果对应的是图像类型的情况下,基于所述图像类型的所述目标网页元素对应的所述图像识别模型,确定所述图像类型的所述目标网页元素是否存在空白图像。7.根据权利要求1所述的自动化测试方法,其特征在于,在所述第一确定步骤的过程中,所述自动化测试方法还包括:根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行的过程中,接收目标数据包,所述目标数据包为对所述目标网页元素进行测试,得到的响应数据包;对所述目标数据包进行解析,在解析得到所述目标数据包中的异常状态码的情况下,确定所述目标网页元素出现异常且无法进行跳转。8.根据权利要求4所述的自动化测试方法,其特征在于,所述自动化测试方法还包括:重复所述第一确定步骤、所述重复步骤和所述第二确定步骤,直到对所述目标队列中的所有的网页全部确定完毕。9.根据权利要求1所述的自动化测试方法,其特征在于,在从目标集合中确定当前网页中的目标网页元素对应的目标测试方法之前,所述自动化测试方法还包括:采用广度优先算法,对所述当前网页中的所述目标网页元素进行逐一读取。10.一种用于web平台的自动化测试工具,其特征在于,包括:第一确定单元,用于执行第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据所述目标网页元素对应的所述目标测试方法,确定所述目标网页元素是否可被正确执行,所述目标集合是存储所述目标网页元素与所述目标测试方法的对应关系的集合;第一重复单元,用于执行重复步骤,重复所述第一确定步骤至少一次,直到对所述当前网页中所有的所述目标网页元素确定完毕;
第二确定单元,用于执行第二确定步骤,至少基于所述当前网页对应的机器学习模型,确定所述当前网页是否符合预设网页标准。
技术总结
本申请提供了一种用于WEB平台的自动化测试方法与自动化测试工具。该方法包括:第一确定步骤,从目标集合中确定当前网页中的目标网页元素对应的目标测试方法,并根据目标网页元素对应的目标测试方法,确定目标网页元素是否可被正确执行,目标集合是存储目标网页元素与目标测试方法的对应关系的集合;重复步骤,重复第一确定步骤至少一次,直到对当前网页中所有的目标网页元素确定完毕;第二确定步骤,至少基于当前网页对应的机器学习模型,确定当前网页是否符合预设网页标准,解决了现有技术中对WEB平台进行自动化测试的可扩展性较差以及测试效率较低的问题。测试效率较低的问题。测试效率较低的问题。
技术研发人员:张维行 刘建飞 王涛 肖杰 庞烨 宫加辉 王奕
受保护的技术使用者:潍坊潍柴动力科技有限责任公司
技术研发日:2023.07.26
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/