Remoting接口测试工具
动手写一个Remoting接口测试工具
基于.NET开发分布式系统,经常用到Remoting技术。在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间。所以,我想写一个能自动测试remoting接口的小工具InterfaceTester。而且,当分布式系统中的某个remoting接口出现bug时,该小工具可以提交需要模拟的数据,以便在调试remoting服务的环境中,快速定位和解决bug。
InterfaceTester运行起来后的效果如下图:

1.如何使用
(1)首先,填上要测试的并且是已经发布的Remoting服务的地址信息。
(2)选取要测试的remoting接口所在的程序集,一般是一个dll。选定程序集后,InterfaceTester会自动搜索该程序集中定义的所有接口,并将其绑定到“接口类型”的下拉列表。
(3)从 “接口类型”的下拉列表中选择要测试的接口。选定接口后,InterfaceTester会自动搜索该接口中定义的所有方法,并将其绑定到“目标方法”的下拉列表。
(4)从 “目标方法”的下拉列表中选择要测试的方法,InterfaceTester会根据该方法所要求的参数,自动生成参数录入界面。
(5)在参数录入界面上,输入用于测试的参数的值,然后,点击“调用”按钮, InterfaceTester便会调用上述指定地址的remtoing服务的指定接口的指定方法,如果调用的方法有返回值,则会在“调用返回”的panel上显示该值。如果返回的不是一个简单类型,而是一个对象,则“调用返回”的panel上将会以xml的形式显示这个对象的各个属性值。
2.实现原理
就这个小工具的实现而言,主要用到的技术就是反射(reflection)。另外,需要注意的就是,根据参数的类型,生成录入界面。具体细节大家可以参见源码。目前,InterfaceTester支持的被测试方法的参数类型是有限制的:
(1)支持简单的数据类型,像string、int、bool等。
(2)支持List<>、I List<>、IDictionary<,>、Dictionary<,>等集合类型。
(3)支持简单的数据结构的class(如像Point、自定义的Entity等)。
3.源码解决方案
下载源码并用VS打开后,解决方案下有三个项目:InterfaceTester、DemoInterface、DemoService。
(1)InterfaceTester项目是我们本文的主角:用于remoting接口测试的小工具。
(2)DemoInterface和 DemoService则是为了试试小工具而构建的一个小demo。 DemoInterface定义了发布的remoting服务的接口, DemoService则是发布的remoting服务。
在试用时,先启动 DemoService项目,再启动InterfaceTester,就可以试试我们的小工具功能了。
4.源码下载
针对这个remoting接口测试小工具,大家如果有什么好的建议,请留言告诉我:)
C#专栏
各种C#或.NET技术问题讨论
动手写一个Remoting接口测试工具
posted @ 2014-05-14 11:17 zhuweisky 阅读(437) | 评论 (1) 编辑
让OMCS支持更多的视频采集设备
posted @ 2014-04-08 09:30 zhuweisky 阅读(102) | 评论 (0) 编辑
C#实现录制屏幕
posted @ 2014-03-11 15:31 zhuweisky 阅读(1821) | 评论 (27) 编辑
在服务器端录制语音视频
posted @ 2014-01-10 09:42 zhuweisky 阅读(1046) | 评论 (3) 编辑
移植到Windows CE 的经验
posted @ 2013-12-28 10:02 zhuweisky 阅读(684) | 评论 (6) 编辑
通信服务器群集、跨服务器通信Demo(源码)
posted @ 2013-10-15 11:24 zhuweisky 阅读(1689) | 评论 (7) 编辑
为程序集添加强签名
posted @ 2013-09-24 11:49 zhuweisky 阅读(43) | 评论 (0) 编辑
客户端服务器通信demo(续) -- 使用二进制协议 (附源码)
posted @ 2013-09-05 15:22 zhuweisky 阅读(1514) | 评论 (6) 编辑
分贝显示器,实时显示声音强度(附源码)
posted @ 2013-08-25 19:46 zhuweisky 阅读(1502) | 评论 (2) 编辑
摄像头、麦克风、扬声器测试程序(附源码)
posted @ 2013-08-20 09:01 zhuweisky 阅读(1827) | 评论 (7) 编辑
客户端服务器通信demo(附源码)
posted @ 2013-06-17 10:29 zhuweisky 阅读(3337) | 评论 (10) 编辑
泛型KMP算法
posted @ 2013-06-06 10:06 zhuweisky 阅读(1309) | 评论 (4) 编辑
广播与P2P通道(下) -- 方案实现
posted @ 2013-04-27 09:35 zhuweisky 阅读(1671) | 评论 (2) 编辑
广播与P2P通道(上) -- 问题与方案
posted @ 2013-04-25 20:19 zhuweisky 阅读(1310) | 评论 (3) 编辑
调用非托管dll常出现的bug及解决办法
posted @ 2013-01-09 10:45 zhuweisky 阅读(1430) | 评论 (2) 编辑
实现语音视频录制(demo源码)
posted @ 2012-12-21 10:14 zhuweisky 阅读(2932) | 评论 (17) 编辑
P2P直连?经服务器中转?
posted @ 2012-12-06 11:21 zhuweisky 阅读(2242) | 评论 (1) 编辑
实现简单的手写涂鸦板(demo源码)
posted @ 2012-10-31 15:01 zhuweisky 阅读(2307) | 评论 (4) 编辑
实现类似QQ自拍头像的功能(demo源码)
posted @ 2012-10-26 20:44 zhuweisky 阅读(2776) | 评论 (13) 编辑
在Web中如何使用Windows控件?
posted @ 2012-09-14 10:11 zhuweisky 阅读(2845) | 评论 (17) 编辑
如何实现离线文件?
posted @ 2012-09-13 13:49 zhuweisky 阅读(2727) | 评论 (3) 编辑
让你的Socket应用兼容IPv6
posted @ 2012-07-18 16:09 zhuweisky 阅读(3764) | 评论 (2) 编辑
AutoResetEvent 的诡异行为
posted @ 2012-06-13 11:56 zhuweisky 阅读(2214) | 评论 (4) 编辑
“配置系统未能初始化” 异常解决
posted @ 2012-02-15 16:31 zhuweisky 阅读(7762) | 评论 (8) 编辑
奇异的Pinvoke调用
posted @ 2011-07-07 09:07 zhuweisky 阅读(873) | 评论 (3) 编辑
铁血规则:事件预订与取消预订
posted @ 2011-04-07 17:19 zhuweisky 阅读(1837) | 评论 (5) 编辑
应用Composite模式
posted @ 2011-03-22 11:03 zhuweisky 阅读(1544) | 评论 (2) 编辑
Win7下的DragDrop事件不触发?
posted @ 2011-01-22 11:04 zhuweisky 阅读(2366) | 评论 (7) 编辑
在.NET中使用Speex -- 音频数据编解码
posted @ 2010-09-16 10:57 zhuweisky 阅读(4400) | 评论 (50) 编辑
如何自动以管理员身份运行.NET程序?
posted @ 2010-08-27 11:44 zhuweisky 阅读(4474) | 评论 (13) 编辑
Form或UserControl接收不到KeyDown等事件?
posted @ 2010-07-10 15:00 zhuweisky 阅读(877) | 评论 (0) 编辑
关于重复绑定TCP端口的疑惑?
posted @ 2010-05-26 11:42 zhuweisky 阅读(1179) | 评论 (3) 编辑
.NET做的画图板,试用一下!
posted @ 2010-04-30 09:31 zhuweisky 阅读(1375) | 评论 (6) 编辑
在应用程序之间传递动态程序集
posted @ 2009-08-13 10:14 zhuweisky 阅读(3166) | 评论 (10) 编辑
关于【对象“***.rem”已经断开连接或不在服务器上】异常的解决方法
posted @ 2009-08-11 11:39 zhuweisky 阅读(1229) | 评论 (2) 编辑
DCFramework 动态分布式计算框架(01)-- 基础结构
posted @ 2009-05-28 18:05 zhuweisky 阅读(2549) | 评论 (7) 编辑
DCFramework 动态分布式计算框架(00) -- 序
posted @ 2009-05-28 09:29 zhuweisky 阅读(3180) | 评论 (14) 编辑
TopN算法与排行榜
posted @ 2009-05-23 11:10 zhuweisky 阅读(4330) | 评论 (14) 编辑
如何突破.NET内存限制?
posted @ 2009-01-05 10:56 zhuweisky 阅读(3392) | 评论 (15) 编辑
Spring.net 的一个bug ?
posted @ 2008-12-08 11:48 zhuweisky 阅读(2077) | 评论 (1) 编辑
Remoting方法重载遇到的一个问题
posted @ 2008-11-28 10:20 zhuweisky 阅读(2201) | 评论 (2) 编辑
锁定与并发
posted @ 2008-11-26 09:42 zhuweisky 阅读(2646) | 评论 (5) 编辑
A*算法的C#实现
posted @ 2008-10-22 16:31 zhuweisky 阅读(6942) | 评论 (27) 编辑
Remoting插件与网关设置
posted @ 2008-06-18 11:09 zhuweisky 阅读(720) | 评论 (0) 编辑
Spring.net -- 目前不支持getter、setter的访问限定符
阅读全文
posted @ 2008-05-29 18:39 zhuweisky 阅读(1949) | 评论 (3) 编辑
你知道 typeof(void) 吗?
posted @ 2008-05-21 10:31 zhuweisky 阅读(4168) | 评论 (18) 编辑
.NET Remoting与双网卡
posted @ 2007-09-21 23:34 zhuweisky 阅读(1732) | 评论 (5) 编辑
TCP连接与防火墙
posted @ 2007-09-16 14:58 zhuweisky 阅读(1543) | 评论 (1) 编辑
【C#2.0】发挥匿名委托的威力!
posted @ 2007-08-04 20:14 zhuweisky 阅读(6668) | 评论 (10) 编辑
Socket与拔掉网线
posted @ 2007-05-28 17:10 zhuweisky 阅读(4418) | 评论 (4) 编辑
通过Spring.net发布Remoting
posted @ 2007-05-26 11:26 zhuweisky 阅读(3963) | 评论 (7) 编辑
注解:System.Threading.Timer
posted @ 2007-03-16 13:46 zhuweisky 阅读(4990) | 评论 (5) 编辑
自动化 object <-> xml
阅读全文
posted @ 2007-03-02 08:52 zhuweisky 阅读(2854) | 评论 (5) 编辑
使用Null Object设计模式
阅读全文
posted @ 2007-02-28 19:34 zhuweisky 阅读(5757) | 评论 (15) 编辑
MSMQ与Hashtable
posted @ 2006-11-16 12:31 zhuweisky 阅读(2376) | 评论 (3) 编辑
基于MSMQ使用WCF
posted @ 2006-11-09 11:56 zhuweisky 阅读(6736) | 评论 (12) 编辑
反射中使用 BindingFlags.IgnoreCase
posted @ 2006-07-26 11:38 zhuweisky 阅读(1924) | 评论 (3) 编辑
Java -- 在Eclipse上使用XFire开发WebService
posted @ 2006-06-01 15:55 zhuweisky 阅读(30910) | 评论 (18) 编辑
Java -- 在Eclipse上使用Spring
posted @ 2006-05-30 19:48 zhuweisky 阅读(5751) | 评论 (2) 编辑
Java -- 在Eclipse上使用Hibernate
posted @ 2006-05-30 15:08 zhuweisky 阅读(15873) | 评论 (12) 编辑
NHibernate 与Oracle 点滴
posted @ 2006-05-19 10:45 zhuweisky 阅读(3226) | 评论 (5) 编辑
【C#2.0】点滴(不断补充中......)
posted @ 2006-05-08 15:55 zhuweisky 阅读(2658) | 评论 (7) 编辑
撤销与反撤销 功能实现
posted @ 2006-04-30 09:49 zhuweisky 阅读(4275) | 评论 (11) 编辑
使用NHibernate的你也许需要SessionQuicker
posted @ 2006-04-28 09:40 zhuweisky 阅读(1654) | 评论 (5) 编辑
初试Ajax.Net !
posted @ 2006-04-19 10:08 zhuweisky 阅读(4608) | 评论 (14) 编辑
将权限引入系统的探索
posted @ 2006-04-08 22:39 zhuweisky 阅读(2481) | 评论 (5) 编辑
【Spring.net点滴】
posted @ 2006-03-29 10:17 zhuweisky 阅读(2387) | 评论 (5) 编辑
VS小插件--属性自动生成器
posted @ 2006-03-24 16:01 zhuweisky 阅读(3267) | 评论 (17) 编辑
ZipHelper 修正
posted @ 2006-03-09 11:49 zhuweisky 阅读(936) | 评论 (2) 编辑
压缩与解压缩 ZipHelper
posted @ 2006-03-06 09:40 zhuweisky 阅读(3014) | 评论 (11) 编辑
C#播放rm文件
posted @ 2006-02-15 11:14 zhuweisky 阅读(5018) | 评论 (14) 编辑
关于跨程序集的反射(续)
posted @ 2006-01-06 14:44 zhuweisky 阅读(2040) | 评论 (5) 编辑
.NET平台下可复用的Tcp通信层实现(续)
posted @ 2006-01-05 11:13 zhuweisky 阅读(4140) | 评论 (8) 编辑
.NET平台下可复用的Tcp通信层实现
posted @ 2006-01-04 15:40 zhuweisky 阅读(7586) | 评论 (15) 编辑
包装你的Session,使Session对象化
posted @ 2005-12-31 17:20 zhuweisky 阅读(1651) | 评论 (4) 编辑
插件的“动态替换”
posted @ 2005-12-30 15:26 zhuweisky 阅读(3470) | 评论 (10) 编辑
使用 AOP 陷阱之一
posted @ 2005-12-27 15:37 zhuweisky 阅读(694) | 评论 (0) 编辑
Remoting Event 远程事件
posted @ 2005-12-16 15:33 zhuweisky 阅读(2068) | 评论 (2) 编辑
分页管理器实现
posted @ 2005-12-14 09:48 zhuweisky 阅读(2066) | 评论 (4) 编辑
动态调用web服务
posted @ 2005-12-07 13:25 zhuweisky 阅读(9869) | 评论 (14) 编辑
使用 EmptyClass 避免条件判断
posted @ 2005-12-07 12:49 zhuweisky 阅读(1361) | 评论 (1) 编辑
Effective C# 精髓 (待续)
posted @ 2005-11-25 16:54 zhuweisky 阅读(821) | 评论 (0) 编辑
某公司的一道机考题的解答
posted @ 2005-10-16 11:54 zhuweisky 阅读(2897) | 评论 (20) 编辑
路径规划(最短路径)算法C#实现
posted @ 2005-09-29 14:38 zhuweisky 阅读(34161) | 评论 (35) 编辑
推荐所有的.NET开发人员阅读《J2EE Development without EJB》
posted @ 2005-09-29 11:15 zhuweisky 阅读(3158) | 评论 (15) 编辑
EsbAOP应用--权限管理
posted @ 2005-09-28 12:06 zhuweisky 阅读(1963) | 评论 (1) 编辑
EsbAOP应用--异常关闭器
posted @ 2005-09-28 08:42 zhuweisky 阅读(566) | 评论 (1) 编辑
EnterpriseServerBase的AOP--EsbAOP实现
posted @ 2005-09-28 08:41 zhuweisky 阅读(860) | 评论 (1) 编辑
关于跨程序集的反射
posted @ 2005-09-23 12:52 zhuweisky 阅读(2554) | 评论 (3) 编辑
异步调用轻量级封装AsynCaller
posted @ 2005-09-23 09:44 zhuweisky 阅读(1419) | 评论 (1) 编辑
C++ 事件机制实现
posted @ 2005-09-10 22:35 zhuweisky 阅读(6498) | 评论 (5) 编辑
Remoting接口测试工具的更多相关文章
- 动手写一个Remoting接口测试工具(附源码下载)
基于.NET开发分布式系统,经常用到Remoting技术.在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间.所以,我想写一个能自 ...
- C#进阶系列——WebApi 接口测试工具:WebApiTestClient
前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...
- postman接口测试工具3.0版本的坑
今天用postman接口测试工具3.0版本被坑,找了半天,原来postman这个新版本有个坑啊 下面的get参数,第一行不管你填不填,都是无效的,可能是postman的一个bug吧
- python接口自动化(四)--接口测试工具介绍(详解)
简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进行接口测试,能够提供 ...
- Jmeter、Postman 、 loadrunner SoapUI 接口测试工具
一. loadrunner 简称 LR 二. Jmeter 1.安装包:apache-jmeter-4.0.tgz 解压.学会此工具的使用 和POSTman 一样的. 2.本机测试:双击apa ...
- 数据接口测试工具 Postman 介绍
此文介绍好用的数据接口测试工具 Postman,能帮助您方便.快速.统一地管理项目中使用以及测试的数据接口. 1. Postman 简介 Postman 一款非常流行的 API 调试工具.其实,开发人 ...
- JavaScript之简易http接口测试工具网页版
简易http接口测试工具网页版,支持get.post请求,支持json格式消息体,form表单暂不支持. httpClient.html <!DOCTYPE html> <html ...
- SoapUI、Jmeter、Postman三种接口测试工具的比较分析
前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...
- 接口测试工具SoapUI Pro5.1.2基本使用20150920
soapui是接口测试工具,最近因为要做接口测试,使用了下,现在和大家分享下: 工具安装很简单,就不说了,直接说使用,先什么都不说,照着操作一遍,我们拿天气预报的webserver来实战: 主要包括: ...
随机推荐
- 国产与第三方库FFmpeg SDK
一个.编译并安装第三方库 1. libfaac # tar -zxvf faac-1.28.tar.gz # cd faac-1.28 # ./configure --prefix=/opt/YOUR ...
- 在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table)
原文:在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table) 打印指定内容: <html> <head> <script type= " ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这 ...
- C/C++各种类型int、long、double、char表示范围(最大和最小)
#include<iostream> #include<string> #include <limits> using namespace std; int mai ...
- Asp.Net超时问题汇总
在数据库或者请求操作时,如果选择的时间段过短或操作数据量过大,就会遇到"请求超时"的的问题,网络上提供很多解决方案,但普遍不完善,根据个人经验及参考网络解决方案,先将其汇总如下: ...
- C#-简单的定时器(C# ConsoleApp) ---ShinePans
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hpbmVwYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- 【百度地图API】如何使用suggestion--下拉列表方式的搜索建议
原文:[百度地图API]如何使用suggestion--下拉列表方式的搜索建议 摘要: 百度地图上有一个很强大的搜索建议功能,以下拉列表的方式展示出来.比如,输入“百度”,下拉列表中就会出现“北京市海 ...
- F4107Usart数据处理程序
解决:Cortex-M4上,usart自己主动发送数据计划. 1. usart快速突破.数据还没有被处理.usart中断会把盖掉的数据不被处理. 数据丢失. 2.此过程需要main处理4一个usart ...
- ORA-00932: inconsistent datatypes: expected - got CLOB
从最近的数据库10.2.0.3升级到10.2.0.5之后,一些对象可以不被编译.查看这些对象的主列表不严格写入之前现在SQL这些语法结果package无法成功编译,诸如select查询列中不能使用混淆 ...
- signalR例子
不用找了,比较全的signalR例子已经为你准备好了. 这几天想着将一个winform的工具上线到web上,因为对时时性的要求比较高,找朋友咨询了一下推荐了SignlarR 框架,比较强大.昨天才 ...