51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6752|回复: 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
回复

使用道具 举报

该用户从未签到

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 1 反对 0

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2016-3-27 17:14:53 | 只看该作者
    可以啊。自己写的工具。招人一起来测试下再完善完善。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2016-3-28 11:02:56 | 只看该作者
    archonwang 发表于 2016-3-27 17:14
    可以啊。自己写的工具。招人一起来测试下再完善完善。

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2016-4-26 16:21:00 | 只看该作者

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

    使用道具 举报

    该用户从未签到

    6#
    发表于 2016-4-30 11:30:59 | 只看该作者
    先下载了,有什么问题在问~~哈哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2016-5-30 13:51:00 | 只看该作者

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

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 1180 天

    连续签到: 1 天

    [LV.10]测试总司令

    9#
    发表于 2016-5-31 12:01:45 | 只看该作者
    方便的话,能不能提供下源代码,学习下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2016-6-2 13:54:24 | 只看该作者
    我正好需要这个,先借来用用,有建议会及时反馈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2016-6-2 16:23:39 | 只看该作者
    我用了,感觉如果能提供从列表中读取sever信息,并一件发送请求,然后把所有失败的sever列出来就好了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2016-6-2 17:09:51 | 只看该作者
    清晨一缕阳光 发表于 2016-5-31 12:01
    方便的话,能不能提供下源代码,学习下。

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

    使用道具 举报

    该用户从未签到

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 1180 天

    连续签到: 1 天

    [LV.10]测试总司令

    14#
    发表于 2016-6-2 21:19:51 | 只看该作者
    adoaiwen1314 发表于 2016-6-2 17:09
    https://github.com/KevenDo/CDSpace

    非常感谢!!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2016-6-12 11:16:14 | 只看该作者
    平时测HTTP接口的同学可以用用,有问题和建议都可以反馈给我
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2016-6-16 14:19:20 | 只看该作者

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2016-7-7 10:38:10 | 只看该作者

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

    使用道具 举报

    该用户从未签到

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

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-11 14:20 , Processed in 0.079689 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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