首页 > 资讯 > 焦点关注

postman怎么用(postman怎么用token)

来源: 更新时间:2022-12-26 00:08:49
The Beginning

  简介:2dz育儿早教网

  Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。 它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于有的浏览器不能输出Json格式,而Postman更直观接口返回的结果。2dz育儿早教网

  背景:2dz育儿早教网

  当我们使用Postman做接口测试时,不免某些接口请求前需要获取token参数,验证请求是否有效。2dz育儿早教网

  问题引申:当我们获取到token后需要手动添加到请求头里面,一旦token过期了,需要重新获取token,需要手动替换请求头中的token。周而复始麻烦的很!!!2dz育儿早教网

  解决思路:设置Postman中全局变量,将参数返回值token设置全局变量,便于其他接口调用2dz育儿早教网

  Test 简介2dz育儿早教网

  在 postman 中封装了我们常见的断言(Tests),当然 Tests 除了可以作为断言,还可以当做后置处理器2dz育儿早教网

  获取当前接口的响应,传递给下一个接口2dz育儿早教网

  控制多个接口间的执行顺序2dz育儿早教网

  一、【登入接口】获取token2dz育儿早教网

  1.1 设置全局变量2dz育儿早教网

  设置全局参数,添加请求【登入接口】的请求参数2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  1.2 调用全局参数2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  二、【查询接口】并入token2dz育儿早教网

  2.1 【查询接口】token验证2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  2.2 【登录接口】中使用Tests语句自动添加环境变量2dz育儿早教网

  //把返回值解析成json字符串2dz育儿早教网

  var res = JSON.parse(responseBody)2dz育儿早教网

  //参数填充2dz育儿早教网

  postman.setEnvironmentVariable("authorization",res.value.token);2dz育儿早教网

  //简写2dz育儿早教网

  //pm.environment.set("authorization", res.value.token);2dz育儿早教网

  //自动设置值2dz育儿早教网

  //postman.setGlobalVariable("authorization",res.value.token)2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  发送请求运行后,再次查看【登入请求】,全局参数已自动添加token值2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  2.3 【查询接口】中引用参数值2dz育儿早教网

  引用参数值,实现每执行【登入接口】请求,完成token自动赋值替换2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  Tests 中常用方法2dz育儿早教网

  //1、设置环境变量2dz育儿早教网

  postman.setEnvironmentVariable("key", "value");2dz育儿早教网

  或2dz育儿早教网

  pm.environment.set("key", "value");2dz育儿早教网

  //2、设置全局变量2dz育儿早教网

  postman.setGlobalVariable("gv", "111111");2dz育儿早教网

  或2dz育儿早教网

  pm.globals.set("g", "2222");2dz育儿早教网

  //3、检查resonse body中是否包含某个string2dz育儿早教网

  tests["结果:Body matches string"] = responseBody.has("string_you_want_to_search");2dz育儿早教网

  或2dz育儿早教网

  pm.test("结果:Body is correct", function () {2dz育儿早教网

  pm.response.to.have.body("response_body_string");2dz育儿早教网

  });2dz育儿早教网

  //4、验证Status code状态响应码是否是某个值2dz育儿早教网

  tests["Successful POST request"] = responseCode.code === 200 || responseCode.code === 202;2dz育儿早教网

  或2dz育儿早教网

  pm.test("Successful POST request", function () {2dz育儿早教网

  pm.expect(pm.response.code).to.be.oneOf([200,202]);2dz育儿早教网

  });2dz育儿早教网

  Pre-request Script 简介2dz育儿早教网

  Pre-request Script是集合中请求发送之前需要执行的代码片段2dz育儿早教网

  请求参数中包含一个随机数或者请求header中包括一个时间戳,或者你的请求参数需要加密2dz育儿早教网

  一、【登录接口】请求发起前处理2dz育儿早教网

  使用Pre-request Script语句对密码进行加密请求2dz育儿早教网

  var body_json = {2dz育儿早教网

  "userCode" : "admin",2dz育儿早教网

  "passwd" : "123456"2dz育儿早教网

  }2dz育儿早教网

  pwd = body_json["passwd"] // 获取passwd的值2dz育儿早教网

  var pwd = CryptoJS.MD5(pwd).toString() // md5加密pwd变量2dz育儿早教网

  body_json["passwd"] = pwd // 设置passwd为加密后的密码2dz育儿早教网

  console.log(body_json)2dz育儿早教网

  var body_str = JSON.stringify(body_json) // converts objects to strings2dz育儿早教网

  pm.environment.set('request_body', body_str) // 把处理后的body赋值给参数request_body,在body中输入{{request_body}}2dz育儿早教网

  样例:2dz育儿早教网

  2dz育儿早教网

Postman 正确使用姿势


2dz育儿早教网

  Pre-request Script 中常用方法2dz育儿早教网

  // 清除全局变量2dz育儿早教网

  pm.globals.unset("variable_key");2dz育儿早教网

  // 清除环境变量2dz育儿早教网

  pm.environment.unset("variable_key");2dz育儿早教网

  // 获取全局变量2dz育儿早教网

  pm.globals.get("variable_key");2dz育儿早教网

  //获取一个变量2dz育儿早教网

  pm.variables.get("variable_key");2dz育儿早教网

  // 获取环境变量2dz育儿早教网

  pm.environment.get("variable_key");2dz育儿早教网

  //发送一个请求2dz育儿早教网

  pm.sendRequest("https://postman-echo.com/get", function (err, response) {2dz育儿早教网

  console.log(response.json());2dz育儿早教网

  });2dz育儿早教网

  //设置环境变量2dz育儿早教网

  pm.globals.set("variable_key", "variable_value");2dz育儿早教网


2dz育儿早教网

THE END

TAG:[db:关键词]  

猜你喜欢

相关文章