51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6803|回复: 29
打印 上一主题 下一主题

[资料] HTTP接口测试工具-CDSpace

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-3-25 12:03:44 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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)。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2016-3-28 11:02:56 | 显示全部楼层
archonwang 发表于 2016-3-27 17:14
可以啊。自己写的工具。招人一起来测试下再完善完善。

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

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2016-4-20 16:54:22 | 显示全部楼层
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2016-4-26 16:21:00 | 显示全部楼层

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

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2016-5-16 15:12:18 | 显示全部楼层
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2016-5-30 13:51:00 | 显示全部楼层

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

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2016-6-2 17:09:51 | 显示全部楼层
清晨一缕阳光 发表于 2016-5-31 12:01
方便的话,能不能提供下源代码,学习下。

https://github.com/KevenDo/CDSpace
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2016-6-2 17:13:40 | 显示全部楼层
acaiwlj 发表于 2016-6-2 16:23
我用了,感觉如果能提供从列表中读取sever信息,并一件发送请求,然后把所有失败的sever列出来就好了

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

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2016-6-12 11:16:14 | 显示全部楼层
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2016-6-16 14:19:20 | 显示全部楼层

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

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2016-6-23 11:27:22 | 显示全部楼层
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2016-7-7 10:38:10 | 显示全部楼层

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

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2016-8-22 14:11:25 | 显示全部楼层
ahww520 发表于 2016-8-4 17:28
我修复了一下,HttpClientRequest的构造函数中将body添加上即可

棒棒哒
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2016-8-24 20:31:01 | 显示全部楼层
gdshine 发表于 2016-8-24 10:27
呜呜,还行,希望可以一起交流一下

多谢支持,微博知乎都可以私信
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2016-9-11 15:05:37 | 显示全部楼层
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2016-10-9 10:34:06 | 显示全部楼层

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

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2016-10-28 16:19:50 | 显示全部楼层


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

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2017-2-17 10:37:42 | 显示全部楼层
平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-6-4 12:26 , Processed in 0.079410 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表