有了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. 2019牛客暑期多校训练营(第五场)G-subsequence 1

    >传送门< 题意:给你两个数字字符串s,t,求字符串s的子序列比字符串t大的个数 思路:他的题解上写的就是dp的基础练习题,好像的确是这么回事,既然是dp,那么对于定义的状态不同得到的转移 ...

  2. Codeforces Round #316 (Div. 2) D. Tree Requests(dsu)

    题目链接 题意:对于m次询问 求解以vi为根节点 深度为hi的的字母能不能组合成回文串. 思路:暴力dsu找一边 简直就是神技! #include<bits/stdc++.h> #defi ...

  3. Little Difference Gym - 101612L 思维

    题意: 给你一个数n,你需要输出它可以由那几个数相乘构成,我们设可以由x个数构成,这x个数中最小值为minn,最大值为maxx,那么要求maxx-minn<=1 问你满足上面要求的情况有多少种. ...

  4. poj1821 Fence(dp,单调队列优化)

    题意: 由k(1 <= K <= 100)个工人组成的团队应油漆围墙,其中包含N(1 <= N <= 16 000)个从左到右从1到N编号的木板.每个工人i(1 <= i ...

  5. Codeforces Round #575 (Div. 3) F. K-th Path

    传送门 题意: 这道题把我看得懵懵的(不敢相信),其实就是给你n个点和m条边(无向图),你要找出来任意两点之间的的最短距离,然后再从其中找出来第k个最小值 题解: 正常思维就是floyd多源最短路算法 ...

  6. Codeforces Global Round 9 B. Neighbor Grid (构造,贪心)

    题意:给一个\(n\)X\(m\)的矩阵,矩阵中某个数字\(k\)表示其四周恰好有\(k\)个不为0的数字,你可以使任意位置上的数字变大,如果操作后满足条件,输出新矩阵,否则输出NO. 题解:贪心,既 ...

  7. 轻松理解 Java开发中的依赖注入(DI)和控制反转(IOC)

    前言 关于这个话题, 网上有很多文章,这里, 我希望通过最简单的话语与大家分享. 依赖注入和控制反转两个概念让很多初学这迷惑, 觉得玄之又玄,高深莫测. 这里想先说明两点: 依赖注入和控制反转不是高级 ...

  8. 怎样优化SQL

    [原则一:选择需要优化的SQL] 1,选择需要优化的SQL:不是所有的SQL都需要优化,在优化的过程中,首选更需要优化的SQL; 怎么选择?优先选择优化高并发低消耗的SQL: 1,1小时请求1W次,1 ...

  9. Go - 实现项目内链路追踪(二)

    上篇文章 Go - 实现项目内链路追踪 分享了,通过 链路 ID 可以将 请求信息.响应信息.调用第三方接口的信息.调试信息.执行的 SQL 信息.执行的 Redis 信息 串起来,记录的具体参数在文 ...

  10. MySQL 多实例及其主从复制

    目录 Mysql 实例 Mysql 多实例 创建多实例目录 编辑配置文件 初始化多实例数据目录 授权目录 启动多实例 连接多实例并验证 Mysql 多实例设置密码 设置密码后连接 Mysql 多实例主 ...