[译]Bruno - 自由强大安全开源的 API 测试神器(文本管理/git友好/离线优先)- 脚本 - JavaScript API 参照

441 阅读3分钟

天下苦 postman 久矣!


原文链接:
JavaScript API Reference – Bruno Docs


JavaScript API 参照

这是 Bruno 中脚本功能的完整 API 参考集。

请求

这个 req 变量在你的脚本和测试上下文中可用。

以下是 req 上可用方法的 API 文档

getUrl

获取当前请求 url

示例:

let url = req.getUrl();

setUrl

设置当前请求 url

示例:

req.setUrl("https://api.github.com/search/repositories?q=vue");

getMethod

获取当前请求方法

示例:

const method = req.getMethod();

setMethod

设置当前请求方法

示例:

req.setMethod("POST");

getHeader

按名称获取请求标头

示例:

req.getHeader("transaction-id");

getHeaders

获取当前请求标头

示例:

const headers = req.getHeaders();

setHeader

按名称设置请求头部

示例:

req.setHeader( "content-type", "application/json");

setHeaders

设置当前请求标头

示例:

req.setHeaders({  "content-type": "application/json",  "transaction-id": "foobar"});

getBody

获取当前请求正文/有效负载

示例:

const body = req.getBody();

setBody

设置请求正文/有效负载

示例:

req.setBody({  "username": "john nash",  "password": "governingdynamics"});

setMaxRedirects

设置要跟踪的最大重定向数

示例:

req.setMaxRedirects(5);

响应

res 变量在脚本和测试上下文中可用。

下面是 res 对象的可用属性。

属性描述
statusThe response status code
statusTextThe response status text
headersThe response headers
bodyThe response body
responseTimeThe API response time

以下是 res 对象上可用的方法。

getStatus

获取响应状态

示例:

let status = res.getStatus();

getHeader

按名称获取响应头部

示例:

let transactionId = res.getHeader("transaction-id");

getHeaders

获取响应头部

示例:

let headers = res.getHeaders();

getBody

获取响应数据

示例:

let data = res.getBody();

getResponseTime

获取响应时间

示例:

let responseTime = res.getResponseTime();

Bru

bru 变量在您的脚本和测试上下文中可用。它公开了一些方法,允许您进行交互,例如流程变量、环境变量和集合变量。

以下是 bru 上可用方法的 API 文档

帮助

sleep

在指定的持续时间内暂停执行。这对于引入延迟或等待特定时间后再继续下一个操作非常有用。

示例:

await bru.sleep(3000);
disableParsingResponseJson

要防止自动解析 JSON 响应正文并直接使用原始数据,您可以在请求的请求前脚本中使用以下表达式。

示例:

bru.disableParsingResponseJson();

Node 进程环境

Bruno 允许您动态获取 Node 进程环境变量。

getProcessEnv

获取 Node 进程环境变量。这允许使用 Secret 令牌,而无需将 Secret 提交到版本控制。

示例:

let secret_token = bru.getProcessEnv("secret_access_token");

环境

Bruno 允许您动态获取和设置 Bruno 环境变量。

getEnvVar

获取 Bruno 环境变量

示例:

let token = bru.getEnvVar("access_token");
setEnvVar

设置 Bruno 环境变量

示例:

function onResponse(res) {let data = res.getBody();let token = bru.setEnvVar("access_token", data.token);}

集合变量

Bruno 允许您动态获取集合变量。

getCollectionVar

获取集合变量

示例:

let namespace = bru.getCollectionVar("namespace");

文件夹变量

Bruno 允许您动态获取文件夹变量。

getFolderVar

获取文件夹变量

示例:

let company = bru.getFolderVar("company");

运行时变量

Bruno 允许您动态获取、设置和删除运行时变量。

getVar

获取运行时变量

示例:

let petId = bru.getVar("petId");
setVar

设置 runtime 变量

示例:

let data = res.getBody();bru.setVar("petId", data.id);
deleteVar

删除运行时变量

示例:

bru.deleteVar("petId");

请求顺序

您可以影响请求运行进程 (UI) 或 CLI 运行请求的顺序。

setNextRequest

默认情况下,集合运行进程 (UI) 和 CLI 按顺序运行请求。您可以通过使用下一个要运行的请求的名称调用 setNextRequest 来更改顺序。这仅适用于 post-request 脚本或 test-script。

示例:

bru.setNextRequest("Get process status");

您还可以通过将下一个请求显式设置为 null 来中止运行

bru.setNextRequest(null);  // aborts the run gracefully