CN110287070A - Esb专用协议接口测试方法、服务器及计算机可读存储介质 - Google Patents
Esb专用协议接口测试方法、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110287070A CN110287070A CN201910422055.4A CN201910422055A CN110287070A CN 110287070 A CN110287070 A CN 110287070A CN 201910422055 A CN201910422055 A CN 201910422055A CN 110287070 A CN110287070 A CN 110287070A
- Authority
- CN
- China
- Prior art keywords
- esb
- test
- identification information
- consumer identification
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010998 test method Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 186
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004458 analytical method Methods 0.000 claims abstract description 13
- 238000013507 mapping Methods 0.000 claims description 24
- 230000000977 initiatory effect Effects 0.000 claims description 22
- 239000010453 quartz Substances 0.000 claims description 18
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000002093 peripheral effect Effects 0.000 description 13
- 239000000243 solution Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000306 component Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 239000012085 test solution Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种ESB专用协议接口测试方法,包括:在Apache Jmeter中建立基于Http协议的测试脚本,并将客户端API导入至测试脚本;配置ESB模拟业务流程,以获取并解析请求报文得到消费者标识信息;根据消费者标识信息获取用于对请求报文进行加解密的密钥;调用客户端API,以通过客户端API传入消费者标识信息及与所述消费者标识信息对应的密钥至测试脚本;获取客户端API输出的调用结果,并利用测试脚本对调用结果进行测试分析得到测试结果。本发明还提供一种服务器及计算机可读存储介质。本发明涉及ESB专用协议接口测试技术,可实现利用Apache Jmeter对ESB协议接口进行测试。
Description
技术领域
本发明涉及接口性能测试领域,尤其涉及ESB专用协议接口测试方法、服务器及计算机可读存储介质。
背景技术
Apache Jmeter作为著名开源的接口性能测试解决方案,可以支持绝大多数技术协议:例如HTTP/HTTPS、TCP、JDBC、WEB SERVICE、FTP、SOAP/REST WEBSERVICES、LDAP、JMS等测试。
企业服务总线(Enterprise Service Bus,简称ESB)协议为一种专用协议。比比如应用于银行业的ESB协议具有以下特性:对ESB接口的请求报文需进行加解密;需要在调用ESB客户端api后才可发起数据调用;具有专用的配置信息;每个ESB接口的消费者均有专属的加解密密钥。由于该ESB协议具有以上特殊的特性,使得Apache Jmeter无法支持ESB专用协议测试。
发明内容
有鉴于此,本发明提出一种ESB专用协议接口测试方法、服务器及计算机可读存储介质,可实现Apache Jmeter支持ESB专用协议测试。
首先,为实现上述目的,本发明提出一种服务器,所述服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的ESB专用协议接口测试系统,所述ESB专用协议接口测试系统被所述处理器执行时实现如下步骤:
在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;
配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;
根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;
调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;及
获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。
可选地,所述配置ESB模拟业务流程的步骤包括:
接收定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
可选地,所述根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥的步骤包括:
建立映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥;及
根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
可选地,所述通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本的步骤还包括:
通过所述客户端API传入所述请求报文至所述测试脚本。
此外,为实现上述目的,本发明还提供一种ESB专用协议接口测试方法,应用于服务器,所述ESB专用协议接口测试方法包括步骤:
在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;
配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;
根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;
调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;及
获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。
可选地,所述配置ESB模拟业务流程的步骤包括:
接收定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
可选地,所述测试启动指令通过Quartz框架定时发出。
可选地,所述根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥的步骤包括:
建立映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥;及
根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
可选地,所述通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本的步骤还包括:
通过所述客户端API传入所述请求报文至所述测试脚本。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有ESB专用协议接口测试系统,所述ESB专用协议接口测试系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述ESB专用协议接口测试方法的步骤。
相较于现有技术,本发明所提出的ESB专用协议接口测试方法、服务器及计算机可读存储介质,首先,在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;其次,配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;再者,根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;再者,调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;最后,获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。这样,可以使得Apache Jmeter支持ESB专用协议,从而利用Apache Jmeter对ESB专用协议接口进行测试,且可在测试过程中模拟多个外围系统发起数据请求,减少测试场景配置和工作量,可提高测试效率及准确性。
附图说明
图1是本发明服务器一可选的硬件架构的示意图;
图2是本发明ESB专用协议接口测试系统一实施例的程序模块示意图;
图3为本发明ESB专用协议接口测试方法一实施例的步骤流程示意图。
附图标记:
服务器 | 2 |
网络 | 3 |
存储器 | 11 |
处理器 | 12 |
网络接口 | 13 |
ESB专用协议接口测试系统 | 100 |
建立模块 | 101 |
配置模块 | 102 |
获取模块 | 103 |
调用模块 | 104 |
测试模块 | 105 |
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。依据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个所述特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明应用服务器2一可选的硬件架构的示意图。
本实施例中,所述应用服务器2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图2仅示出了具有组件11-13的应用服务器2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述应用服务器2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,所述应用服务器2可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述应用服务器2的内部存储单元,例如所述应用服务器2的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述应用服务器2的外部存储设备,例如所述应用服务器2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述应用服务器2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述应用服务器2的操作系统和各类应用软件,例如ESB专用协议接口测试系统100的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。所述处理器12通常用于控制所述应用服务器2的总体操作。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述的ESB专用协议接口测试系统100等。
所述网络接口13可包括无线网络接口或有线网络接口,所述网络接口13通常用于在所述应用服务器2与其他电子设备之间建立通信连接。
至此,己经详细介绍了本发明相关设备的硬件结构和功能。下面,将依据上述介绍提出本发明的各个实施例。
首先,本发明提出一种ESB专用协议接口测试系统100。
参阅图2所示,是本发明ESB专用协议接口测试系统100第一实施例的程序模块图。
本实施例中,所述ESB专用协议接口测试系统100包括一系列的存储于存储器11上的计算机程序指令,当所述计算机程序指令被处理器12执行时,可以实现本发明各实施例的ESB专用协议接口测试操作。在一些实施例中,依据所述计算机程序指令各部分所实现的特定的操作,ESB专用协议接口测试系统100可以被划分为一个或多个模块。例如,在图2中,ESB专用协议接口测试系统100可以被分割成建立模块101、配置模块102、获取模块103、调用模块104及测试模块105。其中:
所述建立模块101用于在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本。
在一实施例中,所述ESB接口优选为银行系统的数据通信接口。所述ApacheJMeter是Apache组织开发的基于Java的压力测试工具,可用于对软件做压力测试,且可被扩展到其他测试领域。所述Apache JMeter还可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI(Common Gateway Interface,用于连接主页和应用程序的接口)脚本、Java对象、数据库、FTP(File Transfer Protocol,文件传输协议)服务器等等。可以理解,所述Apache JMeter本身为一个强大的性能测试工具,具有GUI操作界面,支持编写java脚本、调用第三方jar和IF、FOR逻辑循环控制。所述Apache JMeter可对应用程序做功能测试和回归测试,可通过创建带有断言的脚本来验证程序返回期望的结果。
在一实施例中,所述测试脚本可以在客户端配置页面键入ESB系统的ESB数据库登陆用户名及密码,以链接至ESB数据库,进而可以在后续测试过程中访问所述ESB数据库。
在一实施例中,由于ESB协议本质上属于http协议,所述建立模块101可以先在Apache Jmeter中建立一个基于Http协议的测试脚本,然后再将ESB接口的客户端API导入至所述测试脚本,进而使得Apache JMeter可发起对ESB接口进行数据调用。举例而言,所述测试脚本为HTTTPEsbClientImpl.java,所述客户端API为ESBClientAPI.jar。当所述建立模块101在Apache Jmeter中为测试脚本选择ESB客户端时,可以实现将客户端API导入至所述测试脚本。也就是说,当所述建立模块101在Apache Jmeter中为测试脚本选择ESB客户端时,HTTPEsbClientImpl.java可自动为所述测试脚本导入ESBClientAPI.jar。
所述配置模块102用于配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息。
在一实施例中,所述ESB系统作为一对外服务的系统,需同时支持多个外围系统的调用,一个ESB接口可能存在多个消费者情况。也就是说,对一个ESB接口做完整的测试需要模拟多个外围系统发起数据调用。在测试过程中使用ESB系统访问真实的外围系统是不现实的,一方面不能保证数据安全,另一面无法获取测试所需要的相关信息,所以需要所述配置模块102配置所述ESB模拟业务流程,以实现模拟多个外围系统发起对所述ESB接口的数据调用。
在一实施例中,在所述配置模块102配置ESB模拟业务流程后,可获取所述ESB接口的请求报文,所述请求报文携带有消费者标识消息,可以对所述请求报文进行解析来得到所述请求报文的消费者标识信息。
在一实施例中,所述消费者标识信息优选具有唯一性。举例而言,所述消费者标识信息可以是消费者ID。所述配置模块102解析所述请求报文的过程即是遵循ESB协议规定的内容去解析所述请求报文(比如调用专门的报文解析封装类可实现对请求报文进行解析),以获取所述请求报文包含的信息,比如所述消费者标识信息。
在一实施例中,所述配置模块102配置ESB模拟业务流程的具体方式包括:接收定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
在一实施例中,所述测试启动指令可以通过Quartz框架定时发出。所述Quartz框架的主要核心组件包括调度器、触发器、作业。所述调度器可以作为所述作业的总指挥。所述触发器可以作为所述作业的操作者。所述作业为应用的功能模块。所述Quartz框架可以是一个完全由Java编写的开源任务调度框架。所述Quartz框架可以通过所述触发器设置所述作业定时运行规则,控制所述作业的运行时间。其中,所述Quartz框架可通过故障切换和负载平衡的功能给所述调度器带来高可用性和伸缩性。所述Quartz框架主要用来执行定时任务,如:定时发送信息、定时生成报表等。通过所述Quartz框架定时发出测试启动指令,可实现测试的无人值守、自动定时测试,可以把非上班时间利用起来,有效的避免资源使用的冲突和干扰,可以充分利用时间,提高效率。
在一实施例中,所述配置模块102接收所述Quartz框架定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
所述获取模块103用于根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥。
在一实施例中,所述密钥可以实现对请求报文进行加密及解密操作。所述密钥可以包括主密钥、密钥交换密钥、数据密钥。所述主密钥用于加密所述密钥交换密钥和所述数据密钥作本地存储,所述密钥交换密钥用于加密所述数据密钥作网络传输。所述数据密钥用于对数据进行加解密。所述密钥可以基于对称算法、非对称算法及摘要算法得到。
在一实施例中,所述获取模块103根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥的具体方式包括:
D11.建立映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥;
D12.根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
在一实施例中,以所述ESB专用协议接口属于银行应用环境为例。所述ESB系统为每个外围系统分配不同的加解密密钥,以对应不同的消费者。如果对一个ESB接口做完整的测试必须配置不同的加解密密钥来对应不同的消费者,可以预先将所有的ESB加解密的密钥根据所述消费者标识信息导入至所述Apache JMeter,进而所述获取模块103可以根据获取得到的所述消费者标识信息来调用不同的密钥。具体地,所述建立模块101可以建立一个映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥。
在一实施例中,每个消费者均有专属的加解密密钥。当解析得到所述消费者标识信息后,所述获取模块103可以根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
所述调用模块104用于调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本。
在一实施例中,当所述获取模块103获取得到消费者专属的加解密密钥后,所述调用模块104可发起调用所述客户端API,并通过所述客户端API传入预设参数至所述测试脚本。所述预设参数可以包括所述请求报文、所述消费者标识信息及与所述消费者标识信息对应的密钥。即所述调用模块104可以调用所述客户端API,并基于所述客户端API传入所述请求报文、所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本。
所述测试模块105用于获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。
在一实施例中,所述测试模块105获取所述客户端API(ESBClientAPI.jar)输出的调用结果,所述Apache Jmeter可以利用所述测试脚本对所述调用结果进行测试分析得到测试结果。所述测试结果可以是HTML格式的测试报告,所述测试模块105可以将生成的HTML格式的测试报告放置在预设Web网站的指定位置,用户可随时访问这个Web网站,并且点击HTML格式的测试报告即可以获取到完整的测试报告。所述测试结果也可以被设定通过邮件发送给指定用户。
上述ESB专用协议接口测试系统,首先在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;其次配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;再者根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;再者调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;最后获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。从而,可以使得Apache Jmeter支持ESB专用协议,从而利用Apache Jmeter对ESB专用协议接口进行测试,且可在测试过程中模拟多个外围系统发起数据请求,减少测试场景配置和工作量,可提高测试效率及准确性。
参阅图3所示,是本发明ESB专用协议接口测试方法第一实施例的实施流程示意图。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S400,在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本。
在一实施例中,所述ESB接口优选为银行系统的数据通信接口。所述ApacheJMeter是Apache组织开发的基于Java的压力测试工具,可用于对软件做压力测试,且可被扩展到其他测试领域。所述Apache JMeter还可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器等等。可以理解,所述ApacheJMeter本身为一个强大的性能测试工具,具有GUI操作界面,支持编写java脚本、调用第三方jar和IF、FOR逻辑循环控制。所述Apache JMeter可对应用程序做功能测试和回归测试,可通过创建带有断言的脚本来验证程序返回期望的结果。
在一实施例中,所述测试脚本可以在客户端配置页面键入ESB系统的ESB数据库登陆用户名及密码,以链接至ESB数据库,进而可以在后续测试过程中访问所述ESB数据库。
在一实施例中,由于ESB(Enterprise Service Bus,企业服务总线)协议本质上属于http协议,可以先在Apache Jmeter中建立一个基于Http协议的测试脚本,然后再将ESB接口的客户端API导入至所述测试脚本,进而使得Apache JMeter可发起对ESB接口进行数据调用。举例而言,所述测试脚本为HTTTPEsbClientImpl.java,所述客户端API为ESBClientAPI.jar。当在Apache Jmeter中为测试脚本选择ESB客户端时,可以实现将客户端API导入至所述测试脚本。也就是说,当在Apache Jmeter中为测试脚本选择ESB客户端时,HTTPEsbClientImpl.java可自动为所述测试脚本导入ESBClientAPI.jar。
步骤S402,配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息。
在一实施例中,所述ESB系统作为一对外服务的系统,需同时支持多个外围系统的调用,一个ESB接口可能存在多个消费者情况。也就是说,对一个ESB接口做完整的测试需要模拟多个外围系统发起数据调用。在测试过程中使用ESB系统访问真实的外围系统是不现实的,一方面不能保证数据安全,另一面无法获取测试所需要的相关信息,所以需要配置所述ESB模拟业务流程,以实现模拟多个外围系统发起对所述ESB接口的数据调用。
在一实施例中,在配置ESB模拟业务流程后,可获取所述ESB接口的请求报文,所述请求报文携带有消费者标识消息,可以对所述请求报文进行解析来得到所述请求报文的消费者标识信息。
在一实施例中,所述消费者标识信息优选具有唯一性。举例而言,所述消费者标识信息可以是消费者ID。解析所述请求报文的过程即是遵循ESB协议规定的内容去解析所述请求报文(比如调用专门的报文解析封装类可实现对请求报文进行解析),以获取所述请求报文包含的信息,比如所述消费者标识信息。
在一实施例中,配置ESB模拟业务流程的具体方式包括:接收定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
在一实施例中,所述测试启动指令可以通过Quartz框架定时发出。所述Quartz框架的主要核心组件包括调度器、触发器、作业。所述调度器可以作为所述作业的总指挥。所述触发器可以作为所述作业的操作者。所述作业为应用的功能模块。所述Quartz框架可以是一个完全由Java编写的开源任务调度框架。所述Quartz框架可以通过所述触发器设置所述作业定时运行规则,控制所述作业的运行时间。其中,所述Quartz框架可通过故障切换和负载平衡的功能给所述调度器带来高可用性和伸缩性。所述Quartz框架主要用来执行定时任务,如:定时发送信息、定时生成报表等。通过所述Quartz框架定时发出测试启动指令,可实现测试的无人值守、自动定时测试,可以把非上班时间利用起来,有效的避免资源使用的冲突和干扰,可以充分利用时间,提高效率。
在一实施例中,接收所述Quartz框架定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
步骤S404,根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥。
在一实施例中,所述密钥可以实现对请求报文进行加密及解密操作。所述密钥可以包括主密钥、密钥交换密钥、数据密钥。所述主密钥用于加密所述密钥交换密钥和所述数据密钥作本地存储,所述密钥交换密钥用于加密所述数据密钥作网络传输。所述数据密钥用于对数据进行加解密。所述密钥可以基于对称算法、非对称算法及摘要算法得到。
在一实施例中,根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥的具体方式包括:
D11.建立映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥;
D12.根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
在一实施例中,以所述ESB专用协议接口属于银行应用环境为例。所述ESB系统为每个外围系统分配不同的加解密密钥,以对应不同的消费者。如果对一个ESB接口做完整的测试必须配置不同的加解密密钥来对应不同的消费者,可以预先将所有的ESB加解密的密钥根据所述消费者标识信息导入至所述Apache JMeter,进而可以根据获取得到的所述消费者标识信息来调用不同的密钥。具体地,可以建立一个映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥。
在一实施例中,每个消费者均有专属的加解密密钥。当解析得到所述消费者标识信息后,可以根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
步骤S406,调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本。
在一实施例中,当获取得到消费者专属的加解密密钥后,可发起调用所述客户端API,并通过所述客户端API传入预设参数至所述测试脚本。所述预设参数可以包括所述请求报文、所述消费者标识信息及与所述消费者标识信息对应的密钥。即步骤S406可以是:调用所述客户端API,并基于所述客户端API传入所述请求报文、所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本。
步骤S408,获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。
在一实施例中,获取所述客户端API(ESBClientAPI.jar)输出的调用结果,所述Apache Jmeter可以利用所述测试脚本对所述调用结果进行测试分析得到测试结果。所述测试结果可以是HTML格式的测试报告,可以将生成的HTML格式的测试报告放置在预设Web网站的指定位置,用户可随时访问这个Web网站,并且点击HTML格式的测试报告即可以获取到完整的测试报告。所述测试结果也可以被设定通过邮件发送给指定用户。
上述ESB专用协议接口测试方法,首先在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;其次配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;再者根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;再者调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;最后获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。从而,可以使得Apache Jmeter支持ESB专用协议,从而利用Apache Jmeter对ESB专用协议接口进行测试,且可在测试过程中模拟多个外围系统发起数据请求,减少测试场景配置和工作量,可提高测试效率及准确性。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种ESB专用协议接口测试方法,应用于服务器,其特征在于,所述ESB专用协议接口测试方法包括步骤:
在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;
配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;
根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;
调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;及
获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。
2.如权利要求1所述的ESB专用协议接口测试方法,其特征在于,所述配置ESB模拟业务流程的步骤包括:
接收定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
3.如权利要求2所述的ESB专用协议接口测试方法,其特征在于,所述测试启动指令通过Quartz框架定时发出。
4.如权利要求3所述的ESB专用协议接口测试方法,其特征在于,所述根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥的步骤包括:
建立映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥;及
根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
5.如权利要求1-4任意一项所述的ESB专用协议接口测试方法,其特征在于,所述通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本的步骤还包括:
通过所述客户端API传入所述请求报文至所述测试脚本。
6.一种服务器,其特征在于,所述服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的ESB专用协议接口测试系统,所述ESB专用协议接口测试系统被所述处理器执行时实现如下步骤:
在Apache Jmeter中建立基于Http协议的测试脚本,并将ESB接口的客户端API导入至所述测试脚本;
配置ESB模拟业务流程,以获取并解析所述ESB接口的请求报文得到消费者标识信息;
根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥;
调用所述客户端API,以通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本;及
获取所述客户端API输出的调用结果,并利用所述测试脚本对所述调用结果进行测试分析得到测试结果。
7.如权利要求6所述的服务器,其特征在于,所述配置ESB模拟业务流程的步骤包括:
接收定时发出的测试启动指令,并根据所述测试启动指令配置所述ESB模拟业务流程。
8.如权利要求7所述的服务器,其特征在于,所述根据所述消费者标识信息获取用于对所述请求报文进行加解密的密钥的步骤包括:
建立映射表,所述映射表包含有多个消费者标识信息与多个密钥,且一消费者标识信息唯一对应一密钥;及
根据所述消费者标识信息查找所述映射表以获取用于对所述请求报文进行加解密的密钥。
9.如权利要求6-8任意一项所述的服务器,其特征在于,所述通过所述客户端API传入所述消费者标识信息及与所述消费者标识信息对应的密钥至所述测试脚本的步骤还包括:
通过所述客户端API传入所述请求报文至所述测试脚本。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有ESB专用协议接口测试系统,所述ESB专用协议接口测试系统可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-5中任一项所述的ESB专用协议接口测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910422055.4A CN110287070B (zh) | 2019-05-21 | 2019-05-21 | Esb专用协议接口测试方法、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910422055.4A CN110287070B (zh) | 2019-05-21 | 2019-05-21 | Esb专用协议接口测试方法、服务器及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287070A true CN110287070A (zh) | 2019-09-27 |
CN110287070B CN110287070B (zh) | 2024-03-19 |
Family
ID=68001972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910422055.4A Active CN110287070B (zh) | 2019-05-21 | 2019-05-21 | Esb专用协议接口测试方法、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287070B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988588A (zh) * | 2021-03-26 | 2021-06-18 | 广州博冠信息科技有限公司 | 客户端软件调试方法、装置、存储介质及电子设备 |
CN117707875A (zh) * | 2024-02-06 | 2024-03-15 | 西安简矽技术有限公司 | 一种测试硬件电路连接的生成方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757825B1 (en) * | 1999-07-13 | 2004-06-29 | Lucent Technologies Inc. | Secure mutual network authentication protocol |
CN103067173A (zh) * | 2012-12-26 | 2013-04-24 | 武汉天喻信息产业股份有限公司 | 基于脚本的动态密钥网络签发和界面控制方法及系统 |
CN103246606A (zh) * | 2013-04-26 | 2013-08-14 | 广东电网公司电力科学研究院 | Esb平台的性能方法和系统 |
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
CN107832207A (zh) * | 2017-10-16 | 2018-03-23 | 深圳市牛鼎丰科技有限公司 | 接口性能测试方法、装置、存储介质和计算机设备 |
CN109510737A (zh) * | 2018-12-14 | 2019-03-22 | 深圳壹账通智能科技有限公司 | 协议接口测试方法、装置、计算机设备和存储介质 |
-
2019
- 2019-05-21 CN CN201910422055.4A patent/CN110287070B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757825B1 (en) * | 1999-07-13 | 2004-06-29 | Lucent Technologies Inc. | Secure mutual network authentication protocol |
CN103067173A (zh) * | 2012-12-26 | 2013-04-24 | 武汉天喻信息产业股份有限公司 | 基于脚本的动态密钥网络签发和界面控制方法及系统 |
CN103246606A (zh) * | 2013-04-26 | 2013-08-14 | 广东电网公司电力科学研究院 | Esb平台的性能方法和系统 |
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
CN107832207A (zh) * | 2017-10-16 | 2018-03-23 | 深圳市牛鼎丰科技有限公司 | 接口性能测试方法、装置、存储介质和计算机设备 |
CN109510737A (zh) * | 2018-12-14 | 2019-03-22 | 深圳壹账通智能科技有限公司 | 协议接口测试方法、装置、计算机设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988588A (zh) * | 2021-03-26 | 2021-06-18 | 广州博冠信息科技有限公司 | 客户端软件调试方法、装置、存储介质及电子设备 |
CN112988588B (zh) * | 2021-03-26 | 2023-11-28 | 广州博冠信息科技有限公司 | 客户端软件调试方法、装置、存储介质及电子设备 |
CN117707875A (zh) * | 2024-02-06 | 2024-03-15 | 西安简矽技术有限公司 | 一种测试硬件电路连接的生成方法 |
CN117707875B (zh) * | 2024-02-06 | 2024-05-14 | 西安简矽技术有限公司 | 一种测试硬件电路连接的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110287070B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325855B (zh) | 区块链网络、部署方法及存储介质 | |
CN110532169A (zh) | 接口测试用例生成方法、装置、计算机设备及存储介质 | |
US10884826B2 (en) | System and method for establishing common request processing | |
CN110442524A (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
CN107766040A (zh) | 一种生成接口文档的方法、装置及计算机可读存储介质 | |
CN108768730A (zh) | 用于操作智能网卡的方法和装置 | |
CN106341233A (zh) | 客户端登录服务器端的鉴权方法、装置、系统及电子设备 | |
CN113014676A (zh) | 一种基于sim卡的物联网数据存储到区块链的系统及方法 | |
CN110955724A (zh) | 基于区块链的数据处理方法、装置、节点设备及存储介质 | |
CN112764751A (zh) | 接口生成方法和装置、接口请求方法和装置及存储介质 | |
CN108664625B (zh) | 一种跨系统数据同步方法及装置 | |
CN112035344A (zh) | 多场景测试方法、装置、设备和计算机可读存储介质 | |
CN109241722A (zh) | 用于获取信息的方法、电子设备和计算机可读介质 | |
CN110287070A (zh) | Esb专用协议接口测试方法、服务器及计算机可读存储介质 | |
CN111444090B (zh) | 区块链中的合约测试方法、装置、电子设备及存储介质 | |
Kullig et al. | Prototype implementation and evaluation of a blockchain component on IoT devices | |
CN112615759A (zh) | 全链路压测组件、全链路压测方法及装置 | |
CN105556918B (zh) | 一种资源下载方法及电子设备 | |
CN108880923A (zh) | 应用于应用服务器的监控操作请求的方法和装置 | |
CN110109684A (zh) | 区块链节点管理代理服务安装方法、电子装置及存储介质 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
CN109828830A (zh) | 用于管理容器的方法和装置 | |
CN111698310B (zh) | 基于swift网络的多测试环境调度方法及装置 | |
CN109814915A (zh) | 基于lua的参数配置方法、装置、介质和电子设备 | |
CN107395663B (zh) | 数据获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |