一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试脚本生成方法、自动化测试方法及相关设备与流程

2022-08-14 00:31:59 来源:中国专利 TAG:


1.本技术涉及软件测试领域,尤其涉及一种测试脚本生成方法、自动化测试方法及相关设备。


背景技术:

2.在软件开发过程中或者开发完成后,通常需要对软件进行相关测试,及时发现问题,从而保证软件在发布后能够正常运行。而测试是基于测试脚本进行的,因此,需要生成测试脚本。
3.现有技术中,技术人员基于测试需求,对测试脚本涉及到的各个测试方法进行代码编写,从而实现生成测试脚本。由于测试脚本涉及到的各个测试方法需技术人员进行代码编写,因此,测试脚本生成效率较低。


技术实现要素:

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.图1为本技术提供的一种自动化测试平台的结构示意图;
43.图2为本技术提供的一种测试脚本生成方法的方法流程图;
44.图3为本技术提供的一种测试脚本生成方法的又一方法流程图;
45.图4为本技术提供的一种测试脚本生成方法的又一方法流程图;
46.图5为本技术提供的一种测试脚本生成方法的又一方法流程图;
47.图6为本技术提供的一种自动化测试方法的方法流程图;
48.图7为本技术提供的一种自动化测试方法的又一方法流程图;
49.图8为本技术提供的一种测试脚本生成装置的结构示意图;
50.图9为本技术提供的一种自动化测试装置的结构示意图;
51.图10为本技术提供的一种电子设备的结构示意图。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
54.需要注意,本技术公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
55.需要注意,本技术公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
56.本技术可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务
器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
57.本技术提供的一种测试脚本生成方法及装置、存储介质及电子设备,可用于大数据领域或金融领域。上述仅为示例,并不对本技术提供的一种测试脚本生成方法及装置、存储介质及电子设备的应用领域进行限定。
58.参阅图1,本技术实施例提供了一种自动化测试平台(automation testing framework),具体包括:
59.数据层(data layer)、测试层(test layer)、业务层(business layer)、服务层(service layer)和基础组件层(base layer)。
60.其中,数据层,用于存储测试数据文件(tastdata.yml)和参数文件;其中,测试数据文件的文件格式可以是yaml格式,参数文件包括但不限于数据库参数文件(dbconf)和ftp服务器参数文件(ftpcont)。
61.测试层,用于通过测试套件(testsuit)执行自动化测试。
62.业务层,用于存储测试脚本,测试脚本通过组合服务器组件和基础组件得到。
63.服务层,用于提供服务层组件(jobexecutemanua),服务层组件基于服务层方法进行封装得到,通过服务层组件,可以调起任务,从而实现调起测试脚本。
64.基础组件层,用于提供多个基础组件,包括但不限于单元组件(util)和模块组件(module),其中,util包括但不限于ftputil、dbutil、fileutil、propertiesutil、yamldataproviderhelper;module包括但不限于ftpinfo、dbinfo、testdata、yamldatasource。
65.需要说明的是,基础组件层和数据层是支撑自动化层是基础,在测试过程中,通过调用数据层中存储的测试数据文件和参数文件,以及调用业务层中的测试脚本实现自动化层测试,而测试脚本是通过对服务层中的服务层组件和基础组件层中的基础组件进行组合得到。
66.参阅图2,本技术实施例提供了一种测试脚本生成方法,应用于自动化测试平台,具体包括以下步骤:
67.s201、获取用户基于测试需求在自动化测试平台按顺序选择的多个测试组件。
68.本实施例中,获取用户基于测试需求在自动化测试平台上按顺序选择的多个测试组件,其中,测试组件基于对测试方法进行封装得到,测试组件包括上述提及的服务层组件和基础组件。
69.需要说明是,可以对本技术实施例提供的自动化测试平台包括的测试组件进行扩展,实现增加测试组件。
70.s202、获取用户在自动化测试平台输入的测试数据文件调用方法和参数文件调用方法。
71.本实施例中,获取用户在自动化测试平台输入的测试数据文件调用方法和参数文件调用方法;其中,测试数据文件调用方法用于调用预先存储的测试数据文件,测试数据文件基于预设的测试数据模板生成,参数文件调用方法用于调用预先存储的参数文件。
72.本实施例中,测试数据文件和参数文件预先存储至数据层。
73.本实施例中,测试数据文件调用方法中包括测试数据文件的存储路径,参数文件
调用方法中包括参数文件的存储路径。
74.本实施例中,参阅图3,测试数据文件的存储过程,包括以下步骤:
75.s301、响应于用户的测试数据文件编写请求,获取预设的测试数据文件模板。
76.本实施例中,预设测试数据文件模板,测试数据文件模板的文件格式是固定的,也就是说基于该测试数据文件模板生成的测试数据文件的文件格式是相同的,可选的测试数据文件模板的文件格式可以是yaml格式。
77.本实施例中,接收用户的测试数据文件编写请求,对测试数据文件编写请求进行响应,获取预设的测试数据模板。
78.其中,测试数据文件编写请求可以是通过自动化测试平台中的相关功能键生成。需要说明的是,用户的测试数据文件编写请求的生成方式有很多,包括但不限于本技术实施例提出的内容,用户的测试数据文件编写请求的生成方式的不同不影响本技术实施例的实现。
79.s302、基于测试数据文件模板,生成编写界面。
80.本实施例中,基于测试数据文件模板,生成编写界面,也就是说,编写界面中包括测试数据文件模板。
81.s303、获取用户通过编写界面,在测试数据文件模板中输入的测试数据。
82.本实施例中,获取用户通过编写界面,在测试数据文件模板中输入的测试数据,其中,测试数据是用户执行测试脚本的数据。
83.s304、将测试数据写入测试数据文件模板,生成测试数据文件。
84.本实施例中,将用户输入的测试数据如下测试数据模板中,从而生成测试数据文件。
85.s305、存储测试数据文件。
86.本实施例中,在生成测试数据文件后,对存储数据文件进行存储至数据层。
87.本技术实施例提供的方法中,基于测试数据文件模板生成测试数据文件,确保文件格式统一,从而通过统一的文件读取方法,可以实现读取测试数据文件,从而在后续应用测试数据文件可以直接读取测试数据文件中的数据,从而测试人员可以不用关心测试数据文件的存储位置和格式,提高用户体验。
88.本技术实施例提供的方法中,通过重构dataprovider,解决了测试数据文件存放格式及读取问题,使用者不需要关心测试数据如何被读取,只需要将测试数据存放的文件目录配置在脚本前即可,大大方便了用户使用,节省了编写测试脚本成本,并做到测试数据重复利用,且利于后期维护。
89.本实施例中,参阅图4,参数文件的存储过程,包括以下步骤:
90.s401、获取用户输入的后台登录参数。
91.本实施例中,获取用户输入的后台登录参数,其中,后台登录参数包括但不限于数据库登录参数、ftp服务器登录参数。
92.s402、基于后台登录参数,生成参数文件,并存储参数文件。
93.本实施例中,基于后台登录参数,生成参数文件,具体的,将后台登录参数写入预设的文件中,得到参数文件。
94.本实施例中,在生成参数文件后,存储参数文件,可选的,可以将参数文件存储至
自动化测试平台的数据层。
95.本技术实施例提供的方法中,通过存储参数文件,从而在测试过程需要获取后台登录参数时,可以通过调用测试文件进行获取,实现自动调用获取,提高获取后台登录参数的效率。
96.s203、基于测试文件调用方法、参数文件调用方法和按顺序选择的多个测试组件,生成测试脚本。
97.本实施例中,基于测试文件调用方法、参数文件调用方法和按顺序选择的多个测试组件,生成测试脚本,也就是说,测试脚本中包括测试数据文件调用方法、参数文件调用方法和具有预设执行顺序的多个测试组件,其中预设执行顺序为用户在自动化测试平台上选择测试组件的顺序。
98.需要说明的是,测试脚本还包括每个测试组件对应的预期结果,该预期结果用于指示执行测试组件得到的测试结果中包括的属性。
99.本技术实施例提供的测试脚本生成方法,获取用户基于测试需求在所述自动化测试平台上按顺序选择的多个测试组件;其中,测试组件基于对测试方法进行封装得到;获取用户在所述自动化测试平台输入的测试数据文件调用方法和参数文件调用方法;基于测试文件调用方法、参数文件调用方法和按顺序选择的多个测试组件,生成测试脚本。可见,本技术方案,通过预先对测试方法封装成测试组件,基于用户选择的测试组件生成测试脚本,从而用户无需编写测试方法对应的代码,进而提高测试脚本生成效率,并且实现了测试数据和测试脚本的隔离。
100.参阅图5,上述本技术实施例提供的测试脚本生成方法,在步骤s203之后,还可以包括以下步骤:
101.s501、存储测试脚本;
102.本实施例中,在生成参数脚本后,存储该测试脚本,可选的,将该测试脚本存储至自动化测试平台中的业务层。
103.s502、基于测试脚本的存储路径,生成配置文件。
104.本实施例中,获取测试脚本的存储路径,基于测试脚本的存储路径,生成配置文件,也就是将测试脚本的存储路径,配置到配置文件中,从而在执行配置文件时,可以基于测试脚本的存储路径,定位测试脚本,从而获取测试脚本,并执行测试脚本。
105.本技术实施例提供的测试脚本生成方法,通过存储测试脚本,并基于测试脚本的存储路径,生成配置文件,从而在执行配置文件时,可以基于测试脚本的存储路径,定位测试脚本,从而获取测试脚本,并执行测试脚本。
106.参阅图6,本技术实施例提供还提供了一种自动化测试方法,应用于系统化测试平台,具体包括以下步骤:
107.s601、获取预先生成的配置文件。
108.本实施例中,获取预先成的配置文件,其中,配置文件的生成过程采用如上文任一实施例公开的测试脚本生成方法。
109.其中,配置文件包括测试脚本的存储路径,也就是预先将测试脚本的存储路径配置至配置文件中,测试脚本包括测试数据文件调用方法、参数文件调用方法和具有预设执行顺序的多个测试组件,测试组件基于对测试方法进行封装得到。
110.其中,测试脚本存储于自动化测试平台中的业务层,测试数据文件和参数文件存储于自动化测试平台中的数据层。
111.s602、基于配置文件中包括的测试脚本的存储路径,执行测试脚本。
112.本实施例中,基于测试脚本的存储路径,执行测试脚本,具体的,执行配置文件,基于配置文件中存储的测试脚本的存储路径,执行测试脚本,以实现通过测数据文件调用方法调用预先存储的测试数据文件和通过参数文件调用方法调用预先存储的参数文件,并基于各个测试脚本的存储路径、测试数据文件和参数文件,按预设执行顺序,依次执行各个测试组件。
113.需要说明的是,测试脚本中还包括待测试对象的调用方法,在执行测试脚本的过程中,通过待测试对象的调用方法,调用待测试对象,对待测试对象进行测试。
114.本技术实施例提供的自动化测试方法,由于预先将测试脚本的存储路径配置至配置文件中,从而基于配置文件中包括的测试脚本的存储路径,能够获取到测试脚本,从而执行测试脚本,实现自动化测试。
115.参阅图7,上述本技术实施例提供的测试脚本生成方法,在步骤s602之后,还可以包括以下步骤:
116.s701、获取执行测试脚本过程中,完成执行每一个测试组件的测试结果。
117.本实施例中,获取执行测试脚本过程中,完成执行每一个测试组件的测试结果,具体的,基于每个测试组件的预期结果,获取执行测试脚本过程中,完成执行每一个测试组件的测试结果,也就是将每一个测试组件的测试结果打印出来。
118.本实施例中,在获取测试结果后,将测试结果发送至reportng工具。
119.s702、在完成获取所有测试组件的测试结果后,基于各个测试组件的测试结果,生成测试报告。
120.本实施例中,在完成获取所有测试组件的测试结果后,基于各个测试组件的测试结果,生成测试报告,并利用reportng工具,在前端页面中展示测试报告。
121.本技术实施例提供的自动化测试方法中,完成测试后,自动生成测试报告,并友好展示测试报告。
122.本技术实施例提供的方法中,脚本代码层基于java开发,外部依赖通过maven引入,运行结果展示使用开源reportng,测试驱动使用开源testng,服务层及基础层为自主封装组件,定制数据源格式(yaml)和配置文件(conf)及其读取机制,通过自定义注解实现通用数据读取。
123.需要说明的是,虽然采用特定次序描绘了各测试,但是这不应当理解为要求这些测试以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
124.应当理解,本技术公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术公开的范围在此方面不受限制。
125.与图2所述的方法相对应,本技术实施例还提供了一种测试脚本生成装置,用于对图2中方法的具体实现,其结构示意图如图8所示,具体包括:
126.第一获取单元801,用于获取用户基于测试需求在所述自动化测试平台上按顺序
选择的多个测试组件;其中,所述测试组件基于对测试方法进行封装得到;
127.第二获取单元802,用于获取所述用户在所述自动化测试平台输入的测试数据文件调用方法和参数文件调用方法;所述测试数据文件调用方法用于调用预先存储的测试数据文件,所述参数文件调用方法用于调用预先存储的参数文件,所述测试数据文件基于预设的测试数据文件模板生成;
128.第一生成单元803,用于基于所述测试文件调用方法、所述参数文件调用方法和按顺序选择的多个测试组件,生成测试脚本。
129.本技术实施例提供的测试脚本生成装置,获取用户基于测试需求在所述自动化测试平台上按顺序选择的多个测试组件;其中,测试组件基于对测试方法进行封装得到;获取用户在所述自动化测试平台输入的测试数据文件调用方法和参数文件调用方法;基于测试文件调用方法、参数文件调用方法和按顺序选择的多个测试组件,生成测试脚本。可见,本技术方案,通过预先对测试方法封装成测试组件,基于用户选择的测试组件生成测试脚本,从而用户无需编写测试方法对应的代码,进而提高测试脚本生成效率,并且实现了测试数据和测试脚本的隔离。
130.在本技术的一个实施例中,基于前述方案,第二获取单元802在测试数据文件的存储过程时,具体用于:
131.响应于用户的测试数据文件编写请求,获取预设的测试数据文件模板;
132.基于所述测试数据文件模板,生成编写界面;
133.获取所述用户通过所述编写界面,在所述测试数据文件模板中输入的测试数据;
134.将所述测试数据写入所述测试数据文件模板中,生成测试数据文件;
135.存储所述测试数据文件。
136.在本技术的一个实施例中,基于前述方案,第二获取单元802在所述参数文件的存储过程时,具体用于:
137.获取用户输入的后台登录参数;
138.基于后台登录参数,生成参数文件,并存储所述参数文件。
139.在本技术的一个实施例中,基于前述方案,还可配置为:
140.存储单元,用于存储所述测试脚本;
141.第二生成单元,用于基于所述测试脚本的存储路径,生成配置文件。
142.与图6所述的方法相对应,本技术实施例还提供了一种自动化测试装置,用于对图6中方法的具体实现,其结构示意图如图9所示,具体包括:
143.第三获取单元901,用于获取预先生成的配置文件;其中,所述配置文件包括测试脚本的存储路径,所述测试脚本包括测试数据文件调用方法、参数文件调用方法和具有预设执行顺序的多个测试组件,所述测试组件基于对测试方法进行封装得到;
144.执行单元902,用于基于所述配置文件中包括的测试脚本的存储路径,执行所述测试脚本,以实现通过所述测数据文件调用方法调用预先存储的测试数据文件和通过所述参数文件调用方法调用预先存储的参数文件,并基于各个测试脚本的存储路径、所述测试数据文件和所述参数文件,按所述预设执行顺序,依次执行各个测试组件。
145.本技术实施例提供的测自动化测试装置,由于预先将测试脚本的存储路径配置至配置文件中,从而基于配置文件中包括的测试脚本的存储路径,能够获取到测试脚本,从而
执行测试脚本,实现自动化测试。
146.在本技术的一个实施例中,基于前述方案,还可配置为:
147.第四获取单元,用于获取执行所述测试脚本过程中,完成执行每一个测试组件的测试结果;
148.生成单元,用于在完成获取所有测试组件的测试结果后,基于各个测试组件的测试结果,生成测试报告。
149.本技术实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行如上文任一实施例公开的测试脚本生成方法和自动化测试方法。
150.本技术实施例还提供了一种电子设备,其结构示意图如图10所示,具体包括存储器1001,用于存储至少一组指令集;处理器1002,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上文任一实施例公开的测试脚本生成方法和自动化测试方法。
151.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
152.虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
153.以上描述仅为本技术公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献