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来实战: 主要包括: ...
随机推荐
- Google I/O 2014? No,Android I/O 2014
"你当然能够不相信理想,可是你也应该相信.有一些人相信理想" google I/O今日公布了很多新品,罗列为: Android Wear,Android Auto.Android ...
- 比float更好的页面布局inline-block
一:页面布局的发展过程 桌格设计 表格+css div+css的浮动布局 div+css的内联块布局 二:流行多年的浮动布局的优劣 优势: div+css浮动布局的优势,主要是相对于table布局来说 ...
- 开源服务发现项目Zookeeper,Doozer,Etcd
这篇文章是Jason Wilder对于常见的服务项目发现Zookeeper.Doozer,Etcd所写的一篇博客,其原文地址例如以下:Open-Source Service Discovery. 服务 ...
- Angularjs,WebAPI 搭建一个简易权限管理系统
Angularjs,WebAPI 搭建一个简易权限管理系统 Angularjs名词与概念(一) 1. 目录 前言 Angularjs名词与概念 权限系统原型 权限系统业务 数据库设计和实现 Web ...
- AspNetPager使用指南
一.AspNetPager支持两种方式分页: 一种是PostBack方式分页, 一种是通过Url来实现分页以及Url重写功能 二.AspNetPager支持各种数据绑定控件GridView.DataG ...
- Office转HTML
/// <summary> /// word转成html /// </summary> /// <param name="path"></ ...
- jQuery UI的datepicker日期控件如何让他显示中文
首先是引入UI的JS文件和模板文件,如下: <link rel=”stylesheet” href=”./ui/themes/le-frog/jquery.ui.all.css”> < ...
- win7安装ruby on rails开发环境
前言 我们看到很多文章说ruby环境windows它是非常困难的基础上,这将是各种稀奇古怪的问题,因此,建议linux和mac发. 可是我依照教程搭了下,问题也不算太多.总过大概花费了2个半小时左右就 ...
- Codeforces 461B Appleman and Tree(木dp)
题目链接:Codeforces 461B Appleman and Tree 题目大意:一棵树,以0节点为根节点,给定每一个节点的父亲节点,以及每一个点的颜色(0表示白色,1表示黑色),切断这棵树的k ...
- 深入理解C指针之六:指针和结构体
原文:深入理解C指针之六:指针和结构体 C的结构体可以用来表示数据结构的元素,比如链表的节点,指针是把这些元素连接到一起的纽带. 结构体增强了数组等集合的实用性,每个结构体可以包含多个字段.如果不用结 ...