掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及计算机软件技术领域,具体涉及一种接口异常判断发送方法、装置、设备及存储介质。

背景技术

当前的测试人员在进行测试工作时,使用JMeter工具做自动化需要使用JMeter+Ant+Jenkins框架,JMeter是一款使用Java开发的,开源的,测试工具,其主要用来做功能测试和性能测试(压力测试/负载测试);而测试人员在配置JMeter+Ant+Jenkins框架时,较为繁琐,若测试人员没有足够的搭建框架的经验,则会直接影响测试效率。

JMeter+Ant+Jenkins框架在使用时,Jenkins通过SVN获取JMeter最新脚本,然后通过Ant进行构建,此时Ant去找构建的配置文件,通过配置文件找到需要执的脚本后生成jtl报告文件,接着转换成html测试报告,最后Jenkins构建完成发送邮件。通过上述流程能够明显得知该流程比较复杂,如果说需要判断接口是否符合断言,并针对性的处理异常接口发送邮件就需要更多的配置和处理。

因此,目前测试工作中的接口异常判断发送方式,流程较为复杂,且无法根据接口的状态进行区分,发送报告需要更多配置,影响工作效率。

发明内容

有鉴于此,本发明的目的在于提供一种接口异常判断发送方法、装置、设备及存储介质,以解决现有技术中的接口异常判断发送方式,流程较为复杂,且无法根据接口的状态进行区分,发送报告需要更多配置,影响工作效率的问题。

根据本发明实施例的第一方面,提供一种接口异常判断发送方法,包括:

将JMeter中预先配置的webhook信息录入到Beanshell断言;

利用所述JMeter通过所述Beanshell断言判断接口是否异常;

若是,则利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;

利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;

利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。

优选的,所述的方法,还包括:

通过集成自动化插件预先配置的webhook连接方式,发送所述异常报告到配置的webhook。

优选的,所述发送所述异常报告到配置的webhook,还包括:

获取每个接口对应的负责人信息,得出所述接口的异常报告对应的负责人信息;

发送所述异常报告到配置的webhook,同时,提醒所述所述接口的异常报告对应的负责人。

根据本发明实施例的第二方面,提供一种接口异常判断发送装置,包括:

信息录入模块,用于将JMeter中预先配置的webhook信息录入到Beanshell断言;

判断模块,用于利用所述JMeter通过所述Beanshell断言判断接口是否异常;

转换模块,用于若接口出现异常,则利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;还用于利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;

报告生成模块,用于利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。

优选的,所述的装置,还包括:

报告发送模块,用于通过集成自动化插件预先配置的webhook连接方式,发送所述异常报告到配置的webhook。

根据本发明实施例的第三方面,提供一种接口异常判断发送设备,包括:

主控器,及与所述主控器相连的存储器;

所述存储器,其中存储有程序指令;

所述主控器用于执行存储器中存储的程序指令,执行上述任一项所述的方法。

根据本发明实施例的第四方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

可以理解的是,本发明示出的技术方案通过将JMeter中预先配置的webhook信息录入到Beanshell断言;利用所述JMeter通过所述Beanshell断言判断接口是否异常;若是,则利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。可以理解的是,本发明示出的技术方案,使用简单,不需要去搭建自动化框架,且发送报告格式自定义、webhook自定义,自由程度较高,可根据接口异常状态直接生成异常报告,提高工作效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种接口异常判断发送方法的步骤示意图;

图2是根据一示例性实施例示出的一种接口异常判断发送方法的流程示意图;

图3是是根据一示例性实施例示出的一种接口异常判断发送装置的示意框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

实施例一

图1是根据一示例性实施例示出的一种接口异常判断发送方法的步骤示意图,参见图1,提供一种接口异常判断发送方法,包括:

步骤S11、将JMeter中预先配置的webhook信息录入到Beanshell断言;

需要说明的是,JMeter是一款使用Java开发的,开源的,测试工具,主要用来做功能测试和性能测试(压力测试/负载测试);Java是一门面向对象编程语言;Webhook是一个接收HTTP POST(或GET,PUT,DELETE)的URL,为群聊机器人;Beanshell断言:通过BeanShell可以对请求数据、响应数据或环境变量进行更加灵活的处理和判断。

步骤S12、利用所述JMeter通过所述Beanshell断言判断接口是否异常;

步骤S13、若是,则利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;

步骤S14、利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;

步骤S15、利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。

可以理解的是,本实施例示出的技术方案通过将JMeter中预先配置的webhook信息录入到Beanshell断言;利用所述JMeter通过所述Beanshell断言判断接口是否异常;若是,则利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。可以理解的是,本实施例示出的技术方案,使用简单,不需要去搭建自动化框架,且发送报告格式自定义、webhook自定义,自由程度较高,可根据接口异常状态直接生成异常报告,提高工作效率。

图2是根据一示例性实施例示出的一种接口异常判断发送方法的流程示意图,参见图2,在具体实践中,工作人员可以使用IntelliJ IDEA编程写出发送消息的插件jar包,并存储到指定的地址(例如:apache-jmeter-4.0/lib/ext/);将fastjson.jar文件存储到指定的地址(apache-jmeter-4.0/lib/);利用Jmeter配置好webhook(群聊机器人)信息,并且把信息录入到Beanshell断言(可即时修改);Jmeter通过Beanshell断言判断接口是否异常(接口出现异常则处理);Beanshell断言将响应参数转换成自定义的Json格式;Fastjson将Json数据反序列化成JavaBean;利用集成自动化插件配置报告格式,webhook连接方式(消息发送连接方式),同时插件读取到Json反序列化的JavaBean,并将其根据报告格式转换生成异常报告;最后可以通过插件配置的连接方式发送自定义的异常报告到配置的webhook(群聊机器人),并且每个异常接口可以提醒到对应的工作人员。

其中,IntelliJ IDEA是Java编程语言开发的集成环境。Fastjson用于解析Json格式的字符串,支持将JavaBean序列化为Json字符串,也可以从Json字符串反序列化到JavaBean;JavaBean:一种可重用的Java组件,它可以被Applet、Servlet、JSP等Java应用程序调用,也可以可视化地被Java开发工具使用。可以理解的是,本发明示出的技术方案,是使用IntelliJ IDEA开发的消息类(举例:DingDingUtil),配合Fastjson和Jmeter去判断接口是否异常并针对性发送报告。

需要说明的是,所述的方法,还包括:

通过集成自动化插件预先配置的webhook连接方式,发送所述异常报告到配置的webhook。

在具体实践中,在生成异常报告之后,还可以通过通过集成自动化插件预先配置的webhook连接方式,发送所述异常报告到配置的webhook,用以实现异常报告的自动化发送,进一步提升工作效率。

需要说明的是,所述发送所述异常报告到配置的webhook,还包括:

获取每个接口对应的负责人信息,得出所述接口的异常报告对应的负责人信息;

发送所述异常报告到配置的webhook,同时,提醒所述所述接口的异常报告对应的负责人。

在具体实践中,每个接口均对应一个负责此接口的工作人员,可以预先获取每个接口对应的负责人的信息,之后,当接口出现异常从而生成异常报告后,能够在发送异常报告到webhook时,还能够直接提醒所述所述接口的异常报告对应的负责人。

可以理解的是,本实施例能够使用fastjson配合将Jmeter的Beanshell断言的Json字符串反序列化到JavaBean然后被Java应用程序调用;Jmeter直接运行后通过插件发送报告到对应的邮件或者webhook;报告的形式、接收报告方式、断言内容等可根据实时情况在脚本即时修改,可操作性得到了大幅度提升。本实施例示出的技术方案,使用简单,不需要去搭建自动化框架,能够实现发送报告格式自定义、webhook自定义、提醒人员自定义,webhook或者通知相关人员可直接在Jmeter设置,不再需要集成平台,可直接区分接口响应状态针对性发出报告,拓展性很强,后续可在此基础上进行集成方面深层次的挖掘。

实施例二

图3是是根据一示例性实施例示出的一种接口异常判断发送装置的示意框图,参见图3,提供一种接口异常判断发送装置,包括:

信息录入模块101,用于将JMeter中预先配置的webhook信息录入到Beanshell断言;

判断模块102,用于利用所述JMeter通过所述Beanshell断言判断接口是否异常;

转换模块103,用于若接口出现异常,则利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;还用于利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;

报告生成模块104,用于利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。

可以理解的是,本实施例示出的技术方案通过信息录入模块101将JMeter中预先配置的webhook信息录入到Beanshell断言;通过判断模块102利用所述JMeter通过所述Beanshell断言判断接口是否异常;若是,则通过转换模块103利用所述Beanshell断言将异常的响应参数转换成自定义的Json格式;利用预先配置的Fastjson将Json格式的异常数据反序列化成JavaBean;通过报告生成模块104利用集成自动化插件读取JavaBean数据,并将其根据预先配置的报告格式转换成待发送的异常报告。可以理解的是,本实施例示出的技术方案,使用简单,不需要去搭建自动化框架,且发送报告格式自定义、webhook自定义,自由程度较高,可根据接口异常状态直接生成异常报告,提高工作效率。

需要说明的是,所述的装置,还包括:

报告发送模块,用于通过集成自动化插件预先配置的webhook连接方式,发送所述异常报告到配置的webhook。

可以理解的是,通过设置报告发送模块,能够在生成异常报告之后,通过集成自动化插件预先配置的webhook连接方式,发送所述异常报告到配置的webhook,进一步的提高工作人员的工作效率。

实施例三

提供一种接口异常判断发送设备,包括:

主控器,及与所述主控器相连的存储器;

所述存储器,其中存储有程序指令;

所述主控器用于执行存储器中存储的程序指令,执行上述任一项所述的方法。

实施例四

提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的方法。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120116083076