接口自动化测试方法及装置与流程

专利2023-02-28  129



1.本

技术实现要素:
涉及计算机软件测试技术领域,尤其涉及一种接口自动化测试方法及装置。


背景技术:

2.在整个软件生命周期中,一款软件在上线前夕,需要进行大量的测试,以便提升软件的质量。
3.开展接口测试时常用的postman和jmeter都属于接口测试客户端工具,是基于各种模型和框架的,通过自动生成测试用例,并自动执行测试程序得到测试结果,一般是通过手动编写接口测试脚本的方式对接口进行测试,然而,接口的数量一般都很多,为了满足对接口测试的全覆盖,测试工程师需要编写的接口测试代码数目往往异常庞大。
4.同时测试用例脚本保存在本地,无法很好的实现测试用例共享,测试结果共享,无法实现团队协作;用例组合测试场景时,已有用例无法实现复用,加大脚本开发工作量,这就使得整个过程投入的人工成本较高,测试效率低。
5.因此,需要提出一种接口自动化测试方法及装置,来解决现有技术中存在的上述问题。
发明内容
6.本发明内容所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种接口自动化测试方法及装置,解决了接口自动化测试过程中,团队协作困难、大量重复工作、测试报告不能及时共享,导致人工成本高、测试效率低的问题。
7.本发明内容的目的及解决的技术问题是采用以下技术方案来实现的:
8.一种接口自动化测试方法,包括以下步骤:
9.s1:创建测试项目、接口,关联所述测试项目及接口;
10.s2:创建一个或多个接口用例,关联所述接口用例接口;
11.所述接口用例包括但不限于用例id、用例名称、接口报文参数以及期望结果信息,系统将所述接口用例信息存储到数据库中,形成测试用例库;
12.s3:创建一个或多个环境变量,包括环境变量名和环境变量值,以键值对的形式存储到数据库中,在测试用例中添加参数提取器,提取接口返回值以环境变量形式存储到数据库中,用于其它用例通过环境变量形式添加到用例接口报文参数中;
13.s4:创建一个或多个测试场景,系统将测试场景id、名称信息存储到数据库中,关联测试场景与接口用例;
14.s5:对接口用例进行执行操作,通过预设用例测试报告模板生成测试报告。
15.优选的,所述步骤s1中,所述创建测试项目包括:将包括但不限于项目名称、项目id、接口host的信息存储到数据库中,通过修改所述项目host信息来切换测试环境。
16.优选的,所述步骤s1中,所述创建的接口包括但不限于接口的公共信息,创建接口
后将关联的项目id、接口的公共信息存储到数据库中。
17.优选的,所述步骤s3中,系统在执行测试用例时会遍历其报文参数中是否包含环境变量名,如果有,则从数据库中通过环境变量名称查询其对应的环境变量值,将环境变量名替换成环境变量值,实现用例之间业务逻辑关联。
18.优选的,所述步骤s4中,用例库中的接口用例可以被多个场景关联,实现测试用例的复用。
19.优选的,所述关联测试场景与接口用例包括:
20.在所述测试场景中通过系统预设方法查询到用例库中的目标用例,并为测试用例添加执行顺序编号,将场景id、用例id、执行顺序编号信息存储到数据库中,实现测试场景与接口用例之间的关联,测试场景通过关联多个接口测试用例并通过用例顺序编号排序,实现场景业务编排,形成场景业务流。
21.优选的,所述对接口用例进行执行操作包括:
22.系统通过接口用例id查询到用例名称、接口报文参数、期望结果信息,再查询到所述接口用例对应接口的id、url、headers信息,通过接口id查询到接口对应的项目host信息;
23.组合所述接口用例查询到的信息形成完整接口请求信息,并向对应服务器发送接口请求;
24.系统获取到接口返回信息,并与所述接口用例中的期望结果做对比,若对比一致,则判定用例执行成功,若对比不一致,则判定执行失败;
25.系统将所述接口用例完整接口请求信息、执行结果信息存储到数据库中,在数据库中获取数据,通过系统预设用例测试报告模板生成测试报告。
26.优选的,所述步骤s5中,还可以对接口进行执行操作,通过接口id,查询出关联所述接口的所有接口用例并按测试用例id排序,然后系统根据用例排列顺序通过预设方法获组装用例报文、依次执行所有用例,系统将所述用例执行信息存储到数据库中,并根据用例执行结果计算通过率,生成测试报告;
27.所述步骤s5中,还可以对创建的项目进行执行操作,通过项目id,查询出关联此项目的所有接口,通过接口id查询出有接口测试用例,将项目下所有用例按用例id排序,然后系统会按用例排列顺序通过步骤6中的方法获组装用例报文、依次执行所有用例;系统将所有用例执行信息存储到数据库中,并根据用例执行结果计算通过率,生成测试报告;
28.所述步骤s5中,还可以对创建的场景进行执行操作,通过场景id,查询出与所述场景关联的所有接口测试用例信息及用例执行编号,将所有用例按用例执行编号排序,根据用例编号顺序组装用例报文、依次执行所有用例;系统将所有用例执行信息存储到数据库中,实现接口业务场景测试,并根据用例执行结果计算通过率,生成测试报告。
29.根据本发明实施例的另一方面,提供了一种接口自动化测试装置,包括项目管理模块、接口管理模块、接口用例管理模块、场景管理模块、环境变量管理模块、测试报告管理模块,实现对接口用例模块化管理。
30.优选的,所述接口自动化测试装置中项目管理模块用于管理创建的测试项目,存储接口请求的host信息,将创建的测试项目存储于项目库;
31.所述接口管理用于存储管理创建的接口信息,将创建的接口存储于接口库;
32.所述接口用例管理用于存储用例报文参数、期望结果信息,将接口用例存储于用例库;
33.所述场景管理模块用于用例编排业务,将创建的场景存储于场景池;
34.所述环境变量管理模块用于存储用例之间报文参数传递数据;
35.所述测试报告管理模块用于存储、展示不同级别用例执行记录,并对用例执行成功率进行统计展示。
36.本发明通过对接口用例公共部分提取,自动触发脚本执行,无需人工手动写入,更灵活的满足测试人员的需求,提升了自动化测试用例编写效率;
37.通过灵活编排测试场景,快速评估代码质量,实现更多测试场景覆盖,通过不同级别执行测试用例,丰富测试报告维度;
38.用户可以在自动化测试平台测试报告管理中根据分类实时查看用例级、接口级、项目级、测试场景级测试报告,实现测试报告共享,校验力度强且灵活方便。
39.说明书附图
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
附图说明
图1为一种实施方式的接口自动化测试方法实施流程图。
具体实施方式
42.下面结合附图对本发明内容的技术方案做进一步的详细说明。显然,所描述的实施例仅仅是本发明内容一部分实施例,而不是全部的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明内容保护的范围。
43.应当理解,尽管这里可以使用术语第一、第二、第三等描述各个元件、组件和/或部分,但这些元件、组件和/或部分不受这些术语限制。
44.如图一所示,在一个实施例中,一种接口自动化测试方法,包括以下步骤:
45.s1:在自动化测试平台创建测试项目、接口,关联所述测试项目及接口;
46.s2:在自动化测试平台创建一个或多个接口用例,关联所述接口用例接口;
47.所述接口用例包括但不限于用例id、用例名称、接口报文参数以及期望结果信息,系统将所述接口用例信息存储到数据库中,形成测试用例库;
48.s3:创建一个或多个环境变量,包括环境变量名和环境变量值,以键值对的形式存储到数据库中,在测试用例中添加参数提取器,提取接口返回值以环境变量形式存储到数据库中,用于其它用例通过环境变量形式添加到用例接口报文参数中;
49.s4:创建一个或多个测试场景,系统将测试场景id、名称信息存储到数据库中,关联测试场景与接口用例;
50.s5:对接口用例进行执行操作,通过预设用例测试报告模板生成测试报告。
51.优选的,所述步骤s1中,所述创建测试项目包括:将包括但不限于项目名称、项目
id、接口host的信息存储到数据库中,后期可通过修改项目host信息可以实现用例切换测试环境。
52.生成测试报告后,用户可以在自动化测试平台测试报告管理中根据分类实时查看用例级、接口级、项目级、测试场景级测试报告,实现测试报告共享。
53.在一个实施例中,所述步骤s1中,所述创建的接口包括但不限于接口的公共信息,创建接口后将关联的项目id、接口的公共信息存储到数据库中,减少后期创建接口测试用例重复录入工作。
54.在一个实施例中,所述步骤s3中,系统在执行测试用例时会遍历其报文参数中是否包含环境变量名,如果有,则从数据库中通过环境变量名称查询其对应的环境变量值,将环境变量名替换成环境变量值,实现用例之间业务逻辑关联。
55.系统在执行测试用例时遍历其报文参数中是否包含环境变量名,如果有,则从数据库中通过环境变量名称查询其对应的环境变量值,将环境变量名替换成环境变量值,实现用例之间业务逻辑关联。
56.在一个实施例中,所述步骤s4中,用例库中的接口用例可以被多个场景关联,实现测试用例的复用。
57.通过提供查询方法,用户可以查询到用例库中所有已创建的接口测试用例,实现接口测试用例平台共享,解决团队协作问题。
58.在一个实施例中,所述关联测试场景与接口用例包括:
59.在所述测试场景中通过系统预设方法查询到用例库中的目标用例,并为测试用例添加执行顺序编号,将场景id、用例id、执行顺序编号信息存储到数据库中,实现测试场景与接口用例之间的关联,测试场景通过关联多个接口测试用例并通过用例顺序编号排序,实现场景业务编排,形成场景业务流。
60.在一个实施例中,所述对接口用例进行执行操作包括:
61.系统通过接口用例id查询到用例名称、接口报文参数、期望结果信息,再查询到所述接口用例对应接口的id、url、headers信息,通过接口id查询到接口对应的项目host信息;
62.组合所述接口用例查询到的信息形成完整接口请求信息,并向对应服务器发送接口请求;
63.系统获取到接口返回信息,并与所述接口用例中的期望结果做对比,若对比一致,则判定用例执行成功,若对比不一致,则判定执行失败;
64.系统将所述接口用例完整接口请求信息、执行结果信息存储到数据库中,在数据库中获取数据,通过系统预设用例测试报告模板生成测试报告。
65.在一个实施例中,还可以对接口进行执行操作,通过接口id,查询出关联所述接口的所有接口用例并按测试用例id排序,然后系统根据用例排列顺序通过预设方法获组装用例报文、依次执行所有用例,系统将所述用例执行信息存储到数据库中,并根据用例执行结果计算通过率,生成测试报告;
66.还可以对创建的项目进行执行操作,通过项目id,查询出关联此项目的所有接口,通过接口id查询出有接口测试用例,将项目下所有用例按用例id排序,然后系统会按用例排列顺序通过步骤6中的方法获组装用例报文、依次执行所有用例;系统将所有用例执行信
息存储到数据库中,并根据用例执行结果计算通过率,生成测试报告;
67.还可以对创建的场景进行执行操作,通过场景id,查询出与所述场景关联的所有接口测试用例信息及用例执行编号,将所有用例按用例执行编号排序,根据用例编号顺序组装用例报文、依次执行所有用例;系统将所有用例执行信息存储到数据库中,实现接口业务场景测试,并根据用例执行结果计算通过率,生成测试报告。
68.通过预设用例测试报告模板生成html格式测试报告,供用户在平台中查看。
69.根据本发明实施例的另一方面,提供了一种接口自动化测试装置,包括项目管理模块、接口管理模块、接口用例管理模块、场景管理模块、环境变量管理模块、测试报告管理模块,实现对接口用例模块化管理;
70.其中所述项目管理模块用于管理创建的测试项目,存储接口请求的host信息,将创建的测试项目存储于项目库;
71.所述接口管理用于存储管理创建的接口信息,将创建的接口存储于接口库;
72.所述接口用例管理用于存储用例报文参数、期望结果信息,将接口用例存储于用例库;
73.所述场景管理模块用于用例编排业务,将创建的场景存储于场景池;
74.所述环境变量管理模块用于存储用例之间报文参数传递数据;
75.所述测试报告管理模块用于存储、展示不同级别用例执行记录,并对用例执行成功率进行统计展示。
76.本发明通过对接口用例公共部分提取,自动触发脚本执行,无需人工手动写入,更灵活的满足测试人员的需求,提升了自动化测试用例编写效率;
77.通过灵活编排测试场景,快速评估代码质量,实现更多测试场景覆盖,通过不同级别执行测试用例,丰富测试报告维度;
78.用户可以在自动化测试平台测试报告管理中根据分类实时查看用例级、接口级、项目级、测试场景级测试报告,实现测试报告共享,校验力度强且灵活方便。
79.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
80.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种接口自动化测试方法,其特征在于,包括以下步骤:s1:创建测试项目、接口,关联所述测试项目及接口;s2:创建一个或多个接口用例,关联所述接口用例接口;所述接口用例包括但不限于用例id、用例名称、接口报文参数以及期望结果信息,系统将所述接口用例信息存储到数据库中,形成测试用例库;s3:创建一个或多个环境变量,包括环境变量名和环境变量值,以键值对的形式存储到数据库中,在测试用例中添加参数提取器,提取接口返回值以环境变量形式存储到数据库中,用于其它用例通过环境变量形式添加到用例接口报文参数中;s4:创建一个或多个测试场景,系统将测试场景id、名称信息存储到数据库中,关联测试场景与接口用例;s5:对接口用例进行执行操作,通过预设用例测试报告模板生成测试报告。2.根据权利要求1所述的接口自动化测试方法,其特征在于,所述步骤s1中,所述创建测试项目包括:将包括但不限于项目名称、项目id、接口host的信息存储到数据库中,通过修改所述项目host信息来切换测试环境。3.根据权利要求1或2所述的接口自动化测试方法,其特征在于,所述步骤s1中,所述创建的接口包括但不限于接口的公共信息,创建接口后将关联的项目id、接口的公共信息存储到数据库中。4.根据权利要求1所述的接口自动化测试方法,其特征在于,所述步骤s3中,系统在执行测试用例时会遍历其报文参数中是否包含环境变量名,如果有,则从数据库中通过环境变量名称查询其对应的环境变量值,将环境变量名替换成环境变量值,实现用例之间业务逻辑关联。5.根据权利要求1所述的接口自动化测试方法,其特征在于,所述步骤s4中,用例库中的接口用例可以被多个场景关联,实现测试用例的复用。6.根据权利要求1所述的接口自动化测试方法,其特征在于,所述关联测试场景与接口用例包括:在所述测试场景中通过系统预设方法查询到用例库中的目标用例,并为测试用例添加执行顺序编号,将场景id、用例id、执行顺序编号信息存储到数据库中,实现测试场景与接口用例之间的关联,测试场景通过关联多个接口测试用例并通过用例顺序编号排序,实现场景业务编排,形成场景业务流。7.根据权利要求1所述的接口自动化测试方法,其特征在于,所述对接口用例进行执行操作包括:系统通过接口用例id查询到用例名称、接口报文参数、期望结果信息,再查询到所述接口用例对应接口的id、url、headers信息,通过接口id查询到接口对应的项目host信息;组合所述接口用例查询到的信息形成完整接口请求信息,并向对应服务器发送接口请求;系统获取到接口返回信息,并与所述接口用例中的期望结果做对比,若对比一致,则判定用例执行成功,若对比不一致,则判定执行失败;系统将所述接口用例完整接口请求信息、执行结果信息存储到数据库中,在数据库中获取数据,通过系统预设用例测试报告模板生成测试报告。
8.根据权利要求7所述的接口自动化测试方法,其特征在于,所述步骤s5中,还可以对接口进行执行操作,通过接口id,查询出关联所述接口的所有接口用例并按测试用例id排序,然后系统根据用例排列顺序通过预设方法获组装用例报文、依次执行所有用例,系统将所述用例执行信息存储到数据库中,并根据用例执行结果计算通过率,生成测试报告;所述步骤s5中,还可以对创建的项目进行执行操作,通过项目id,查询出关联此项目的所有接口,通过接口id查询出有接口测试用例,将项目下所有用例按用例id排序,然后系统会按用例排列顺序通过步骤6中的方法获组装用例报文、依次执行所有用例;系统将所有用例执行信息存储到数据库中,并根据用例执行结果计算通过率,生成测试报告;所述步骤s5中,还可以对创建的场景进行执行操作,通过场景id,查询出与所述场景关联的所有接口测试用例信息及用例执行编号,将所有用例按用例执行编号排序,根据用例编号顺序组装用例报文、依次执行所有用例;系统将所有用例执行信息存储到数据库中,实现接口业务场景测试,并根据用例执行结果计算通过率,生成测试报告。9.一种接口自动化测试装置,其特征在于,包括项目管理模块、接口管理模块、接口用例管理模块、场景管理模块、环境变量管理模块、测试报告管理模块,实现对接口用例模块化管理。10.根据权利要求9所述的接口自动化测试装置,其特征在于,所述项目管理模块用于管理创建的测试项目,存储接口请求的host信息,将创建的测试项目存储于项目库;所述接口管理用于存储管理创建的接口信息,将创建的接口存储于接口库;所述接口用例管理用于存储用例报文参数、期望结果信息,将接口用例存储于用例库;所述场景管理模块用于用例编排业务,将创建的场景存储于场景池;所述环境变量管理模块用于存储用例之间报文参数传递数据;所述测试报告管理模块用于存储、展示不同级别用例执行记录,并对用例执行成功率进行统计展示。

技术总结
一种接口自动化测试方法,包括以下步骤:创建测试项目、接口,关联所述测试项目及接口;创建接口用例,关联接口用例接口;创建环境变量,以键值对的形式存储到数据库中,在测试用例中添加参数提取器,提取接口返回值以环境变量形式存储到数据库中;创建测试场景,关联测试场景与接口用例;对接口用例进行执行操作,生成测试报告。一种接口自动化测试装置包括项目管理模块、接口管理模块、接口用例管理模块、场景管理模块、环境变量管理模块、测试报告管理模块。本发明通过对接口用例公共部分提取,自动触发脚本执行,快速评估代码质量,实现更多测试场景覆盖,实现测试报告共享。共享。共享。


技术研发人员:董罡 王伟平 王玉娟 徐成坡
受保护的技术使用者:中企链信(北京)科技有限公司
技术研发日:2022.07.15
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1479.html

最新回复(0)