开发工具-网络测试工具 POSTMAN 的脚本使用
- postman 脚本应用基础
- 设置变量、获取变量示例
- 环境变量的使用
- 测试
- 发送请求示例
- 常用的变量、方法
- responseBody 获取响应体内容
- pm.response 获取响应信息
- pm.expect() JSON检查
- cheerio.load() 类似于 jquery 操作 html 元素
POSTMAN 是网络编程中最常用的接口测试工具之一,能够使用脚本进行连续的自动测试。这里是以本地应用版为基础环境。
参考资料:
Postman接口自动化测试
postman 脚本应用基础
postman 可以在发送请求前使用脚本进行预处理,收到响应后使用脚本进行测试。
脚本的一些测试过程可以使用类似浏览器的控制台查看,在应用程序的左下角,或使用快捷键 “Ctrl + Alt + C”
设置变量、获取变量示例
在脚本中设置变量后,可以在请求中使用这些设置的变量,例如:
- 在脚本中设置一个环境变量,变量名称
veriable_key
,变量值为veriable_value
pm.environment.set("variable_key", "variable_value");
- 可以使用相应的方法来获取此变量的值,并在控制台输出结果
console.log(pm.environment.get("variable_key"));
- 点击发送,可以在控制台查看结果
设置、获取、清除的方法可以使用右侧的链接添加
环境变量的使用
设置好环境变量后,可以在发送请求设置中使用,例如有一个环境变量名为 pass 的变量:
这样就可以使用环境变量在请求中设置参数、请求头等信息了。
测试
预请求在请求发送前处理,测试在收到响应时进行。测试方法 pm.test()
的结果是否通过会在响应栏的测试结果中进行提示。
发送请求示例
可以在脚本中直接发送测试请求
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
console.log(response.json());
});
错误信息在 err 中,响应信息是 response。
常用的变量、方法
应用程序右侧可以添加一些常用的片段,除此之外还有一些能用到的变量、方法:
responseBody 获取响应体内容
responseBody 就是响应包的内容,类型为字符串。如果是 json 可以使用 JSON.parse(responseBody)
将其转化为对象。
pm.response 获取响应信息
pm.response 是pm对象的一个属性,用于记录一些 response 信息。如果 response 是 json,则可以使用 pm.response.json()
获取。
pm.expect() JSON检查
pm.expect()
方法用于检查 json 数据,例如检查一个 json 对象的 book (数组类型) 属性中第一个的 rating 属性的 numRaters 的值,为51459:
let jsonData = pm.response.json();
// 测试检查 jsonData.book[0].rating.numRaters 属性的值
pm.expect(jsonData.book[0].rating.numRaters).to.eql(51459);
cheerio.load() 类似于 jquery 操作 html 元素
当响应内容是个页面时,content_type 为 text/html,则可以使用这个方法获取页面中的各元素,并使用类似 jquery 的方式来获取需要的数据。
const $ = cheerio.load(pm.response.text())
console.log($('title').text()) // 获取 title 标签的文本内容
console.log($('#csrf').attr('value')) // 获取标签的 value 属性值
这样就可以将需要的数据保存至环境变量中使用了。