postman
参考:
官方文档:https://learning.postman.com/docs/writing-scripts/script-references/test-examples/
断言:https://www.jianshu.com/p/26d3c2e0b688
例子:https://learning.postman.com/docs/writing-scripts/script-references/test-examples/#getting-started-with-tests
1.断言。在Tests选项里,用javascript编写的,对象是pm对象,即postman对象。断言脚本是在执行了请求后才执行的。
1)响应体作为json格式,取code为断言。可在右边的snippets里选择合适 的断言方式,下面是json值检查。
js代码片段
pm.test(“code”, function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(200);
});
断言结果,在下方的Test Result选项可查看断言结果。
2)状态码:
pm.test(“Status code is 200”, function () {
pm.response.to.have.status(200);
});
3)Response Body :Contains string【响应体包含指定的字符串】
pm.test(“Body matches string”, function () {
pm.expect(pm.response.text()).to.include(“string_you_want_to_search”);
});
4)完整的响应体断言,is equal to a string:
pm.test(“Body is correct”, function () {
pm.response.to.have.body(“response_body_string”);
});
5)用响应头做断言,可以把Content-type换成其他的响应头参数名。
pm.test(“Content-Type is present”, function () {
pm.response.to.have.header(“Content-Type”);
});
6)用响应时间做断言,少于200ms则为通过
pm.test(“Response time is less than 200ms”, function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
7)post请求的状态码做断言,预期状态码是200或202则为通过。
pm.test(“Successful POST request”, function () {
pm.expect(pm.response.code).to.be.oneOf([200, 202]);
});
8)状态码,状态代码名称有字符串。code name has string.
2.其他片段使用
1)响应体:将xml格式的响应体转换为json对象
2)use tiny validate for json data【对 json 数据使用小验证】
3.参数化,引用外部文件如csv,text等.首先,先新建一个text文件或csv文件,逗号隔开,比如新建一个login.txt文件,格式如下:
1)先建一个集合,然后再新建一个文件夹。【右键会d出新增选项】
2)右键文件夹名,选择“add request”,在文件夹里新增一个request请求.包括协议、ip地址、请求头、请求体的参数。用户名和密码参数化,需要用{{}}来引用login.txt中的用户名和密码,{{username}}、{{pwd}}
3)添加断言方式,在这里我用json提取出success字段来判断是否登录成功,true为登录成功。点击Tests栏,然后设置断言方式。
4)单击文件夹名,然后在右边点击Run按钮,配置参数文件和执行条件。
5)执行结果
4.获取token并赋值为全局变量。在登录接口的Tests栏目,用以下代码片段即可获取
var jsonData = pm.response.json();
var token = jsonData.data.token
pm.globals.set(“newToken”,token)
5.也可以直接设置全局变量,点击右侧的眼睛图标,然后在表格里填写变量名和对应的值,引用时直接用{{变量名}}的方式引用即可。
6.postman和requests上传文件
先看看接口的参数,files必须是文本流,即二进制流。
再看看请求头
所以postman中也要选择相应的请求头和参数。用的是param,附件文件要选"file"
对应的requests.post()有点诡异,为此耽误了很多时间。文件要用files参数,且是"rb"读取为二进制流。值得注意的是,Content-Type不用加,加了就报错500.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)