有了webapi,对应的,也就要有各种语言的sdk,有时候,还要有一个好用的api测试工具。sdk和api测试工具在功能上有一些异同,有时候测试工具会直接基于sdk来制作。

它们通常包含:

1、http通信底层功能封装
有些语言或系统,本身http的库不够好,所以会用一些第三方库。c++一般用curl,java(android)可能用Volley。在这之上,通常再封装出一个HttpClient,提供同步异步的GET和POST功能。

2、OAuth功能
有些帐号关联的sdk,会提供OAuth的封装。

3、api相关逻辑
通常包括api的URI、Model、Serialization,可能还包含一些常量表,譬如错误码转换文本等。

4、业务逻辑
有些功能,可能仅靠一个api调用是不能完成的,譬如在获取文章id列表需要再继续获取id对应文章内容。有时候sdk还会自己集成上报、界面等内容。

5、辅助功能
可能在调用某些api时,有位操作、md5加密、枚举转数字等需求。也有一些api可能返回地址、ip、城市编号等信息,需要做一些转换来方便展示。

6、UI
api测试工具自然需要一个好的界面,CUI实在是不好用(批量测试倒是用得着),一个酷炫好用又跨平台的GUI,绝对能让用的人心荡神怡。

因为目前的工作中心主要是api这块,而现在也找不到一个好用的api测试工具,所以在这里,给自己先订个目标:写一个好用的api测试工具。
几点考虑:
1、要同时考虑windows、mac、linux,所以打算用c#来实现,使用winform来做界面
2、做好分层分模块,支持插件化,以便将来支持别的api的测试
3、当然,如果真要做到很好,也是一个大坑了,所以会从简到繁慢慢改进的做

几个现有的api测试工具:
API调试工具_API Store
http://apistore.baidu.com/astore/toolshttpproxy
在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具 - aTool在线工具
http://www.atool.org/httptest.php
API测试工具
http://open.weibo.com/tools/console
API测试利器postMan 使用教程 - Alanblog - 博客园
http://www.cnblogs.com/alanjl/p/5490922.html
C#进阶系列——WebApi 接口测试工具:WebApiTestClient - 懒得安分 - 博客园
http://www.cnblogs.com/landeanfen/p/5210356.html

后端程序员之路 30、webapi测试工具的一点想法的更多相关文章

  1. 后端程序员之路 16、信息熵 、决策树、ID3

    信息论的熵 - guisu,程序人生. 逆水行舟,不进则退. - 博客频道 - CSDN.NEThttp://blog.csdn.net/hguisu/article/details/27305435 ...

  2. 后端程序员之路 59、go uiprogress

    gosuri/uiprogress: A go library to render progress bars in terminal applicationshttps://github.com/g ...

  3. 后端程序员之路 43、Redis list

    Redis数据类型之LIST类型 - Web程序猿 - 博客频道 - CSDN.NEThttp://blog.csdn.net/thinkercode/article/details/46565051 ...

  4. 后端程序员之路 42、Semaphore

    前面学习了Pthreads,了解了线程和线程同步,而同步这个东西,与信号量是密不可分的.下面讨论的主要是Pthreads里的semaphore.h,而不是sys/sem.h [Linux]线程同步之信 ...

  5. 后端程序员之路 23、一个c++的api framework

    在"21.一个cgi的c++封装"中,我们封装了cgi,在这之上,我们可以再来封装一个webapi的framework.当然,前文的Casablanca是个不错的选择,但是它比较庞 ...

  6. 后端程序员之路 22、RESTful API

    理解RESTful架构 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2011/09/restful.html RESTful API 设计指南 - 阮一峰的网络日 ...

  7. 后端程序员之路 13、使用KNN进行数字识别

    尝试一些用KNN来做数字识别,测试数据来自:MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burgesh ...

  8. 后端程序员之路 7、Zookeeper

    Zookeeper是hadoop的一个子项目,提供分布式应用程序协调服务. Apache ZooKeeper - Homehttps://zookeeper.apache.org/ zookeeper ...

  9. 后端程序员之路 4、一种monitor的做法

    record_t包含_sum._count._time_stamp._max._min最基础的一条记录,可以用来记录最大值.最小值.计数.总和metric_t含有RECORD_NUM(6)份recor ...

随机推荐

  1. 2020第十一届蓝桥杯第二场省赛C++A组【A-H】

    A. 门牌制作 答案 624 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_st ...

  2. Codeforces Round #604 (Div. 2) C. Beautiful Regional Contest(贪心)

    题目链接:https://codeforces.com/contest/1265/problem/C 题意 从大到小给出 $n$ 只队伍的过题数,要颁发 $g$ 枚金牌,$s$ 枚银牌,$b$ 枚铜牌 ...

  3. L2-007 家庭房产 (25分) 并查集

    题目链接 题解:并查集把一个家的并在一起,特殊的一点是编号大的并到小的去.这个题有个坑编号可能为0000,会错数据3和5. 1 #include<bits/stdc++.h> 2 usin ...

  4. CodeForces 630Q Pyramids(数学公式)

    IT City administration has no rest because of the fame of the Pyramids in Egypt. There is a project ...

  5. solidity的函数修改器(modifier)

    内容:modifier的定义.modifier对函数参数的操作.modifier执行的顺序 modifier的定义 官方文档:modifier可以改变函数的行为.可以被继承和重写. 其实modifie ...

  6. 洛谷P1522 [USACO2.4]牛的旅行 Cow Tours

    洛谷P1522 [USACO2.4]牛的旅行 Cow Tours 题意: 给出一些牧区的坐标,以及一个用邻接矩阵表示的牧区之间图.如果两个牧区之间有路存在那么这条路的长度就是两个牧区之间的欧几里得距离 ...

  7. 力扣119.杨辉三角II-C语言实现

    题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 来源:力扣(LeetCod ...

  8. 牛客网-n的约数【dfs】

    题目描述:戳这里 解题思路:这题思路好想,n最多也就是20个不同的素数相乘,把所有可能的素数找到,然后枚举素数个数就行了. n = p1^q1 + p2^q2 + p3 ^q3 + ... + pi ...

  9. Leetcode(871)-最低加油次数

    汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处. 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 s ...

  10. JVM终结篇

    1.1 重新认知JVM 之前我们画过一张图,是从Class文件到类装载器,再到运行时数据区的过程.现在咱们把这张图不妨丰富完善一下,展示了JVM的大体物理结构图. 1.2 GC优化 内存被使用了之后, ...