日志驱动的接口自动化测试方法及系统技术方案

技术编号:18913351 阅读:280 留言:0更新日期:2018-09-12 02:54
本发明专利技术公开了一种日志驱动的接口自动化测试方法及系统,日志驱动的接口自动化测试方法包括以下步骤:S1、查询生产环境的日志并导入到本地数据库;S2、对于每一条日志,根据日志的mock接口,在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;S3、将不同测试环境下的返回日志报文进行对比,并保存对比结果。本发明专利技术利用es接口动态收集接口相关的生产日志下载到本地数据库,根据报文进行mock测试,从而能够方便的进行接口自动化测试,从而简化了接口自动化的构建流程,降低了接口自动化测试的成本。

Log driven interface automation testing method and system

The invention discloses a log-driven interface automation test method and system. The log-driven interface automation test method comprises the following steps: S1, inquiring the log of production environment and importing it into local database; S2, requesting each log under different test environment according to the log mock interface. Return log messages in different test environments are obtained; S3. Return log messages in different test environments are compared and the results are saved. The invention uses the ES interface to dynamically collect the production logs related to the interface and download them to the local database for mock test according to the message, thereby facilitating the interface automation test, thereby simplifying the construction process of the interface automation and reducing the cost of the interface automation test.

【技术实现步骤摘要】
日志驱动的接口自动化测试方法及系统
本专利技术涉及一种接口自动化测试技术,特别涉及一种日志驱动的接口自动化测试方法及系统。
技术介绍
现有技术中目前接口自动化测试是通过单元测试框架编写用例的形式,但是这种形式受到编写人对接口实现熟悉程度的限制,需要不断维护测试用例代码,很难保证长期测试的稳定。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中接口自动化测试通过单元测试框架编写用例的形式,导致需要不断维护测试用例代码,很难保证长期测试的稳定的缺陷,提供一种日志驱动的接口自动化测试方法及系统。本专利技术是通过下述技术方案来解决上述技术问题的:本专利技术提供了一种日志驱动的接口自动化测试方法,包括以下步骤:S1、查询生产环境的日志并导入到本地数据库;S2、对于每一条日志,根据日志的mock接口(虚拟对象接口),在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;S3、将不同测试环境下的返回日志报文进行对比,并保存对比结果。较佳地,步骤S1具体包括:查询生产环境的es(elasticsearch,分布式全文检索)日志,检测是否存在日志,若是,则将日志导入到本地数据库。较佳地,步骤S3之后还包括:S4、将对比结果生成报告并输出到前端页面进行展示。本专利技术还提供了一种日志驱动的接口自动化测试系统,包括:查询模块,用于查询生产环境的日志并导入到本地数据库;日志请求模块,用于对于每一条日志,根据日志的mock接口,在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;报文对比模块,用于将不同测试环境下的返回日志报文进行对比,并保存对比结果。较佳地,所述查询模块用于查询生产环境的es日志,检测是否存在日志,若是,则将日志导入到本地数据库。较佳地,所述接口自动化测试系统还包括:输出模块,用于将对比结果生成报告并输出到前端页面进行展示。本专利技术的积极进步效果在于:本专利技术利用es接口动态收集接口相关的生产日志下载到本地数据库,根据报文进行mock测试,从而能够方便的进行接口自动化测试,从而简化了接口自动化的构建流程,降低了接口自动化测试的成本。附图说明图1为本专利技术的较佳实施例的日志驱动的接口自动化测试方法的流程图。图2为本专利技术的较佳实施例的日志驱动的接口自动化测试系统的模块示意图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。如图1所示,本专利技术提供了一种日志驱动的接口自动化测试方法,包括以下步骤:步骤101、查询生产环境的日志并导入到本地数据库;步骤102、对于每一条日志,根据日志的mock接口,在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;步骤103、将不同测试环境下的返回日志报文进行对比,并保存对比结果;步骤104、将对比结果生成报告并输出到前端页面进行展示。其中,在步骤101中,查询生产环境的es日志,检测是否存在日志,若是,则将日志导入到本地数据库。本专利技术主要是通过将生产环境的日志导入到本地,采用mock的方式,对于每条日志在测试环境重新请求,对比返回报文,收集结果,生产环境的日志可以直接用于接口的mock,日志的不同让接口测试的场景也不同,导入的日志数量越多,种类越全面,对于接口测试的覆盖率越高。实现了在不用维护测试用例的前提下,丰富了测试的场景。并且通过收集对比结果,可以更直观地展示出报文节点的区别。下面举一个详细的例子对本专利技术的接口自动化测试方法进行说明,具体包括如下步骤:1.根据接口在日志中对应的Path属性(Path:"/getLounges")特征,构建请求参数请求elasticsearch查询接口http://osg.ops.ctripcorp.com/api/10900/flight-afterservice-2018.01.24/_search,根据LogToken聚合结果,再根据LogToken重新查询elasticsearch获取日志关键性节点,诸如请求报文和返回报文信息,落地到测试数据库。2.将本周代码和生产代码部署到两个不同的测试环境,根据下载落地的日志,遍历每个LogToken,根据对应的调用的接口的返回报文mock接口,使用对应的生产的请求报文,请求两个测试环境,落地返回的报文3.对比每个LogToken对应的两个测试环境的返回报文,保存对比结果,输出到前端页面展示当前接口的生成报告。如图2所示,本专利技术还提供了一种日志驱动的接口自动化测试系统,包括查询模块1、日志请求模块2、报文对比模块3以及输出模块4;其中,所述查询模块1,用于查询生产环境的日志并导入到本地数据库;优选地,所述查询模块用于查询生产环境的es日志,检测是否存在日志,若是,则将日志导入到本地数据库。所述日志请求模块2,用于对于每一条日志,根据日志的mock接口,在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;所述报文对比模块3,用于将不同测试环境下的返回日志报文进行对比,并保存对比结果;所述输出模块4,用于将对比结果生成报告并输出到前端页面进行展示。虽然以上描述了本专利技术的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本专利技术的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本专利技术的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本专利技术的保护范围。本文档来自技高网...

【技术保护点】
1.一种日志驱动的接口自动化测试方法,其特征在于,包括以下步骤:S1、查询生产环境的日志并导入到本地数据库;S2、对于每一条日志,根据日志的mock接口,在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;S3、将不同测试环境下的返回日志报文进行对比,并保存对比结果。

【技术特征摘要】
1.一种日志驱动的接口自动化测试方法,其特征在于,包括以下步骤:S1、查询生产环境的日志并导入到本地数据库;S2、对于每一条日志,根据日志的mock接口,在不同测试环境下进行请求,得到不同测试环境下的返回日志报文;S3、将不同测试环境下的返回日志报文进行对比,并保存对比结果。2.如权利要求1所述的日志驱动的接口自动化测试方法,其特征在于,步骤S1具体包括:查询生产环境的es日志,检测是否存在日志,若是,则将日志导入到本地数据库。3.如权利要求1所述的日志驱动的接口自动化测试方法,其特征在于,步骤S3之后还包括:S4、将对比结果生成报告并输出到前端页面进行展示。4.一种日志驱动的接...

【专利技术属性】
技术研发人员:纪春宇陈亮
申请(专利权)人:上海携程商务有限公司
类型:发明
国别省市:上海,31

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

1