API自动化库

CukeTest产品提供了API自动化库,名为leanpro.got。它是npmgot库的简单封装。CukeTest内置了这个库和生成got API调用代码的工具箱,因此无需安装包就可以进行API的自动化。您可以点击这个命名查看这个库的类型文件。下面提供了这个库的简单使用说明。如果需要更详细的文档,可以查看got官方文档

HTTP库——Got的使用

使用下面这行代码引入内置的用于发起HTTP请求库——got

  1. const got = require('leanpro.got');

使用got库访问API很简单,也很符合直觉,分为三个部分:HTTP请求方法、API链接,以及配置项option。常见的有两种:

  1. 第一种:使用HTTP请求对应的对应的方法:

    1. got.get(url, [options]);
    2. got.post(url, [options]);
    3. got.put(url, [options]);
    4. got.delete(url, [options]);
    5. ...
  2. 第二种:将HTTP请求方式写入到配置项options中:

    1. let options = {
    2. method: "GET" [| "POST" | "PUT" | "DELETE" |... ],
    3. ...
    4. };
    5. got(url, options);

为了保证代码的可读性,这里推荐使用的是第一种方法。

配置项options

配置项options控制所有的请求动作发起的细节,如重试次数、超时时间、代理、HTTP协议等等。由于got库的options的属性时是按照node.js原生的https.request库来设计的,因此配置的内容除了可以查看options说明文档,还可以查看https.request文档

出于稳定性的考虑,CukeTest中使用的是9.6.0版本的got,因此文档也选择了相应版本的。如果您需要其它版本,您可以独立安装got库。

API代码工具箱

当然除了自己动手写配置外,你还可以选择CukeTest工具箱提供的代码生成窗口,在左侧“工具栏”->“协作”->“RESTful API”中,工具如下所示:

API工具

API工具界面

将工具拖拽到编辑器中,通过简单的配置,就会在该区域生成相应的代码。工具提供了常用的getpostputdelete四种方法,另外两种方法可以直接修改代码使用。在API工具界面我们可以看到提供了几个选项:

  • 方法:可选的有getpostputdelete四种方法;
  • Url地址:API的链接,注意不要遗漏http://或者https://的前缀,尽管不加该前缀工具也能自动识别并区分,但是建议是手动加上;
  • HTTP头:即HTTP的请求头,具体内容可以参照HTTP Headers。默认为POST请求头的content-type属性提供了默认值application/json目标API接受JSON的形式的请求体body
  • JSON:通常保持默认打开即可,打开后接受json格式的请求体(body)传入;
  • 请求体:HTTP的请求内容,在API测试中通常为JSON格式的数据。

此外,NPM中可供选择的API自动化库有很多,如果您想用其它库,或用不同版本的got库,您可以用npm直接安装:例如:npm install got可以安装最新版本的got库,它可能与内置的leanpro.got功能略有不同。