第1课:如何写断言
测试地址 : http://www.v2ex.com/api/topics/hot.json 请求方式: get
tests['状态码必须是200'] = responseCode.code===200; var res=JSON.parse(responseBody); console.log(res.length); tests['必须返回10条记录']=res.length===10;
得到两个ok
第2课:sendbox
https://www.jianshu.com/p/f200a75a15d2/
chai库
第3课 cookie
下载postman echo 库 https://docs.postman-echo.com/?version=latest
console.log(pm.cookies.get('foo1'))
第4课 鉴权
1 basic authenticaion 用户名密码
2 OAuth1.0 (verify signature) 第三方登陆
3 jwt https://learnku.com/articles/19454
第5课 {{变量}}
1 全局变量 global
比如可以将错误提示信息设置成全局变量
如果和环境变量命名有冲突,会被环境变量覆盖
2 环境变量 environment
比如可以将测试domain设置成环境变量
测试接口 https://www.v2ex.com/api/nodes/show.json?name=python
改成 http://www.v2ex.com/api/nodes/show.json?name={{node_name}}
添加生产环境
添加测试环境
在断言里使用
pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); var node_name = pm.environment.get("node_name"); console.log(node_name); pm.test("Your test name name必须和参数的name相等", function () { var jsonData = pm.response.json(); pm.expect(jsonData.name).to.eql(node_name); });
3 本地变量 location
一般在sendbox中定义
4 导入变量 data
数据导入的变量,也就是所谓的参数化
第6课 collection
save为一个collection:v2ex
其中data数据为一个文件:test.json
[{"node_name":"php"},{"node_name":"python"},{"node_name":"qna"}]
发现断言失败,原因是变量取了环境变量,而不是data文件里的变量
修改一下:
测试通过
第7课 从命令行运行
https://www.bilibili.com/video/av70182697?p=23 参考b站视频