本发明专利技术提供一种WCF服务测试的方法,能够在测试框架内实现对WCF服务的自动化测试;并且测试过程的维护成本较低,提高了测试效率。该方法包括:录制WCF客户端调用待测WCF服务的过程;将录制生成的数据转化为Jmeter测试脚本;在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试。
Method for testing WCF service
The invention provides a method for testing the WCF service, which can realize the automatic test of the WCF service in the testing framework, and the maintenance cost of the testing process is low, and the testing efficiency is improved. The method includes: recording a WCF client to invoke the WCF service to be measured; recording data generated into the Jmeter test script; in the Jmeter test framework by calling the bridge for the service test test WCF services.
【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及一种WCF服务测试的方法。
技术介绍
WCF,即WindowsCommunicationFoundation,是微软.NET平台下的通信框架,开发人员可以使用它来编写服务程序。该框架支持HTTP,TCP,UDP,MSMQ,P2P等多种通信协议。目前常用的对用该框架编写的服务程序进行测试的方法主要是通过测试人员手动编写代码来调用服务,缺少一种更加高效的测试方法。
技术实现思路
有鉴于此,本专利技术提供一种WCF服务测试的方法,能够在测试框架内实现对WCF服务的自动化测试;并且测试过程的维护成本较低,提高测试效率。为实现上述目的,本专利技术提供了一种WCF服务测试的方法。本专利技术的WCF服务测试的方法包括:录制WCF客户端调用待测WCF服务的过程;将录制生成的数据转化为Jmeter测试脚本;在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试。可选地,录制WCF客户端调用待测WCF服务的过程包括:修改所述WCF客户端的配置文件,开启所述WCF客户端的trace功能;录制所述WCF客户端调用待测WCF服务的过程,生成WCFtrace日志;解析所述WCFtrace日志,并保存解析的数据。可选地,所述WCFtrace日志中包括:所述WCF客户端对所述待测WCF服务调用的请求消息全文、待测WCF服务的地址、端口。可选地,在在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试之前,将所述Jmeter测试脚本进行参数化。可选地,在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试包括:在所述Jmeter测试框架中调用所述桥接服务;所述桥接服务接收所述Jmeter测试框架的调用请求并解析所述调用请求中的数据;所述桥接服务将所述调用请求中的数据通过和所述WCF客户端与所述待测WCF服务之间的通信协议相同的通信协议发送给待测WCF服务;所述桥接服务获取所述待测WCF服务的响应内容,并将所述响应内容返回所述Jmeter测试框架。可选地,所述桥接服务为在WCF框架内实现的WCF桥接服务。可选地,当所述待测WCF服务变更时,重新录制所述WCF客户端调用待测WCF服务的过程,并变更桥接服务代码。根据本专利技术的技术方案,通过修改WCF客户端的配置文件以开启trace功能,从而实现对WCF客户端调用待测WCF服务的过程的录制;通过将录制所得的数据转化为Jmeter测试脚本,从而能够使得普通测试人员在较熟悉的Jmeter测试工具中模拟多个客户端并发调用WCF服务,实现自动化测试,并且在测试技术门槛降低的同时,还可以与其他Jmeter内置测试方法集成;通过利用桥接服务,能够将调用请求通过和WCF客户端与WCF服务通信协议一致的通信协议发送给待测WCF服务,从而将来自Jmeter测试框架的调用转为对待测WCF服务的调用,能够使测试框架的“回放”功能与真实的WCF客户端调用一致;此外,当待测WCF服务接口变更时,通过重新录制WCF客户端调用待测WCF服务的过程以及变更桥接服务代码,能够实现对自动化测试的维护,测试脚本维护成本低,从而提高WCF服务测试的效率。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的WCF服务测试的方法的主要步骤的示意图;图2是根据本专利技术实施例的WCF服务测试的方法的主要流程的示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的WCF服务测试的方法的主要步骤的示意图。如图1所示,本专利技术实施例的WCF服务测试的方法主要包括如下步骤:步骤S11:录制WCF客户端调用待测WCF服务的过程。在WCF框架内编写的服务,可通过WCF客户端进行测试。WCF客户端测试WCF服务的过程可以通过修改WCF客户端的配置文件进行录制。WCF本身支持trace功能,通过修改配置文件可以开启客户端trace功能,从而将对WCF服务调用的请求消息全文,调用服务的地址等内容记录在指定文件(即通常所说的WCFtrace日志)中。本专利技术中通过解析WCFtrace日志,并将数据存储在内存中的链表中,以获取测试人员在操作WCF客户端时产生的调用服务的请求的消息内容,服务地址等对于“回放”功能来说必须的数据,完成“录制”功能。因此,本专利技术中WCFtrace日志中主要保存了:请求消息全文,服务端地址,端口等信息。录制完成后,还需要将录制所得的数据转化为测试脚本,才能在测试框架内实现“回放”。因此,在本步骤的录制之后,从步骤S12继续处理。步骤S12:将录制生成的数据转化为Jmeter测试脚本。在本专利技术中,将录制所得的数据转化为测试脚本。录制模块生成的脚本可以是其他测试框架的测试脚本,在本专利技术的实施例中,生成Jmeter测试脚本。通过将录制数据转化为Jmeter测试脚本,从而能够使得普通测试人员在较熟悉的Jmeter测试工具中模拟多个客户端并发调用WCF服务,实现自动化测试,并且在测试技术门槛降低的同时,还可以与其他Jmeter内置测试方法集成。当然,录制生成的测试脚本也可以是其他测试框架的测试脚本,可以实现“回放”功能即可。步骤S13:在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试。通过步骤S12中,将录制生成的数据转化为Jmeter测试脚本,从而能够在Jmeter测试框架内实现“回放”功能。在“回放”之前,通常需要将修改Jmeter测试脚本,将调用参数进行参数化,通过将调用参数抽取出来进行参数化,做到数据驱动调用服务端接口。此外,参数化的Jmeter测试脚本还可以与其他Jmeter内置测试方法集成。对测试脚本进行参数化之后,在测试框架内进行测试脚本的回放。本专利技术中,利用Jmeter测试框架,模拟多个客户端并发调用WCF服务实现性能测试。具体而言,本专利技术实施例中使用HTTP采样器进行调用。但是,由于待测WCF客户端与WCF服务的调用可以使用诸多通信协议(namedpipe、TCP、UDP等),而本专利技术的回放方案为Jmeter测试工具驱动的HTTP请求,因此,需要一个中转模块将HTTP调用请求转化为通过和WCF客户端与待测WCF服务通信一致的通信协议发送给待测WCF服务的请求。在本专利技术中,在WCF框架来模拟这个中转模块,称之为“WCF桥接服务”。此外,中转模块还可以不在WCF框架内实现,即“桥接模块”,只要能够实现将HTTP调用请求转化为通过和WCF客户端与WCF服务通信一致的通信协议发送给待测WCF服务即可。由于WCF服务的传输和应用层分离特性,该部分的代码非常少。服务契约(指WCF服务与WCF客户端约定的通信方式和传输数据格式)可以直接复用待测服务端,只需要修改传输层配置(即修改服务契约中的通信方式)即可实现WCF桥接。在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试包括:在所述Jmeter测本文档来自技高网...
【技术保护点】
一种WCF服务测试的方法,其特征在于,包括:录制WCF客户端调用待测WCF服务的过程;将录制生成的数据转化为Jmeter测试脚本;在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试。
【技术特征摘要】
1.一种WCF服务测试的方法,其特征在于,包括:录制WCF客户端调用待测WCF服务的过程;将录制生成的数据转化为Jmeter测试脚本;在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测试。2.根据权利要求1所述的方法,其特征在于,录制WCF客户端调用待测WCF服务的过程包括:修改所述WCF客户端的配置文件,开启所述WCF客户端的trace功能;录制所述WCF客户端调用待测WCF服务的过程,生成WCFtrace日志;解析所述WCFtrace日志,并保存解析的数据。3.根据权利要求2所述的方法,其特征在于,所述WCFtrace日志中包括:所述WCF客户端对所述待测WCF服务调用的请求消息全文、待测WCF服务的地址、端口。4.根据权利要求1所述的方法,其特征在于,在在Jmeter测试框架内通过调用桥接服务对所述待测WCF服务进行测...
【专利技术属性】
技术研发人员:陈吉,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。