专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

用org-mode管理API测试用例

API测试用例是什么?

在互联网大行其道的今天,身为一名电商平台的程序员,必定经常与HTTP API打交道,一个常见的情况便是做API测试。抛开可以用单元测试代替的,很多时候需要真地发出HTTP请求才行。这些负责发出HTTP请求的东西可能是一行curl命令,可能是一个.js文件,也可能是一个在postman中点击按钮的操作,但不管形态如何,它们便是API测试用例。尽管名字中带有“用例”二字,但很多时候是由人来校验结果的,用例更关注发出怎样的HTTP请求。

为什么要管理它们?

不同于每天在浏览器中发生成千上万次的、平凡的HTTP(或HTTPS)请求,API测试用例是值得一番精心管理的,因为:

1、 API测试用例通常会重复使用,因此必须将它们持久化保存。也许是保存成shell脚本,也许是保存成脚本语言源文件,也许是保存为某一款软件的数据文件;
2、 需要为多个API编写测试用例,因此必须区分不同的API对应的测试用例。例如,负责管理业务资源的服务(比如一个管理商品数据的、提供RESTful API的服务),起码需要提供增删查改的功能,那么也就需要有增删查改对应的API测试用例;
3、 需要为多个服务的API编写用例,因此必须区分不同的服务对应的测试用例集。例如,既然有商品服务,那么极可能还有订单服务、优惠券服务、物流服务,等等,每个服务又都有增删查改的功能,这些不同服务的API也需要各自的测试用例;
4、 需要区分不同的运行环境。通常本地、开发、测试,以及生产环境是互相隔离的,一个用例中的参数往往不能照搬到另一个环境中。

API、服务,以及环境这三个维度上的区别,使得测试用例的数量显著增加,如不进行管理,当要用时,要么不得不从零开始再写一遍脚本,要么得翻查很久才能找到所需的用例。

用org-mode管理

org-mode是什么?

org-mode是一款Emacs编辑器的扩展,它让使用者能够用快速高效的纯文本方式来记笔记、维护待办事项、安排计划,以及编写文档。org-mode的精髓在于它的大纲组织能力,以及依托于Emacs的扩展能力,两者使其正好可以胜任管理API测试用例的工作。一个.org文件的示例如下图所示

82_1.png

如何用org-mode管理API测试用例?

尽管org-mode提供了丰富的功能,但只是管理API测试用例的话,并用不上太多花里胡哨的东西,只需要org-mode的大纲功能和org-babel特性即可。

首先用不同的.org文件区分不同的环境。

82_2.png

接着用不同层级的headline区分不同的服务、资源类型,以及API。

82_3.png

然后用org-mode代码块语法来编写HTTP请求。以请求https://httpbin.org/uuid为例

#+BEGIN_SRC restclient
  GET https://httpbin.org/uuid
#+END_SRC

#+BEGIN_SRC#+END_SRC分别表示开启和结束代码块,restclient表示这个代码块内的代码可以用Emacs的restclient-mode来编辑。在代码块中,GET https://httpbin.org/uuid表示以GET方法请求https://httpbin.org/uuid

安装了restclient后,将光标定位在代码块上并按下ctrl-c ',可以进入一个单独的buffer编辑其中的源代码

82_4.png

最后,如果配置了org-babel,甚至可以直接在代码块上按下ctrl-c ctrl-c来发出HTTP请求。

82_5.png

可以看到,HTTP响应的内容会保留在这个.org文件中。

后记

以前我也用过其它的工具来管理API测试用例:

1、 刚工作的时候用的是Postman,那时候Postman还是Chrome的一个插件;
2、 后来出于对Firefox浏览器的喜爱,找了一个叫RESTClient的插件来代替postman,久而久之发觉两者的差距蛮大,终究无法代替;
3、 接着遇到了Emacs中的restclient.el,于是用了好一段时间的纯restclient-mode(没有搭配org-mode);
4、 再后来开始用Mac办公了,便开始寻找Mac下的这类工具,遇到了Insomnia。如果有人找我推荐用于HTTP API测试的GUI工具的话,我会毫无不犹豫地推荐这款。

再后来,我又回到了Emacs,并用org-mode来管理这些API测试用例。目前这是最适合我的一种方式。

全文完。

阅读原文

文章永久链接:https://tech.souyunku.com/31697

未经允许不得转载:搜云库技术团队 » 用org-mode管理API测试用例

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们