0


接口工具postman02-功能使用

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,根据keyvar 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


本文转载自: https://blog.csdn.net/zhuge_long/article/details/137931533
版权归原作者 蜗牛学苑_武汉 所有, 如有侵权,请联系我们删除。

“接口工具postman02-功能使用”的评论:

还没有评论