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来实战: 主要包括: ...
随机推荐
- STL algorithm算法min,min_element(35)
min样板: std::min C++98 C++11 C++14 default (1) template <class T> const T& min (const T& ...
- hdu 4975 最大流问题解决队伍和矩阵,利用矩阵dp优化
//刚開始乱搞. //网络流求解,假设最大流=全部元素的和则有解:利用残留网络推断是否唯一, //方法有两种,第一种是深搜看看是否存在正边权的环.见上一篇4888 //至少四个点构成的环,另外一种是用 ...
- open-flash-chart2各种效果
<pre class="html" name="code"><pre class="html" name="co ...
- JavaScript循环之for/in循环
今天学到了JavaScript的语句篇.同其他常见编程语言如C.Java等一样,JavaScript中的语句包含:①表达式语句②复合语句和空语句③声明语句④条件语句⑤循环语句⑥跳转语句,当然JavaS ...
- js中位运算的运用
原文:js中位运算的运用 我们可能很少在编程中用位运算,如果没深入学习,可能也很难理解.平时的数值运算,其实是要先转换成二进制再进行运算的,而位运算就是直接进行二进制运算,所以位运算的执行效率肯定是更 ...
- e.target 和 e.srcElement 的使用问题
ie 下的event.srcElement从字面上可以看出来有以下关键字:事件.源(它的意思就是:当前事件的源), 我们可以调用他的各种属性就像:document.getElementById(&qu ...
- 如何监控第三方应用程序(SOAP or RESTful client)访问HTTPS当数据站点?
随着越来越多的互联网应用,在我们日常的开发和调试,其中(例如,调试SOAP和RESTFul什么时候),我们经常需要访问工具,通过第三方获取HTTPS网站.为了简化叙述说明,如本文所用,IE浏览器访问G ...
- Linux应用环境
转载Linux应用环境 阅读目录 引言 使用 Linux 的一些困难和解决方法 我眼中的Linux哲学总纲 我这一系列随笔中展现出的Linux哲学 Linux之得和Linux之失 总结 回到顶部 引言 ...
- Linux 时区变化
1.查看当前的时区 date -R 2.改动当前时区 tzselect 之后会出来一个选项菜单,选择你想要的时区就OK了 3.替换系统时区文件 cp /usr/share/zoneinfo/XXX/Y ...
- 怎样才能充分利用SQL索引
原文:怎样才能充分利用SQL索引 背景:目前WEB的普及太快,很多网站都会因为大流量的数据而发生服务器习惯性死机,一个查询语句只能适用于一定的网络环境.没有优化的查询当遇上大数据量时就不适用了. 本文 ...