有了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. 1155 Heap Paths

    题干前半略. Sample Input 1: 8 98 72 86 60 65 12 23 50   Sample Output 1: 98 86 23 98 86 12 98 72 65 98 72 ...

  2. Educational Codeforces Round 97 (Rated for Div. 2)【ABCD】

    比赛链接:https://codeforces.com/contest/1437 A. Marketing Scheme 题解 令 \(l = \frac{a}{2}\),那么如果 \(r < ...

  3. HDU - 3374 String Problem (kmp求循环节+最大最小表示法)

    做一个高产的菜鸡 传送门:HDU - 3374 题意:多组输入,给你一个字符串,求它最小和最大表示法出现的位置和次数. 题解:刚刚学会最大最小表示法,amazing.. 次数就是最小循环节循环的次数. ...

  4. Educational Codeforces Round 84 E. Count The Blocks

    传送门: 1327- E. Count The Blocks  题意:给你一个整数n,求10^n内(每个数有前导零)长度为1到n的块分别有多少个.块的含义是连续相同数字的长度. 题解:从n=1开始枚举 ...

  5. 【uva 1395】Slim Span(图论--最小生成树+结构体快速赋值 模版题)

    题意:给一个N(N<=100)个点的联通图(无自环和平行边),求苗条度(最大边-最小边的值)尽量小的生成树. 解法:枚举+Kruskal.先从小到大排序边,枚举选择的最小的边. 1 #inclu ...

  6. 1561: (More) Multiplication

    Description Educators are always coming up with new ways to teach math to students. In 2011, an educ ...

  7. codeforces 86D D. Powerful array

    An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary subarray al, a ...

  8. CodeForces - 220B 离散化+莫队算法

    莫队算法链接:传送门 题意: 有n个数,m个区间.问区间内有多少个x,x满足x的个数等于x的值的个数(如果x是3,区间内要存在3个3). 题解: 因为a[i]太大,所以要离散化一下,但是不能用map容 ...

  9. .NET 5学习笔记(10)——Entity Framework Core之切换SQLServer和SQLite

    上一篇我们梳理了CodeFist的一般流程,本篇我们讨论如何在一套代码中,支持SQL Server和SQLite的切换.同时从本篇开始,我们从.NET Core 3.1 迁移到.NET 5.相信.NE ...

  10. vue stop event bug

    vue stop event bug [Vue warn]: Error in v-on handler: "TypeError: e.prevntDefault is not a func ...