adoaiwen1314 发表于 2016-3-25 12:03:44

HTTP接口测试工具-CDSpace

本帖最后由 adoaiwen1314 于 2016-3-25 14:49 编辑

1 简介

1.1 功能简介

CDSpace是基于Apache Http Client和Sun Http Server两个库,以JavaFX为GUI框架开发的一款HTTP接口测试工具,主要功能分为两部分:1、模拟HttpClient发送自定义请求给服务端,接受响应并将响应的消息体和头域显示在控制台;模拟服务端接受请求,返回自定义的响应,接受请求并将请求的消息体和头域显示在控制台。

CDSpace以文件的形式来管理自定义内容,多人使用可以通过SVN或者Git来管理文件同步。

1.2 下载链接

CDSpace V1.0

1.3 安装方法

1、安装JDK1.8以上的版本;
2、解压下载的安装包;
3、双击打开CDSapce.jar。

2 使用指南

2.1 HttpClient

2.1.1 新建Project

所有Client和Server必须建立在独立的Project下面,这节先学习如何新建Project。

新建Project有三种操作方法:
1、在MenuBar中,点击File-New-Project;
2、在ToolBar,点击第一个按钮;
3、在FileManagerView中右击,点击New-Project。
http://img.blog.csdn.net/20160324120052796

2.1.2 新建Directory

Directory必须建立在独立的project下面,Client和Server不强制要求建立在Directory下面,但是可以通过Directory来进行分类,使文件目录变得清晰易用。

新建Directory有三种操作方法:
1、在MenuBar中,点击File-New-Directory;
2、在ToolBar,点击第二个按钮;
3、在FileManagerView中右击,点击New-Directory。

2.1.3 新建HttpClient

新建HttpClient有三种操作方法:
1、在MenuBar中,点击File-New-HttpClient;
2、在ToolBar,点击第三个按钮;
3、在FileManagerView中右击,点击New-HttpClient。

2.1.4 发送HttpRequest

1、CDSpace支持四种Http Method:Get,Post,Put,Delete;
2、CDSPace支持自定义头域,点击Request Header Tab页即可编辑。

在发送HttpRequest之前,先编辑好Http Method、url、Request Body、Request Header。
发送HttpRequest有三种操作方法:
1、在MenuBar中,点击Run-Send;
2、在ToolBar,点击倒数第三个按钮;
3、在HttpRequestEdit页面,点击Send。
http://img.blog.csdn.net/20160324144053862

2.2 HttpServer

2.2.1 新建Project

参见2.1.1

2.2.2 新建Directory

参见2.1.2

2.2.3 新建HttpServer

新建HttpServer有三种操作方法:
1、在MenuBar中,点击File-New-HttpServer;
2、在ToolBar,点击第四个按钮;
3、在FileManagerView中右击,点击New-HttpServer。

2.2.4 启动HttpServer

http://img.blog.csdn.net/20160324144959874
在启动HttpServer之前,先编辑Server相关的信息:监听端口、Server类型(支持Http和Https)、加密协议类型。
编辑完成后就可以启动Server了,启动HttpServer有三种操作方法:
1、在MenuBar中,点击Run-Start;
2、在ToolBar,点击倒数第二个按钮;
3、在HttpServerEdit页面,点击StartServer。

验证端口是否被监听:
linux:在控制台输入命令 netstat -an | grep 监听端口
windows:在控制台输入命令 netstat -an | find “监听端口”

2.2.5 停止HttpServer

停止HttpServer有三种操作方法:
1、在MenuBar中,点击Run-Stop;
2、在ToolBar,点击倒数第一个按钮;
3、在HttpServerEdit页面,点击StopServer。

2.2.6 增加HttpServerContext

HttpServerContext是指单个Http接口所包含的相关信息:url、response code、response body、response header。
在HttpServerEdit页面,点击AddContext,即可新增HttpServerContext。
http://img.blog.csdn.net/20160324150153499

2.2.7 Sample

操作步骤:
1、新建HttpServer,编辑如下信息:监听端口(9091),Server Type(Http),加密协议(SSL);
2、Add Context,编辑如下信息:url(test),response code(200)、response body(testbody)、response header(name-value);
3、点击StartServer;
http://img.blog.csdn.net/20160324150915540
4、新建HttpClient,编辑如下信息:Http Method(Get)、url(http://localhost:9091/test)、Request Body(空)、Request Header(name1-value1),然后点击Send。
http://img.blog.csdn.net/20160324151217497
5、查看HttpClient接受到的响应:
http://img.blog.csdn.net/20160324151545110
http://img.blog.csdn.net/20160324151601970
6、查看HttpServer接受到的请求:
http://img.blog.csdn.net/20160324151745738

2.3 常用文本操作

2.3.1 重命名

重命名有三种操作方法:
1、在MenuBar中,点击Edit-Rename;
2、在FileManagerView中右击,点击Rename;
3、快捷键command+E(Mac)、Ctrl+E(windows)。

2.3.2 复制

复制有三种操作方法:
1、在MenuBar中,点击Edit-Copy;
2、在FileManagerView中右击,点击Copy;
3、快捷键command+C(Mac)、Ctrl+C(windows)。

2.3.3 粘贴

粘贴有三种操作方法:
1、在MenuBar中,点击Edit-Paste;
2、在FileManagerView中右击,点击Paste;
3、快捷键command+V(Mac)、Ctrl+V(windows)。

2.3.4 刷新

刷新有四种操作方法:
1、在MenuBar中,点击Edit-Refresh;
2、在FileManagerView中右击,点击Refresh;
3、在ToolBar,点击倒数第六个按钮;
4、快捷键command+R(Mac)、Ctrl+R(windows)。

2.3.5 删除

删除有两种操作方法:
1、在MenuBar中,点击Edit-Delete;
2、在FileManagerView中右击,点击Delete。

2.4 多窗口操作

新建一个有两种操作方法:
1、在MenuBar中,点击Run-Open in a new tab;
2、在FileManagerView中右击,点击Open in a new tab。

3 小结

之前用swing写过两个类似的小工具HttpTestTool和HttpMockServerTool,其中HttpTestTool在csdn的下载次数超过2000次,现在看来这两个工具都只是练手的作品,这也是促使我写出了CDSpace,一款真正意义上能用于生产的测试工具。最后欢迎大家发现BUG在文章下面留言,或者提出一些改进意见,也欢迎关注我的知乎(杜亮)和微博(adoaiwen1314)。

ahww520 发表于 2016-8-4 17:28:52

ahww520 发表于 2016-8-4 12:46
工具很好用 支持分级,有个小小的bug ,重新加载httpclient时没有将参数填充在request body上

我修复了一下,HttpClientRequest的构造函数中将body添加上即可

archonwang 发表于 2016-3-27 17:14:53

可以啊。自己写的工具。招人一起来测试下再完善完善。

adoaiwen1314 发表于 2016-3-28 11:02:56

archonwang 发表于 2016-3-27 17:14
可以啊。自己写的工具。招人一起来测试下再完善完善。

哈哈,谢谢。
招不起人,平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。

adoaiwen1314 发表于 2016-4-20 16:54:22

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。

adoaiwen1314 发表于 2016-4-26 16:21:00


平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。

灰灰渣渣 发表于 2016-4-30 11:30:59

先下载了,有什么问题在问~~哈哈

adoaiwen1314 发表于 2016-5-16 15:12:18

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

adoaiwen1314 发表于 2016-5-30 13:51:00


平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

清晨一缕阳光 发表于 2016-5-31 12:01:45

方便的话,能不能提供下源代码,学习下。

acaiwlj 发表于 2016-6-2 13:54:24

我正好需要这个,先借来用用,有建议会及时反馈:P

acaiwlj 发表于 2016-6-2 16:23:39

我用了,感觉如果能提供从列表中读取sever信息,并一件发送请求,然后把所有失败的sever列出来就好了;P

adoaiwen1314 发表于 2016-6-2 17:09:51

清晨一缕阳光 发表于 2016-5-31 12:01
方便的话,能不能提供下源代码,学习下。

https://github.com/KevenDo/CDSpace

adoaiwen1314 发表于 2016-6-2 17:13:40

acaiwlj 发表于 2016-6-2 16:23
我用了,感觉如果能提供从列表中读取sever信息,并一件发送请求,然后把所有失败的sever列出来就好了

没明白你的意思,可以再说清楚点吗?
每个server/client对应的是本地的一个文件,在和jar包同级的project文件夹下,根据后缀名来区分。
启动多个server时,需要打开多个tab页单个启动,server启动失败有两种原因,端口被占用,没有上下文。

清晨一缕阳光 发表于 2016-6-2 21:19:51

adoaiwen1314 发表于 2016-6-2 17:09
https://github.com/KevenDo/CDSpace

非常感谢!!!!:lol

adoaiwen1314 发表于 2016-6-12 11:16:14

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

adoaiwen1314 发表于 2016-6-16 14:19:20


平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

adoaiwen1314 发表于 2016-6-23 11:27:22

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

adoaiwen1314 发表于 2016-7-7 10:38:10


平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

ahww520 发表于 2016-8-4 12:46:30

工具很好用 支持分级,有个小小的bug ,重新加载httpclient时没有将参数填充在request body上
页: [1] 2
查看完整版本: HTTP接口测试工具-CDSpace