一种自动检测接口服务异常的方法和装置与流程

文档序号:12375968阅读:352来源:国知局
一种自动检测接口服务异常的方法和装置与流程

本发明涉及计算机网络技术领域,具体涉及一种自动检测接口服务异常的方法和装置。



背景技术:

为了提高系统的耦合性,系统之间会提供很多对内和对外的接口,这些接口是由其他所属团队维护,而测试人员在测试过程中测试或联调接口,和第三方接口维护团队沟通的时间在项目软件测试生命周期中占很大比例。目前,系统中断出现问题时,一般采取以下措施:人工查看系统日志,定位到具体的第三方接口,初步排查产生问题的原因,主要存在以下两种情况:一种是本系统的问题,与系统相关人员进行定位并跟踪解决问题;另外一种是第三方接口异常,与第三方接口维护人员沟通并跟踪解决问题。但是,上述措施存在以下几个问题:

1、发现第三方接口异常太被动。

由于网络或其他环境因素,调用第三方接口中断或失败的情况,一种是重启系统,第三方接口在系统启动依赖中导致系统启动不起来查看日志发现第三方接口问题;另一种是测试人员在测试项目时执行到调用第三方接口的模块,系统抛出异常才能发现第三方接口异常。无论哪一种情况,对于测试人员来说都是非常被动的,如果多个模块都用到同一个接口,而多个模块对应不同的测试人员,那么就会有多个测试人员可能同一时间都在调查由于同一个接口导致的问题。

2、第三方接口的维护工作低效。

如果第三方接口更换应用域名或更换测试服务器,与第三方接口维护人员沟通确认,人工登录到测试环境,更改host或系统配置文件,重新启动系统,在客户端打开系统验证第三方接口是否能正常使用; 以上情况遇到服务器大迁移时人工处理工作量将成倍扩大。

3、排查第三方接口异常原因低效,重复性工作较多。

系统中包含多个第三方接口,由于网络异常或其他环境原因导致多个接口同一时间中断,而多个接口都是串行工作,由于发现接口问题太被动,加上维护工作的低效,导致所有的接口异常处理环节都是重复性工作。

4、人工沟通工作太多。

联调测试过程中经常发现由于双方接口输入或输出参数不匹配而导致测试中断,出现这种情况,双方沟通的时间占用实际联调时间会在50%以上。



技术实现要素:

有鉴于此,本发明提供一种自动检测接口服务异常的方法和装置,能够在系统初始自动检测接口,也能够应用于系统出现接口异常时自动检测接口,提高了测试人员的工作效率,减少了测试人员的重复性工作。

为实现上述目的,根据本发明的一个方面,提供了一种自动检测接口服务异常的方法,包括:读取系统配置文件;读取接口IP地址;判断接口的网络是否正常,若正常,则解析请求接口URL地址的结果并记录检测接口日志报告;若异常,则直接记录检测接口日志报告;判断是否存在未检测的接口,若不存在,则判断是否需要将所述日志报告发送给测试或开发相关人员;若存在,则返回继续读取系统配置文件;若接口异常,则将所述日志报告发送给测试或开发相关人员;若接口正常,则直接结束任务。

可选地,解析请求接口URL地址的结果包括:获取接口URL地址;请求接口URL地址;解析请求日志。

可选地,解析请求日志包括:抓包请求接口URL地址的结果返回值;将获取到的结果返回值与所述系统配置文件中的结果返回值类型进行匹配得到匹配结果;读取依赖的接口协议;获取方法名称。

可选地,所述接口为第三方接口。

根据本发明的另一个方面,提供了一种自动检测接口服务异常的装置,包括:第一读取模块,用于读取系统配置文件;第二读取模块,用于读取接口IP地址;第一判断模块,用于判断接口的网络是否正常,若正常,则解析请求接口URL地址的结果并记录检测接口日志报告;若异常,则直接记录检测接口日志报告;第二判断模块,用于判断是否存在未检测的接口,若不存在,则判断是否需要将所述日志报告发送给测试或开发相关人员;若存在,则返回继续读取系统配置文件;若接口异常,则将所述日志报告发送给测试或开发相关人员;若接口正常,则直接结束任务。

可选地,所述第一判断模块还用于:获取接口URL地址;请求接口URL地址;解析请求日志。

可选地,所述第一判断模块还用于:抓包请求接口URL地址的结果返回值;将获取到的结果返回值与所述系统配置文件中的结果返回值类型进行匹配得到匹配结果;读取依赖的接口协议;获取方法名称。

可选地,所述接口为第三方接口。

根据本发明的技术方案,可以应用于系统初始自动检测第三方接口,也可以应用于系统出现接口异常时自动检测第三方接口;具有以下有益效果:

1、能够自动检测第三方接口异常;

2、提高测试效率,减少重复性工作;

3、减少沟通成本,增加工作灵活性。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明的一种自动检测接口服务异常的方法的主要步骤的示意图;

图2是根据本发明的解析请求接口URL地址的结果的主要步骤的示意图;

图3是根据本发明的解析请求日志的主要步骤的示意图;

图4是根据本发明的一种自动检测接口服务异常的装置的主要模块的示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

下面以一种自动检测第三方接口服务异常的方法为例进行说明,如图1-3所示,该方法主要包括如下步骤S10-S40:

S10:读取系统配置文件。

S20:读取第三方接口IP地址。

S30:判断第三方接口的网络是否正常,若正常,则解析请求第三方接口URL地址的结果并记录检测接口日志报告;若异常,则直接记录检测接口日志报告。

网络正常时,解析请求第三方接口URL地址的结果包括如下步骤S31-S33:S31、获取第三方接口URL地址;S32、请求第三方接口URL 地址;S33、解析请求日志。

上述步骤S33进一步包括步骤:S331、抓包请求第三方接口URL地址的结果返回值;S332、将获取到的结果返回值与所述系统配置文件中的结果返回值类型进行匹配得到匹配结果;若匹配结果为200或800,则修改iden=0,若匹配结果非800或非200,则获取相关第三方接口人员的email,将其累加到变量值emails,此时iden为默认值1(即iden=1)。S333、读取依赖的第三方接口协议;S334、获取方法名称。

步骤S30中,网络正常时记录的日志报告的内容包括第三方接口的URL地址和步骤S334中获取的方法名称。网络异常时记录的日志报告的内容包括第三方接口的IP地址和网络异常信息。

S40:判断是否存在未检测的第三方接口,若不存在,则判断是否需要将所述日志报告发送给测试或开发相关人员;若存在,则返回继续读取系统配置文件。若第三方接口异常,则将所述日志报告发送给测试或开发相关人员;若第三方接口正常,则直接结束任务。在本发明中,步骤S332中匹配结果为200或800时,表示第三方接口正常,此时iden=0,变量值emails为空值,不需要发送邮件。匹配结果为非800或非200时,表示第三方接口异常,此时iden=1,变量值emails为非空值,需要发送邮件,收件人为累加的变量值emails,邮件内容为步骤S30中的检测接口日志报告。

图4是根据本发明的一种自动检测接口服务异常的装置的主要模块的示意图。下面以一种自动检测第三方接口服务异常的装置为例进行说明,如图4所示,该装置4主要包括第一读取模块41、第二读取模块42、第一判断模块43以及第二判断模块44。

第一读取模块41,用于读取系统配置文件。

第二读取模块42,用于读取第三方接口IP地址。

第一判断模块43,用于判断第三方接口的网络是否正常,若正常,则解析请求第三方接口URL地址的结果并记录检测接口日志报告;若异常,则直接记录检测接口日志报告。

网络正常时,所述第一判断模块还用于:获取第三方接口URL地址;请求第三方接口URL地址;解析请求日志。

解析请求日志时,所述第一判断模块还用于:抓包请求第三方接口URL地址的结果返回值。

将获取到的结果返回值与所述系统配置文件中的结果返回值类型进行匹配得到匹配结果;若匹配结果为200或800,则修改iden=0,若匹配结果非800或非200,则获取相关第三方接口人员的email,将其累加到变量值emails,此时iden为默认值1(即iden=1)。

读取依赖的第三方接口协议并获取方法名称。

网络正常时记录的日志报告的内容包括第三方接口的URL地址和获取的方法名称。网络异常时记录的日志报告的内容包括第三方接口的IP地址和网络异常信息。

第二判断模块44,用于判断是否存在未检测的第三方接口,若不存在,则判断是否需要将所述日志报告发送给测试或开发相关人员;若存在,则返回继续读取系统配置文件。

若第三方接口异常,则将所述日志报告发送给测试或开发相关人员;若第三方接口正常,则直接结束任务。在本发明中,所述匹配结果为200或800时,表示第三方接口正常,此时iden=0,变量值emails 为空值,不需要发送邮件。所述匹配结果为非800或非200时,表示第三方接口异常,此时iden=1,变量值emails为非空值,需要发送邮件,收件人为累加的变量值emails,邮件内容为所述检测接口日志报告。

本发明是面向过程的处理机制,通过可配置参数的设计原理增加功能的灵活运用性,本方案采用Shell脚本或者BAT脚本对于测试环境无任何污染,脚本技术对于将来类似方案的平台性融合或者功能扩展都非常便利。本发明的方法和装置适用于Linux操作系统、Window操作系统,同时也适用于其它操作系统。

本发明依赖的数据信息包括:序列号,配置文件,第三方接口协议,结果返回值,结果返回值类型等。

1、序列号:即ID,所有数据的唯一标识列。

2、配置文件:

IP:系统调用的第三方接口IP地址;

AppD:第三方接口应用域名;

URL:第三方接口URL地址;

ThName:第三方接口负责人姓名,可以是多个人员;

ThEmail:第三方接口负责人邮箱,可以是多个邮箱地址;

Name:测试或开发相关人员姓名,可以是多个人员;

Email:测试或开发相关人员邮箱,可以是多个邮箱地址;

iden:是否发送邮件,默认值为1,发送邮件;0为不发送邮件。

3、依赖的第三方接口协议:

GetMethod:接口具体方法;

MethonIns:方法说明;

RequestType:方法请求类型。

4、结果返回值(Result):

200:成功;

500:服务器错误。

5、结果返回值类型(ResultType):

200:成功;

400:请求错误;

401:未授权;

403:禁止;

404:未找到;

500:服务器错误;

501:未实现;

502:网关错误;

503:服务不可用;

800:未知错误。(注释:800对应的未知错误是为本系统的问题,

200是没有问题;其他均为第三方接口问题)。

6、环境部署:

本发明将脚本配置到Jenkins平台上,Jenkins构建任务,配置任务调用的地址为该脚本所在目录。运行脚本前修改脚本引用的(2-配置文件),配置文件内容为应用系统调用的第三方接口的相关信息。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1