接口工具postman02-功能使用

本文介绍了Postman中的关键功能,如断言检查响应、文件上传、使用全局和环境变量、参数化测试以及接口间的关联。通过实例展示了如何在测试过程中处理不同数据和头信息,以确保API接口的正确性。
摘要由CSDN通过智能技术生成

2 功能

2.1 断言
  • Check if response body contains a string (检查响应主体是否包含字符串)
pm.test("响应正文包含", function () {
    pm.expect(pm.response.text()).to.include("add-successful");
});
  • Check if response body is equal to a string (检查响应主体是否等于一个字符串)
// 响应正文为:add-successful
pm.test("响应正文等于", function () {
    pm.response.to.have.body("successful");
});

// 断言失败,报错如下
// 响应正文等于 | AssertionError: expected response body to equal 'successful' but got 'add-successful'
  • responseTime小于
pm.test("响应时间小于", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});
  • js中常见的pm.response
// 返回的响应对象
pm.response 

// 返回的头信息
pm.response.headers

// 返回的状态码
pm.response.code

// 返回的文本内容
pm.response.text

// 返回的响应时间
pm.response.responseTime

// 返回的json串
pm.response.json()


2.2 上传文件

使用案例woniusales的批次导入功能,抓包数据如下:

  • headers
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryqCWG6rRC5rcNBGUr
  • body

image-20210927110132265

因为content-type的类型是multipart/form-data,所以请求数据的传输类型应该为form-data:

image-20210927110314376

接下来就可以开始填写body的数据了:

image-20210927110639297

在发送请求之前,最好检查一下cookie是否有值:

image-20210927110714364

可以看到cookie是有值的,但是这次不用他了,我们手动在header中添加一下cookie:

image-20210927110930134

现在就可以点击发送了:

image-20210927111405163

2.3 全局变量

全局变量:作用于所有的测试集,host域名

环境变量:作用于某个测试集

文件变量:postman外部创建一个csv或者txt的文件,变量放进去

设置变量的位置在postman的右上角有一个眼睛图标,点击后弹出的窗口可以设置全局变量:

image-20210927115544318

点击globals区域右侧的edit,弹出窗口如下:

image-20210927115917225

点击save保存全局变量的值,接下来就是引用了,引用规则为{{全局变量名字}}:

image-20210927120116820

2.4 环境变量

作用域生效为某个测试集

进入设置环境变量的页面:

image-20210927120346790

点击上半截的edit只能对当前选择的环境进行更新,如果要添加新的环境变量,需要点击右上角的齿轮:

image-20210927120535246

点击齿轮:

image-20210927120639188

点击add:

image-20210927120750652

image-20210927121039411

请求界面如下:

image-20210927143603158

2.5 参数化

数据驱动:ddt

把数据放到代码的外面,让测试根据数据的走向而走下去

在woniusales上面,准备一个txt的文件,文件中存放新增会员变量,然后我在读取这个txt从而实现脚本的参数化。

  1. 准备txt或者csv文件,用来存放测试数据

image-20210927145925380

  1. 创建一个测试集,添加一个请求add_customer,请求数据如下:

image-20210927150029003

  1. 在测试集右侧点击箭头,打开run界面:

image-20210927150120122

  1. 点击run:

image-20210927150401339

  1. 点击选择文件:

image-20210927150513277

  1. 预览测试数据:

image-20210927150538237

  1. 确认数据没有问题,点击run开始执行:

image-20210927150610819

2.6 接口关联

A接口响应结果中包含B接口的请求数据

login接口的响应结果中有cookie,add_customer中请求头里面需要有一个cookie,这个cookie正好是login响应的那个cookie

构造一个场景:

  • 先发送一个登录的请求
  • 在tests窗口获取登录请求输出的headers
  • 通过js的代码解析出headers中的cookie
  • 把cookie的值存为一个环境变量
  • 再发送一个添加会员的请求,该请求中使用环境变量来获取cookie

接下来我们完成具体工作:

  1. 创建一个login的请求,请求头和请求数据都是一般数据,清除cookie内容,tests的内容如下:
// step1:获取响应的头文件
var login_headers = pm.response.headers;
console.log(login_headers);

// step2:把头信息转换为json串
var json_login_headers = JSON.stringify(login_headers);
console.log(json_login_headers);

// step3:把json转换数组
var array_login_headers = JSON.parse(json_login_headers);
console.log(array_login_headers);

// step4:获取cookie_data,根据下标从0开始
var cookie_data = array_login_headers[1];

// step5:获取JSESSIONID,根据key
var jsessionid_data = cookie_data["value"]
console.log(jsessionid_data);

// step6:把JSESSIONID设置为环境变量
pm.environment.set("aaaa", jsessionid_data);

控制台的数据如下:

image-20210927161007945

检查环境变量中是否出现aaa变量:

image-20210927161047005

  1. 创建add_customer请求,请求的数据中需要在头文件中添加cookie:

image-20210927161351963

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值