首页IT科技acetal材料(AceTest HTTP请求处理工具)

acetal材料(AceTest HTTP请求处理工具)

时间2025-06-17 22:58:37分类IT科技浏览3823
导读:AceTest HTTP请求处理工具 关于 安装运行 缘起 新建/编辑实例 验证 运行实例 其它工具栏 参数池 导出接口描述文档...

AceTest HTTP请求处理工具

关于 安装运行 缘起 新建/编辑实例 验证 运行实例 其它工具栏 参数池 导出接口描述文档

1 关于

AceTest 是我近期做的小工具            ,其实比较早之前就做好了一版                     ,自己用了一段时间            。然后      ,根据自己的使用感觉         ,好好重构了一番                     ,现在把它放到 Github 上了:

https://github.com/AceFantasy/AceTest

如果要一句话来说明 AceTest 是做什么的         ,那么就是“模拟 HTTP 请求            ”——好吧      ,虽然我自己也不喜欢这种叫法                     ,但是             ,它做的事也确实是这个                     。

AceTest 是一个 Web 应用工具   ,你可以在页面上方便地定义一个 HTTP 请求(地址                    ,参数                 ,头什么的),然后将这个请求发出                ,当然                     ,这个请求不是直接发到你指定的地址   ,而是发到服务器端            ,服务器端通过一个 HTTPClient 再把请求发到指定的地址                     ,获取响应后      ,把响应返回给你      。之后         ,你可以定义一些函数对响应的结果进行检查                     ,以此         ,可以达到测试的目的         。

同时      ,因为你已经定义好了 HTTP 请求                     ,所以             , AceTest 可以依此   ,来自动生成描述 HTTP 接口的文档                     。

2 安装运行

AceTest 的后端使用的是 Tornado                     ,前端的 js 部分使用的是 Dojo          。同时                 ,使用了 Django 的 ORM 部分来进行对数据库的访问(不好意思,我懒:) )      。

所以                ,此项目要跑起来                     ,需要:

安装 Tornado    ,版本是 2.0             ,或者直接把 Tornado 文件夹放到 AceTest 目录下                     。 安装 Django                      ,版本是 1.2             。

然后就可以像普通的 Tornado 项目一样启动了:

$ python server.py

启动时现在支持了两个可选的参数:

port 指定端口 db 指定数据库文件

所以      ,可以这样:

$ python server.py --port=80--db=/home/zys/acetest.sqlite3

3 缘起

想到做 AceTest          ,和平时的工作有关   。因为维护着 Web 项目                     ,而常常项目需要和外部服务交互         ,时不时出现问题需要快速确认外部服务的响应内容                    。很显然      ,要看到响应内容                     ,不是把一个 URL 复制到浏览器就可以解决问题了的             ,方法啊   ,参数啊之类的东西都要正确才行                    ,而有时                 ,它们还很复杂                 。

之前我一直是自己会写一个 Python 文件放在那里,有什么问题直接修改 Python 文件然后跑一下。当然                ,这本来没有什么大问题                     ,只是每次新写的时候会觉得好折腾   ,我并不是把 httplib 这个模块的用法记得很熟                。

另外就是            ,自己写东西时                     ,喜欢一种前后端完全分割的方式      ,先专注写后端逻辑         ,直接返回 json 格式的数据                     ,然后已经完成的功能         ,希望可以使用规范的文档来描述 HTTP 接口      ,倒不是说需要给别人看                     ,以后自己维护时也方便                     。不过每次写这些文档             ,都觉得是很费劲的事   。

我的第一份是工作是做桌面软件的自动化测试相关的内容   ,那时做了一个类似的东西            。现在回想起来                    ,形式是可以参照的                 ,但是 HTTP 请求处理起来就简单很多了                     。使用 Tornado 自己的 HTTPClient 配合异步回调机制,很容易实现一个代理访问的模型      。

于是就这样开始了         。定义一个 HTTP 请求                ,然后让后端的 Tornado 执行它                     ,把结果返回给我                     。最初的构想就是这样         。

对于响应   ,直接使用 js 进行简单的判断            ,来提示是不是我期望的结果                     ,这样      ,就达到的测试的目的      。

再后来         ,对于已经定义好的 HTTP 请求                     ,格式化一下         ,就是一份清晰描述的接口文档                     。

其实整个项目要做的事实现起来很简单      ,至少后端是这样的             。很大部分的精力都是花在前端写 js 交互部分了   。

最初的想法是这样的                    。

第一版时的样子                     ,比现在要简陋多了                 。不过             ,基本的功能算是都实现了的。

4 新建/编辑实例

声明:本站所有文章   ,如无特殊说明或标注                    ,均为本站原创发布                。任何个人或组织                 ,在未征得本站同意时,禁止复制              、盗用                  、采集       、发布本站内容到任何网站           、书籍等各类媒体平台                     。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
用u盘怎么安装xp系统步骤(怎么利用u盘装xp系统?U极速一键u盘安装xp系统教程详解) w10专业版怎么设置(如何解决Win10专业版一打开设置就闪退?)