JavaScript 代码
JavaScript 与 TypeScript 共用同一套执行环境: 同一个引擎、同一套 API、同一个内置库。本页只聚焦于它特有的部分 —— 兼容层。
// `input` = 收到的值,`vars` = 运行变量const utilisateurs = input.data.filter((u) => u.actif);
console.log(`${utilisateurs.length} utilisateurs actifs`);
return _.sortBy(utilisateurs, 'nom');Postman 兼容
Section titled “Postman 兼容”正是它让导入的 Postman 集合中的脚本无需重写即可运行。
| 接口面 | 说明 |
|---|---|
pm.variables、pm.environment、pm.globals、pm.collectionVariables | 全部映射到运行变量这一个统一空间 |
pm.iterationData | 迭代数据 |
pm.request、pm.response | 当前的请求与响应 |
pm.test(name, fn)、pm.test.skip | 测试 |
pm.expect | 断言(chai) |
pm.sendRequest | 一次额外的调用 |
pm.info | 执行元数据 |
pm.vault | 保险库 |
pm.visualizer.set(gabarit, données) | 可视化器 |
pm.cookies、pm.cookies.jar() | Cookie |
pm.setNextRequest、pm.execution.setNextRequest、.skipRequest、.location | 流程控制 |
postman.getResponseHeader | 旧版 API |
pm.test('le statut est 200', function () { pm.expect(pm.response.code).to.eql(200);});
pm.environment.set('commandeId', pm.response.json().id);Bruno 兼容
Section titled “Bruno 兼容”面向导入的 Bruno 集合:bru.* 对象 ——
包括 bru.runRequest(name) —— 以及可以裸用的 test() 函数。
这些兼容层存在的目的是让导入时什么都不会坏掉。中期来看,还是应优先使用原生节点:
一个断言比埋在脚本里的 pm.test 更易读,
它的 then / else 两个输出在图中一目了然,而它的消息会直接出现在 CI 日志里。