概述
Postman
是一个接口测试和 http 请求的神器,非常好用。 官方 github 地址: https://github.com/postmanlabs
可从官网进行下载安装。
️ Postman 的优点:
- 支持各种的请求类型: get、post、put、patch、delete 等;
- 支持在线存储数据,通过账号就可以进行迁移数据;
- 很方便的支持请求 header 和请求参数的设置;
- 支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等;
- 响应数据是自动按照语法格式高亮的,包括 HTML,JSON 和 XML。
基础功能
页面访问请求
- 点击应用中“Postman”,会弹出登陆页面,完成登陆或跳过,进入Postman主页面。
- 在Get后面的输入框中输入:
http://www.baidu.com
,点击send
按钮:
请求参数修改
- 百度搜索内容参数化:
https://www.baidu.com/s?wd=666&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=6&rsv_sug1=5&rsv_sug2=0&inputT=1212&rsv_sug4=1212
针对请求中的 wd:666 进行修改。
- 将此地址复制到Postman的地址栏中,点击
Params
:
- 将wd对应的值“666”,修改为“2333”,点击
Send
。请求的搜索内容变为“2333”的搜索结果:
接口验证请求
- 验证返回的页面中包括指定的字符串:页面中包括“2333”。
- 点击地址栏下面的
Tests
页卡,进入Tests脚本编写页面:
- 点击右侧的
“Response body:Contains string”
,脚本编辑框中会显示出验证的具体脚本:tests[“Body matches string”] = responseBody.has(“string_you_want_to_search”);
修改“string_you_want_to_search”为“2333”,完成验证代码的编写 - 点击
Send
按钮,重新发送请求,并执行测试:Tests(1/2):
内置脚本介绍
1. 清除一个全局变量
Clear a global variable
对应脚本:
postman.clearGlobalVariable("variable_key");
参数:需要清除的变量的key
2. 清除一个环境变量
Clear an environment variable
对应脚本:
postman.clearEnvironmentVariable("variable_key");
参数:需要清除的环境变量的key
3. response包含内容
Response body:Contains string
对应脚本:
tests["Body matches string"] =responseBody.has("string_you_want_to_search");
参数:预期内容
4. 将xml格式的response转换成json格式
Response body:Convert XML body to a JSON Object
对应脚本:
var jsonObject = xml2Json(responseBody);
参数:(默认不需要设置参数,为接口的response)需要转换的xml
5. response等于预期内容
Response body:Is equal to a string
对应脚本:
tests["Body is correct"] = responseBody === "response_body_string";
参数:预期response
6. json解析key的值进行校验
Response body:JSON value check
对应脚本:
tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args
参数:test替换被测的值,args替换被测的key
7. 检查response的header信息是否有被测字段
Response headers:Content-Type header check
对应脚本:
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
参数:预期header
8. 响应时间判断
Response time is less than 200ms
对应脚本:
tests["Response time is less than 200ms"] = responseTime < 200;
参数:响应时间
9. 设置全局变量
Set an global variable
对应脚本:
postman.setGlobalVariable("variable_key", "variable_value");
参数:全局变量的键值
10. 设置环境变量
Set an environment variable
对应脚本:
postman.setEnvironmentVariable("variable_key", "variable_value");
参数:环境变量的键值
11. 判断状态码
Status code:Code is 200
对应脚本:
tests["Status code is 200"] = responseCode.code != 400;
参数:状态码
12. 检查 code name 是否包含内容
Status code:Code name has string
对应脚本:
tests["Status code name has string"] = responseCode.name.has("Created");
参数:预期code name包含字符串
13. 成功的 post 请求
Status code:Successful POST request
对应脚本:
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
14. 微小验证器
Use Tiny Validator for JSON data
对应脚本:
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];
console.log(tv4.error);
tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);
参数:可以修改items里面的键值对来对应验证json的参数
? 推荐链接: