自动化测试脚本的获取方法、装置、设备及存储介质与流程

文档序号:24725373发布日期:2021-04-16 15:54阅读:142来源:国知局
自动化测试脚本的获取方法、装置、设备及存储介质与流程

1.本申请涉及自动化测试技术领域,具体而言,涉及一种自动化测试脚本的获取方法、装置、设备及存储介质。


背景技术:

2.当前自动化测试主要分为基于接口的自动化和基于界面视图的自动化测试两大类。其中,基于界面视图的自动化测试主要是基于桌面视图,通过可视化的元素进行模拟操作,达到模拟手工测试的目的。
3.现有技术中,采用自动化测试脚本进行基于界面视图的自动化测试中,需要通过前端元素的属性值来定位视图元素,前端元素的属性例如可以包括class、id、name、xpath、css等属性。
4.然而,在产品开发过程中,很多元素是动态定义的,定义过程中并没有生成上述相关属性,导致无法按照现有属性去定位,导致元素定位困难,并且在产品前端结果发生变动时,定位元素的自动化测试脚本需要进行调整,导致自动化测试脚本的开发、维护成本非常高。


技术实现要素:

5.本申请的目的在于,针对上述现有技术中的不足,提供一种自动化测试脚本的获取方法、装置、设备及存储介质,以解决现有技术中元素定位困难,且自动化测试脚本的开发和维护成本较高的问题。
6.为实现上述目的,本申请实施例采用的技术方案如下:
7.第一方面,本申请一实施例提供了一种自动化测试脚本的获取方法,所述方法包括:
8.对目标视图中的多个视图元素进行截图,得到所述多个视图元素的多个元素截图;
9.显示所述多个元素截图中的多个目标元素截图;
10.根据对所述多个目标元素截图的执行顺序编辑操作,显示所述目标视图对应的脚本逻辑图,所述脚本逻辑图用于表征所述目标视图的业务逻辑;
11.根据对所述脚本逻辑图的编辑操作,编辑所述脚本逻辑图中的测试参数;
12.根据所述测试参数和所述脚本逻辑图生成所述目标视图的自动化测试脚本。
13.在一可选的实施方式中,所述显示所述多个元素截图中的多个目标元素截图之前,还包括:
14.获取每个元素截图中元素的元素属性,所述元素属性指示所述每个元素截图中的元素是否可操作;
15.根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到所述多个目标元素截图。
16.在一可选的实施方式中,所述根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到所述多个目标元素截图,包括:
17.根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到元素截图集;
18.从所述元素截图集中将元素显示不全的元素截图清洗掉,得到所述多个目标元素截图。
19.在一可选的实施方式中,所述显示所述多个元素截图中的多个目标元素截图,包括:
20.获取所述多个目标元素截图中元素的元素类型;
21.根据所述元素类型对所述多个目标元素截图进行分类显示。
22.在一可选的实施方式中,所述根据所述元素类型对所述多个目标元素截图进行分类显示,包括:
23.将所述多个目标元素截图中相同元素类型的目标元素截图显示在相同展示页面。
24.在一可选的实施方式中,所述将所述多个目标元素截图中相同元素类型的目标元素截图显示在相同展示页面,包括:
25.获取所述相同元素类型的目标元素截图中元素的操作类型;
26.将相同操作类型的目标元素截图在所述相同展示页面进行分类显示。
27.在一可选的实施方式中,所述根据编辑后的脚本逻辑图生成所述目标视图的自动化测试脚本,包括:
28.获取所述编辑后的脚本逻辑图对应的操作对象、执行动作以及执行顺序;
29.根据所述操作对象、执行动作以及执行顺序,生成所述自动化测试脚本。
30.第二方面,本申请另一实施例提供了一种自动化测试脚本的获取装置,所述装置包括:
31.处理模块,用于对目标视图中的多个视图元素进行截图,得到所述多个视图元素的多个元素截图;
32.显示模块,用于显示所述多个元素截图中的多个目标元素截图,根据对所述多个目标元素截图的执行顺序编辑操作,显示所述目标视图对应的脚本逻辑图,所述脚本逻辑图用于表征所述目标视图的业务逻辑;
33.所述处理模块,用于根据对所述脚本逻辑图的编辑操作,编辑所述脚本逻辑图中的测试参数;
34.生成模块,用于根据所述测试参数和所述脚本逻辑图生成所述目标视图的自动化测试脚本。
35.在一可选的实施方式中,所述装置还包括:
36.获取模块,用于获取每个元素截图中元素的元素属性,所述元素属性指示所述每个元素截图中的元素是否可操作;
37.所述处理模块,还用于根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到所述多个目标元素截图。
38.在一可选的实施方式中,所述获取模块,具体用于:
39.根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到元
素截图集;
40.从所述元素截图集中将元素显示不全的元素截图清洗掉,得到所述多个目标元素截图。
41.在一可选的实施方式中,所述显示模块,具体用于:
42.获取所述多个目标元素截图中元素的元素类型;
43.根据所述元素类型对所述多个目标元素截图进行分类显示。
44.在一可选的实施方式中,所述显示模块,具体用于:
45.将所述多个目标元素截图中相同元素类型的目标元素截图显示在相同展示页面。
46.在一可选的实施方式中,所述显示模块,具体用于:
47.获取所述相同元素类型的目标元素截图中元素的操作类型;
48.将相同操作类型的目标元素截图在所述相同展示页面进行分类显示。
49.在一可选的实施方式中,所述生成模块,具体用于:
50.获取所述编辑后的脚本逻辑图对应的操作对象、执行动作以及执行顺序;
51.根据所述操作对象、执行动作以及执行顺序,生成所述自动化测试脚本。
52.第三方面,本申请另一实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行如上述第一方面任一项所述的方法。
53.第四方面,本申请另一实施例提供了一种存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一项所述的方法。
54.本申请提供了一种自动化测试脚本的获取方法、装置、设备及存储介质,其中,该方法包括:对目标视图中的多个视图元素进行截图,得到多个视图元素的多个元素截图,显示多个元素截图中的多个目标元素截图,根据对多个目标元素截图的执行顺序编辑操作,显示目标视图对应的脚本逻辑图,脚本逻辑图用于表征目标视图的业务逻辑,根据对脚本逻辑图的编辑操作,编辑脚本逻辑图中的测试参数,根据测试参数和脚本逻辑图生成目标视图的自动化测试脚本。本申请通过基于元素截图进行脚本逻辑设计,实现自动化测试脚本开发,无需任何高级语言开发技术、自动化技术门槛,降低了自动化测试脚本的开发和维护成本,同时规避了传统界面自动化过程中元素定位难题。
附图说明
55.为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
56.图1示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图一;
57.图2示出了本申请实施例提供的脚本逻辑图的示意图;
58.图3示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图二;
59.图4示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图三;
60.图5示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图四;
61.图6示出了本申请实施例提供的自动化测试脚本的获取装置的结构示意图;
62.图7示出了本申请实施例提供的电子设备的结构示意图。
具体实施方式
63.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
64.另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
65.需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
66.当前自动化测试主要分为基于接口的自动化和基于界面视图的自动化两大类,前者主要针对接口的协议标准和业务需求,模拟接口的出入参、协议格式等内容,往对应接口地址发送请求,达到基于接口的自动化测试目的,后者主要是基于界面视图,通过对可视化的元素进行模拟操作(如鼠标单击、鼠标双击、拖动等),达到模拟手工测试的目的,实现基于界面视图的自动化测试。
67.基于界面视图进行自动化测试的过程中,目前定位元素的方法是通过前端元素的属性值来定位元素,如class、id、name、xpath、css等属性,然而,通过属性值来定位元素存在两大瓶颈:
68.第一,在产品开发过程中,很多元素是动态定义的,定义过程中并没有生成类似id、name等相关属性,导致无法通过现有属性去定位,即便是通过绝对路径的xpath能定位,本身脚本的可读性、可维护性、健壮性也是非常差,无法在实际项目中运用,另外对于一些自定义控件,在没有源码的情况下,自定义控件中的子元素的获取更是一大难题。
69.第二,在产品前端结构发生变动或调整时,定位元素的脚本都需要进行调整,一旦自动化测试脚本达到一定的数量,维护工作量会非常巨大,让自动化测试的实际价值大打折扣,投入产出甚至低于手工测试。
70.整体而言,基于界面视图进行自动化测试时,存在两个比较明显的缺陷,1)元素定位困难;2)自动化测试脚本的开发、维护成本非常高。
71.基于上述问题,本申请提供了一种自动化测试脚本的获取方法,提出基于图像识别的用户界面(user interface,ui)自动化测试脚本快速开发方法,通过基于元素截图进行脚本逻辑设计,实现自动化测试脚本开发,无需任何高级语言开发技术、自动化技术门槛,降低了自动化测试脚本的开发和维护成本,提升自动化测试效率和测试质量,同时规避
了传统界面自动化过程中元素定位难题。
72.下面结合几个具体实施例对本申请的自动化测试脚本的获取方法进行详细说明。
73.图1示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图一,本实施例的执行主体可以为电子设备,例如可以为终端设备、服务器等,电子设备上设有自动化测试脚本开发平台。
74.如图1所示,该方法可以包括:
75.s101、对目标视图中的多个视图元素进行截图,得到多个视图元素的多个元素截图。
76.其中,目标视图可以为待进行自动化测试的桌面视图。视图元素为目标视图的构成元素,例如可以包括账号输入框、密码输入框、登录按钮等元素。需要说明的是,不同的桌面视图可以具有不同的视图元素,本实施例对此不做特别限定。
77.在本实施例中,为了获取目标视图的自动化测试脚本,首先可以对目标视图中的多个视图元素进行截图,得到多个视图元素的多个元素截图,其中,每个视图元素对应一个元素截图。
78.需要说明的是,对目标视图中的多个视图元素进行截图可以包括手工截取和自动截取两种截图方式,手工截取是脚本开发人员输入针对目标视图中的多个视图元素进行截图操作,电子设备响应该截图操作,得到多个视图元素的多个元素截图,包括图片截图和文字截图等;自动截取是由脚本开发平台自动进行桌面视图上所有视图元素的元素截图,减少手工截图工作量。当然,手工截取和自动截取这两种截图方式也可以配合使用,以提高元素截图截取的准确度。
79.示例性地,还可以获取目标视图对应的显示器的分辨率,在实际应用中,还可以计算目标视图和后续视图之间的图像相似度,并在图像相似度大于相似度阈值时,还可以采用目标视图的自动化测试脚本,对后续视图进行自动化测试。其中,计算目标视图和后续视图之间的图像相似度可以包括:根据目标视图的分辨率、所包含的视图元素以及后续视图的分辨率、所包含的视图元素,计算目标视图和后续视图之前的图像相似度,这样实现了自动化测试脚本的兼容和共享。
80.s102、显示多个元素截图中的多个目标元素截图。
81.对目标视图进行截图之后,还可以在自动化测试脚本开发平台显示多个元素截图中的多个目标元素截图,其中,多个目标元素截图可以为多个元素截图中元素可操作的元素截图,元素可操作的元素截图指的是用户可操作的元素的元素截图。
82.以元素截图包括苹果截图为例,苹果截图中包括苹果,苹果为苹果截图中的元素,苹果仅仅可显示,用户不可操作该苹果,因此该苹果截图即为非目标元素截图,则无需显示该元素截图。其中,用户不可操作该苹果可以为用户无法对该苹果执行输入、点击等各种操作。
83.本实施例的关键在于,自动化测试是为了模拟用户的真实使用进行测试,若存在元素截图中的元素不可操作,那么也没有必要对该元素截图进行后续操作以生成自动化测试脚本。
84.以多个目标元素截图包括“在此键入您的工号/姓名/账号”截图、“请输入您的密码”截图、“登录”截图为例,表1示出了多个目标元素截图的显示方式,如表1所示,表头分别
为元素序号、目标元素截图、截图名称,其中,目标元素1为“在此键入您的工号/姓名/账号”、对应的“在此键入您的工号/姓名/账号”截图、截图名称为username.jpg;目标元素2为“请输入您的密码”、对应“请输入您的密码”截图、截图名称为password.jpg;目标元素3为“登录”、对应“登录”截图、截图名称为loginbtn.jpg。
[0085][0086]
表1
[0087]
当然,表1仅仅是作为一种显示示例,在实际应用中,包括但不限于表1的显示方式。
[0088]
s103、根据对多个目标元素截图的执行顺序编辑操作,显示目标视图对应的脚本逻辑图。
[0089]
其中,执行顺序编辑操作可以为拖拽操作、点击操作、双击操作中的任意一种,本实施例对此不做特别限定。
[0090]
脚本开发人员可以输入针对多个目标元素截图的执行顺序编辑操作,相应的,电子设备根据对多个目标元素截图的执行顺序编辑操作,显示目标视图对应的脚本逻辑图,脚本逻辑图用于表征目标视图的业务逻辑。
[0091]
以上示意的3个元素可以形成以下业务逻辑(即业务执行顺序):目标元素1

输入账号到目标元素2

输入密码到目标元素3

单击,以完成登录过程,因此还可以拖拽以上示意的3个目标元素截图,形成并显示目标视图的业务逻辑。图2示出了本申请实施例提供的脚本逻辑图的示意图,如图2所示,在脚本开发过程中,通过拖拽可视化显示的3个目标元素截图,3个目标元素截图可以通过箭头指定,即通过箭头由上一步操作的目标元素截图指向下一步操作的目标元素截图,即可生成脚本逻辑图。
[0092]
s104、根据对脚本逻辑图的编辑操作,编辑脚本逻辑图中的测试参数。
[0093]
s105、根据测试参数和脚本逻辑图,生成目标视图的自动化测试脚本。
[0094]
生成目标视图的脚本逻辑图之后,脚本开发人员还可以输入针对脚本逻辑图的编辑操作,相应的,电子设备根据对脚本逻辑图的编辑操作,编辑脚本逻辑图中的测试参数,然后可以采用自动化测试脚本开发平台提供的图形脚本转换工具,根据测试参数和脚本逻辑图生成目标视图的自动化测试脚本,其中,测试参数为目标元素截图中待编辑的参数。
[0095]
以图2为例,目标视图的脚本逻辑图中的测试参数包括“在此键入您的工号/姓名/账号”截图中的“工号/姓名/账号”,以及“请输入您的密码”截图中的“密码”。
[0096]
需要说明的是,自动化测试脚本开发平台中还设有测试参数输入区域,脚本开发人员可以在该区域编辑脚本逻辑图中的测试参数并保存,然后采用图形脚本转换工具,根
据测试参数和脚本逻辑图生成目标视图的自动化测试脚本。
[0097]
本实施例的自动化测试脚本的获取方法,包括:对目标视图中的多个视图元素进行截图,得到多个视图元素的多个元素截图,显示多个元素截图中的多个目标元素截图,根据对多个目标元素截图的执行顺序编辑操作,显示目标视图对应的脚本逻辑图,脚本逻辑图用于表征目标视图的业务逻辑,根据对脚本逻辑图的编辑操作,编辑脚本逻辑图中的测试参数,根据测试参数和脚本逻辑图生成目标视图的自动化测试脚本。在本实施例中,通过基于元素截图进行脚本逻辑设计,实现自动化测试脚本开发,无需任何高级语言开发技术、自动化技术门槛,降低了自动化测试脚本的开发和维护成本,同时规避了传统界面自动化过程中元素定位难题。
[0098]
在一可选的实施方式中,步骤s105可以包括:
[0099]
根据脚本逻辑图获取操作对象、执行动作以及执行顺序;
[0100]
根据操作对象、执行动作、执行顺序以及测试参数,生成自动化测试脚本。
[0101]
其中,操作对象可以为脚本逻辑图中多个目标元素截图,执行动作可以为多个目标元素截图中各目标元素的执行动作,执行顺序可以为多个目标元素截图中各目标元素的执行顺序,测试参数可以为操作对象对应的参数。
[0102]
根据脚本逻辑图可以得到操作对象、执行动作以及执行顺序,然后可以采用图形脚本转换工具,根据操作对象、执行动作、执行顺序以及测试参数生成自动化测试脚本。
[0103]
以表1、图2为例,脚本逻辑图用于表征目标视图的业务逻辑,那么图2中的操作对象可以为多个目标元素截图,分别为“username.jpg”、“password.jpg”、“loginbtn.jpg”,执行动作分别为输入账号、输入密码、登录,执行顺序为目标元素1到目标元素2到目标元素3。
[0104]
确定了整个脚本的操作对象、执行动作、执行顺序以及测试参数,则可以采用自动化测试平台提供的图形脚本转换工具,生成自动化测试脚本,其中,该图形脚本转换工具可以采用sikuli、selenium等进行脚本开发。
[0105]
以sikuli为例,上述3个目标元素截图对应的名称分别为“username.jpg”、“password.jpg”、“loginbtn.jpg”username.jpg,输入测试参数包括账号和密码,分别为test、123456,对应的自动化测试脚本可参照sikuli脚本规则自动化转化为:
[0106]
screen s=new screen();
[0107]
s.paste("username.jpg","test");
[0108]
s.paste("password.jpg","123456");
[0109]
s.click("loginbtn.jpg");
[0110]
示例性地,由于自动化测试是为了模拟用户的真实使用进行测试,若存在元素截图中的元素不可操作,那么还可以将该元素截图清洗掉。下面结合图3实施例进行说明。
[0111]
图3示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图二,如图3所示,步骤s102之前,该方法还可以包括:
[0112]
s201、获取每个元素截图中元素的元素属性。
[0113]
s202、根据元素属性,将多个元素截图中不可操作的元素截图清洗掉,得到多个目标元素截图。
[0114]
每个元素截图中的元素具有元素属性,元素属性指示每个元素截图中的元素是否
可操作,那么在本实施例中可以获取每个元素截图中元素的元素属性,并根据元素属性,将多个元素截图中不可操作的元素清洗掉,得到多个目标元素截图。
[0115]
需要说明的是,若元素属性指示元素截图中的元素不可操作,说明在实际应用中,用户也无法操作该元素,及该元素属于无法测试的元素,那么也没有必要对该元素截图进行后续操作以生成自动化测试脚本,因此可以将不可操作的元素截图清洗掉,得到多个目标元素截图。
[0116]
在一可选的实施方式中,对于一些元素显示不全的元素截图也无法执行自动化测试,因此,还可以将一些显示不全的元素截图清洗掉,步骤s202可以包括:
[0117]
s2021、根据元素属性,将多个元素截图中不可操作的元素截图清洗掉,得到元素截图集。
[0118]
s2022、从元素截图集中将元素显示不全的元素截图清洗掉,得到多个目标元素截图。
[0119]
具体地,根据元素属性将多个元素截图中不可操作的元素截图清洗掉,得到元素截图集,元素截图集中包括多个元素截图中除了不可操作的元素截图的其他元素截图,也即其他元素截图为可操作的元素截图。
[0120]
然后可以从第一元素集中将元素显示不全的元素截图清洗掉,得到多个目标元素截图,其中,元素显示不全包括元素完全被遮挡(即元素存在但不可用)和元素部分被遮挡(即元素部分显示)两种情况。
[0121]
以元素截图包括苹果截图和梨子截图为例,苹果截图中包括苹果、梨子截图包括梨子,苹果为苹果截图中的元素,梨子为梨子截图中的元素,第一种情况、苹果被梨完全遮挡,即苹果存在但不可用,那么可以将苹果截图剔除即清洗掉;第二种情况,苹果的1/3被梨遮挡,那么可以将苹果截图清洗掉。
[0122]
本实施例的关键在于,自动化测试是为了模拟用户的真实使用进行测试,若存在元素截图中的元素不可操作或者显示不全,那么用户无法对该元素执行操作,因此可以将不可操作和显示不全的元素截图清洗掉,得到多个目标元素截图。
[0123]
本实施例的自动化测试脚本的获取方法,包括:获取每个元素截图中元素的元素属性,根据元素属性,将多个元素截图中不可操作的元素截图清洗掉,得到多个目标元素截图。通过该方式,可以将自动化测试过程中不能使用的元素截图进行剔除,提高了后续生成的自动化测试脚本的有效性。
[0124]
在一可选的实施方式中,还可以对多个目标元素截图进行分类显示,以便脚本开发人员便于查找所需的元素截图进而构建脚本逻辑图,下面结合图4实施例进行说明。
[0125]
图4示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图三,如图4所示,步骤s102可以包括:
[0126]
s301、获取多个目标元素截图中元素的元素类型。
[0127]
s302、根据元素类型对多个目标元素截图进行分类显示。
[0128]
其中,元素类型包括按钮(button)类、输入(input)类、文本(text)类、超链接(hyperlinks)类中的至少一种。
[0129]
按钮类的元素包括单击、双击,输入类的元素包括键盘操作,例如可以包括回车、空格,文本类的元素包括文本,超链接类的元素包括超链接。
[0130]
具体地,在自动化脚本开发平台显示多个目标元素截图时,还可以获取多个目标元素截图中元素的元素类型,并根据元素类型对多个目标元素截图进行分类显示,示例性地,将属于同一元素类型的目标元素截图在一区域以列表的形式进行显示。
[0131]
在一可选的实施方式中,s402可以包括:
[0132]
将多个目标元素截图中相同元素类型的目标元素截图显示在相同展示页面。
[0133]
其中,自动化脚本开发平台还提供有多个展示页面,那么还可以将多个目标元素截图中、相同元素类型的目标元素截图显示在相同展示页面,以元素类型包括按钮(button)类、输入(input)类、文本(text)类、超链接(hyperlinks)类为例,将按钮类的目标元素截图显示在第一展示页面,将输入类的目标元素截图显示在第二展示页面,将文本类型的目标元素截图显示在第三展示页面,将超链接类的目标元素截图显示在第四展示页面。
[0134]
本实施例的自动化测试脚本的获取方法,获取多个目标元素截图中元素的元素类型,根据元素类型对多个目标元素截图进行分类显示。在本实施例,通过将多个目标元素截图进行分类展示,便于脚本开发人员后续构建脚本逻辑图,提高了脚本逻辑图的构建效率。
[0135]
示例性地,图5示出了本申请实施例提供的自动化测试脚本的获取方法的流程示意图四,如图5所示,将多个目标元素截图中相同元素类型的目标元素截图显示在相同展示页面,包括:
[0136]
s401、获取相同元素类型的目标元素截图中元素的操作类型。
[0137]
s402、将相同操作类型的目标元素截图在相同展示页面进行分类显示。
[0138]
其中,元素的操作类型包括:单击、双击、拖动、输入、回车、空格等。
[0139]
具体地,可以获取相同元素类型的目标元素截图中元素的操作类型,然后将相同操作类型的目标元素截图在相同展示页面进行分类显示,也就是说,将相同元素类型的目标元素截图显示在同一展示页面之后,还可以根据相同元素类型的目标元素截图中元素的操作类型,并根据操作类型,将相同操作类型的目标元素截图在相同展示页面进行分类显示,其中,在相同展示页面进行分类显示可以为:将该相同展示页面划分为多个区域,相同操作类型的目标元素截图展示在同一区域。
[0140]
作为一种示例,以元素类型为按钮类为例进行,元素的操作类型包括单击、双击,那么可以将单击类的目标元素截图在展示页面的第一区域进行展示,将双击类的目标元素截图在展示页面的第二区域进行展示。
[0141]
本实施例的自动化测试脚本的获取方法,获取相同元素类型的目标元素截图中元素的操作类型,将相同操作类型的目标元素截图在相同展示页面进行分类显示。在本实施例,通过将同一展示页面中不同操作类型的目标元素截图进行分类显示,便于脚本开发人员后续构建脚本逻辑图,提高了脚本逻辑图的构建效率。
[0142]
基于相同发明构思,本申请实施例中还提供了与自动化测试脚本的获取方法对应的自动化测试脚本的获取装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述自动化测试脚本的获取方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0143]
图6示出了本申请实施例提供的自动化测试脚本的获取装置的结构示意图,自动化测试脚本的获取装置可以集成在电子设备中。如图6所示,自动化测试脚本的获取装置50
可以包括:
[0144]
处理模块501,用于对目标视图中的多个视图元素进行截图,得到所述多个视图元素的多个元素截图;
[0145]
显示模块502,用于显示所述多个元素截图中的多个目标元素截图,根据对所述多个目标元素截图的执行顺序编辑操作,显示所述目标视图对应的脚本逻辑图,所述脚本逻辑图用于表征所述目标视图的业务逻辑;
[0146]
所述处理模块501,用于根据对所述脚本逻辑图的编辑操作,编辑所述脚本逻辑图中的测试参数;
[0147]
生成模块503,用于根据编辑后的脚本逻辑图生成所述目标视图的自动化测试脚本。
[0148]
在一可选的实施方式中,所述装置还包括:
[0149]
获取模块504,用于获取每个元素截图中元素的元素属性,所述元素属性指示所述每个元素截图中的元素是否可操作;
[0150]
所述处理模块501,还用于根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到所述多个目标元素截图。
[0151]
在一可选的实施方式中,所述获取模块504,具体用于:
[0152]
根据所述元素属性,将所述多个元素截图中不可操作的元素截图清洗掉,得到元素截图集;
[0153]
从所述元素截图集中将元素显示不全的元素截图清洗掉,得到所述多个目标元素截图。
[0154]
在一可选的实施方式中,所述显示模块502,具体用于:
[0155]
获取所述多个目标元素截图中元素的元素类型;
[0156]
根据所述元素类型对所述多个目标元素截图进行分类显示。
[0157]
在一可选的实施方式中,所述显示模块502,具体用于:
[0158]
将所述多个目标元素截图中相同元素类型的目标元素截图显示在相同展示页面。
[0159]
在一可选的实施方式中,所述显示模块502,具体用于:
[0160]
获取所述相同元素类型的目标元素截图中元素的操作类型;
[0161]
将相同操作类型的目标元素截图在所述相同展示页面进行分类显示。
[0162]
在一可选的实施方式中,所述生成模块503,具体用于:
[0163]
获取所述编辑后的脚本逻辑图对应的操作对象、执行动作以及执行顺序;
[0164]
根据所述操作对象、执行动作以及执行顺序,生成所述自动化测试脚本。
[0165]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0166]
图7示出了本申请实施例提供的电子设备的结构示意图,如图7所示,电子设备60包括:处理器601、存储器602、和总线603,所述存储器602存储有所述处理器601可执行的计算机程序,当电子设备60运行时,所述处理器601与所述存储器602之间通过总线603通信,所述计算机程序被所述处理器601执行上述方法实施例。
[0167]
本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例。
[0168]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0169]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0170]
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1