一种基于allure的web接口自动化测试方法及系统技术方案

技术编号:35184206 阅读:36 留言:0更新日期:2022-10-12 17:54
本发明专利技术涉及一种基于allure的web接口自动化测试方法及系统,其方法包括:获取待测试web接口及其内部资源,所述内部资源包括环境配置、图片、操作文档和服务请求信息;将与待测试web接口业务无关的外部工具封装在工具模块中;基于所述待测试web接口及其操作的资源,以及所述工具模块,构建并封装待测试web接口的测试框架;利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告。本发明专利技术通过搭建接口自动化测试框架,接口API、数据库操作、流程分模块管理,将接口自动化测试代码井然有序的组织起来。相比于传统的自动化编写方式,代码结构清晰,报告美观、便于维护,极大减少了自动化维护的成本。减少了自动化维护的成本。减少了自动化维护的成本。

【技术实现步骤摘要】
一种基于allure的web接口自动化测试方法及系统


[0001]本专利技术属于web接口自动化测试
,具体涉及一种基于allure的web接口自动化测试方法及系统。

技术介绍

[0002]近年来,随着web产品(应用或客户端)的轻量化和微服务的流行,Web产品API层的接口需要面对不同接口提供方的版本升级和依赖的环境变化,每个接口需要测试人员根据经验或接口提供方的标准文档编写测试代码,因而于web接口的测试对测试人员要求不同,需要按需配备不同水平的测试人员;另一方面,不同的测试人员编写的代码风格各异,难以维护。

技术实现思路

[0003]为提供web产品API层的接口自动化测试的效率,提高测试代码的组织性和可维护性的问题,在本专利技术的第一方面提供了一种基于allure的web接口自动化测试方法,包括:获取待测试web接口及其内部资源,所述内部资源包括环境配置、图片、操作文档和服务请求信息;将与待测试web接口业务无关的外部工具封装在工具模块中;基于所述待测试web接口及其操作的资源,以及所述工具模块,构建并封装待测试web接口的测试框架;利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告。
[0004]在本专利技术的一些实施例中,所述工具模块包括数据库访问单元、发起http请求单元、日志输出单元、json提取单元和json断言单元。
[0005]在本专利技术的一些实施例中,所述构建并封装待测试web接口的测试框架包括:将待测试web接口及其操作的资源封装在可复用的功能模块中;根据所述web接口的不同操作方法,将一个或多个可复用的功能模块封装在工作流模块中;将一个或多个工作流模块封装在数据准备模块中。
[0006]进一步的,所述利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告包括:
[0007]根据testsuit匹配待测试web接口所需的测试用例,并利用其组织并执行所述可复用的功能模块、工作流模块、数据准备模块中的方法对待测试web接口进行测试,然后通过allure输出测试报告。
[0008]进一步的,获取测试所需的样本数据,利用其和测试用例对待测试web接口进行测试。
[0009]进一步的,所述将待测试web接口及其操作的资源封装在可复用的功能模块中包括:通过将requests模块将待测试web接口及其操作的资源封装在可复用的功能模块中。
[0010]本专利技术的第二方面,提供了一种基于allure的web接口自动化测试系统,包括:获取模块,用于获取待测试web接口及其内部资源,所述内部资源包括环境配置、图片、操作文档和服务请求信息;封装模块,用于将与待测试web接口业务无关的外部工具封装在工具模
块中;构建模块,用于基于所述待测试web接口及其操作的资源,以及所述工具模块,构建并封装待测试web接口的测试框架;测试模块,用于利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告。
[0011]本专利技术的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术在第一方面提供的基于allure的web接口自动化测试方法。
[0012]本专利技术的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本专利技术在第一方面提供的基于allure的web接口自动化测试方法。
[0013]本专利技术的有益效果是:
[0014]1.本专利技术通过结合python3中的pytest模块、requests模块、allure模块搭建出接口自动化测试框架,接口API、数据库操作、流程分模块管理,将接口自动化测试代码井然有序的组织起来;
[0015]2.相比于传统的自动化编写方式,代码结构清晰,报告美观、便于排查问题,极大减少了自动化维护的成本。
附图说明
[0016]图1为本专利技术的一些实施例中的基于allure的web接口自动化测试方法的基本流程示意图;
[0017]图2为本专利技术的一些实施例中的基于allure的web接口自动化测试方法的具体流程示意图;
[0018]图3为本专利技术的一些实施例中的基于allure的web接口自动化测试系统的结构示意图;
[0019]图4为本专利技术的一些实施例中的电子设备的结构示意图。
具体实施方式
[0020]以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。
[0021]参考图1,在本专利技术的第一方面,提供了一种基于allure的web接口自动化测试方法,包括:S100.获取待测试web接口及其内部资源,所述内部资源包括环境配置、图片、操作文档和服务请求信息;S200.将与待测试web接口业务无关的外部工具封装在工具模块中;S300.基于所述待测试web接口及其操作的资源,以及所述工具模块,构建并封装待测试web接口的测试框架;S400.利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告。
[0022]在本专利技术的一些实施例中,所述工具模块包括数据库访问单元、发起http请求单元、日志输出单元、json提取单元和json断言单元。
[0023]在本专利技术的一些实施例的步骤S300中,所述构建并封装待测试web接口的测试框架包括:S301.将待测试web接口及其操作的资源封装在可复用的功能模块中;S302.根据所述web接口的不同操作方法,将一个或多个可复用的功能模块封装在工作流模块中;S303.
将一个或多个工作流模块封装在数据准备模块中。
[0024]具体地,参考图2,自动化测试框架包括api模块(图中的API)、data模块、func模块、flow模块、prepare模块和testsuit模块,其中api模块封装服务api请求方法,在data模块中封装所有和数据库操作相关的方法,func模块利用api模块和data模块提供方法进一步封装成独立可复用的功能方法,flow模块利用api、data、和func提供的方法封装流程;prepare模块利用api、data、func模块和flow模块提供的方法封装数据准备方法,testsuit模块中利用从excel表格读取数据,以数据驱动的方式组织用例执行,通过上述方式以提高代码复用性,组织性和可维护性的目的。可以理解,上述testsuit模块是指python语言中的testsuit模块,该模块用于匹配不同的测试数据和生成不同的测试用例。可选的,testsuit模块包含于pytest库中,即可选用python语言的pytest库或其他测试模块,以实现testsuit模块同等功能。
[0025]进一步的,在步骤S301中,所述将待测试web接口及其操作的资源封装在可复用的功能模块中包括:通过将requests模块将待测试本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于allure的web接口自动化测试方法,其特征在于,包括:获取待测试web接口及其内部资源,所述内部资源包括环境配置、图片、操作文档和服务请求信息;将与待测试web接口业务无关的外部工具封装在工具模块中;基于所述待测试web接口及其操作的资源,以及所述工具模块,构建并封装待测试web接口的测试框架;利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告。2.根据权利要求1所述的基于allure的web接口自动化测试方法,所述工具模块包括数据库访问单元、发起http请求单元、日志输出单元、json提取单元和json断言单元。3.根据权利要求1所述的基于allure的web接口自动化测试方法,其特征在于,所述构建并封装待测试web接口的测试框架包括:将待测试web接口及其操作的资源封装在可复用的功能模块中;根据所述web接口的不同操作方法,将一个或多个可复用的功能模块封装在工作流模块中;将一个或多个工作流模块封装在数据准备模块中。4.根据权利要求3所述的基于allure的web接口自动化测试方法,其特征在于,所述利用所述测试框架对待测试web接口进行测试,并通过allure输出测试报告包括:根据testsuit匹配待测试web接口所需的测试用例,并利用其组织并执行所述可复用的功能模块、工作流模块、数据准备模块中的方法对待测试web接口进行测试,然后通过allure输出测试报告。5.根据权利要求3所述的基于allure的web接口自动化测试方法,还包括:获取测试所需的样本数据,利用其和测试用例对待测试web接口进行测试。6.根据权利要求3所述的基...

【专利技术属性】
技术研发人员:周风明陈文静
申请(专利权)人:武汉光庭信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1