51Testing软件测试论坛

标题: HTTP接口测试工具-CDSpace [打印本页]

作者: adoaiwen1314    时间: 2016-3-25 12:03
标题: 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。


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。


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


在启动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。


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;

4、新建HttpClient,编辑如下信息:Http Method(Get)、url(http://localhost:9091/test)、Request Body(空)、Request Header(name1-value1),然后点击Send。

5、查看HttpClient接受到的响应:


6、查看HttpServer接受到的请求:


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)。
作者: archonwang    时间: 2016-3-27 17:14
可以啊。自己写的工具。招人一起来测试下再完善完善。
作者: adoaiwen1314    时间: 2016-3-28 11:02
archonwang 发表于 2016-3-27 17:14
可以啊。自己写的工具。招人一起来测试下再完善完善。

哈哈,谢谢。
招不起人,平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
作者: adoaiwen1314    时间: 2016-4-20 16:54
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
作者: adoaiwen1314    时间: 2016-4-26 16:21

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
作者: 灰灰渣渣    时间: 2016-4-30 11:30
先下载了,有什么问题在问~~哈哈
作者: adoaiwen1314    时间: 2016-5-16 15:12
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
作者: adoaiwen1314    时间: 2016-5-30 13:51

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
作者: 清晨一缕阳光    时间: 2016-5-31 12:01
方便的话,能不能提供下源代码,学习下。
作者: acaiwlj    时间: 2016-6-2 13:54
我正好需要这个,先借来用用,有建议会及时反馈
作者: acaiwlj    时间: 2016-6-2 16:23
我用了,感觉如果能提供从列表中读取sever信息,并一件发送请求,然后把所有失败的sever列出来就好了
作者: adoaiwen1314    时间: 2016-6-2 17:09
清晨一缕阳光 发表于 2016-5-31 12:01
方便的话,能不能提供下源代码,学习下。

https://github.com/KevenDo/CDSpace
作者: adoaiwen1314    时间: 2016-6-2 17:13
acaiwlj 发表于 2016-6-2 16:23
我用了,感觉如果能提供从列表中读取sever信息,并一件发送请求,然后把所有失败的sever列出来就好了

没明白你的意思,可以再说清楚点吗?
每个server/client对应的是本地的一个文件,在和jar包同级的project文件夹下,根据后缀名来区分。
启动多个server时,需要打开多个tab页单个启动,server启动失败有两种原因,端口被占用,没有上下文。
作者: 清晨一缕阳光    时间: 2016-6-2 21:19
adoaiwen1314 发表于 2016-6-2 17:09
https://github.com/KevenDo/CDSpace

非常感谢!!!!
作者: adoaiwen1314    时间: 2016-6-12 11:16
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
作者: adoaiwen1314    时间: 2016-6-16 14:19

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
作者: adoaiwen1314    时间: 2016-6-23 11:27
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我

作者: adoaiwen1314    时间: 2016-7-7 10:38

平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
作者: ahww520    时间: 2016-8-4 12:46
工具很好用 支持分级,有个小小的bug ,重新加载httpclient时没有将参数填充在request body上[attach]102064[/attach][attach]102065[/attach]

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

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

作者: adoaiwen1314    时间: 2016-8-22 14:11
ahww520 发表于 2016-8-4 17:28
我修复了一下,HttpClientRequest的构造函数中将body添加上即可

棒棒哒
作者: gdshine    时间: 2016-8-23 15:50
学习了,收藏先
作者: gdshine    时间: 2016-8-24 10:27
呜呜,还行,希望可以一起交流一下
作者: adoaiwen1314    时间: 2016-8-24 20:31
gdshine 发表于 2016-8-24 10:27
呜呜,还行,希望可以一起交流一下

多谢支持,微博知乎都可以私信
作者: adoaiwen1314    时间: 2016-9-11 15:05
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
作者: adoaiwen1314    时间: 2016-10-9 10:34

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

作者: adoaiwen1314    时间: 2016-10-28 16:19


平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
作者: adoaiwen1314    时间: 2017-2-17 10:37
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
作者: zjh99110_830209    时间: 2017-3-23 13:58
谢谢分享!

作者: ylq108    时间: 2017-4-6 15:03
为什么我下载了 点击打开之后,新建一个project 界面没有响应啊?JDK是1.8以上的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2