设置变量

Postman中的变量主要有两种类型

  • environment 环境变量
  • Globals 全局变量

    设置全局变量(Globals)

    操作步骤
  1. 设置变量

image.png
到达变量设置界面
image.png
设置完成之后,保存变量。
image.png
保存完成之后可以预览变量。
image.png

使用变量

变量设置好之后,可以在预览中查看。现在使用变量。
使用方式为 {{变量名}}

比如上面设置的变量名为 city,那么在代码中运行,使用变量 {{city}}
image.png


根据上面的操作,将发送企业微信中的内容 城市名 使用变量来表示。
image.png

动态设置变量

天气预报接口中不同的城市,不同日期,返回的天气信息信息不一样。

json数据格式

在做接口测试的时候,服务器返回的时候通常是json格式。
json数据格式的特征,最外层使用大括号。里面的 使用 key:value 成对的出现。

  1. {
  2. "name":"王大厨",
  3. "age":30
  4. }

使用上面的数据表示:

  • name 值为 "王大厨"
  • age 值为 30

访问json格式数据方式,通过json的key值来访问。

  1. var user = {
  2. "name":"王大厨",
  3. "age":30
  4. }
  5. // 访问用户的年龄
  6. user["age"]
  7. // 访问用户的名字
  8. user["name"]

上面的数据是保存单个数据,也可以使用json来保存多个对象的数据信息,多个数据放在一起使用[] 括起来。

  1. var students = {
  2. "users":[
  3. {"name":"xiaowang","age":20},
  4. {"name":"xiaoxiao","age":21},
  5. {"name":"dawang","age":20},
  6. {"name":"zhandan","age":19},
  7. {"name":"dandan","age":20}
  8. ]
  9. }

访问有多个数据格式中的数据

  1. // 获取所有同学的信息
  2. students["users"]
  3. // 获取第1个同学的信息
  4. students["users"][0] // {"name":"xiaowang","age":20}
  5. // 获取第一个同学的age
  6. students["users"][0]["age"]

postman Tests 测试面板

image.png
可以在postman的【Tests】中添加代码,使用代码的方式进行动态变量传参。

使用代码设置变量

  1. 在 天气预报 接口中, 现在使用代码的方式来设置变量。将服务器返回的结果中 天气值设置为变量 ```javascript // 设置另外一个变量,postman中内置的服务器返回结果为 pm.response.json() var jsondata = pm.response.json()

// 天气信息 pm.globals.set(“weather”,jsondata[“result”][“weather”])

  1. ![](https://cdn.nlark.com/yuque/0/2021/jpeg/87080/1632817072384-7db7c595-e8ce-4a64-88c2-c2b7a86f80bd.jpeg)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/87080/1632816066273-d3a49f89-01b2-470c-87c1-12c5616679e6.png#clientId=ude909949-219a-4&from=paste&height=712&id=u87429c72&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1424&originWidth=1966&originalType=binary&ratio=1&size=296422&status=done&style=none&taskId=u791e3732-6279-47f1-9d72-860ef5c6ddf&width=983)
  2. <a name="lKCXA"></a>
  3. ### 设置变量
  4. 1. 在天气预报接口中将服务器返回的结果中 `weather` 对应的值设置为变量,
  5. 1. 设置如下变量
  6. 1. `temp` 当前温度
  7. 1. `temphigh` 最高温度
  8. 1. `templow` 最低温度
  9. 1. `date`
  10. 1. `week`
  11. ```javascript
  12. // 设置另外一个变量,postman中内置的服务器返回结果为 pm.response.json()
  13. var jsondata = pm.response.json()
  14. // 天气信息
  15. pm.globals.set("weather",jsondata["result"]["weather"])
  16. // 日期
  17. pm.globals.set("date",jsondata["result"]["date"])
  18. // 星期
  19. pm.globals.set("week",jsondata["result"]["week"])

动态变量的意义

上面我们做了2个接口,

  1. 获取城市的最新天气信息
  2. 将这个城市的天气信息发送到企业微信中。

postman-01 变量 - 图8

在企业app应用中,每个接口都需要使用到 token 令牌, token获取有专门的接口获取。 token 还有失效时间。

在企业微信中

获取token接口

请求地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken
请求方式:GET
请求参数(Query):

参数 必须 备注
corpid ww88fc20d87e4cdfa1 企业id
corpsecret 8kZYaPdkie4nuh3itIwhgUKpam5Xyoq5hU4uivaswp4 应用密钥

返回结果

  1. {
  2. "errcode": 0,
  3. "errmsg": "ok",
  4. "access_token": "accesstoken000001",
  5. "expires_in": 7200
  6. }
参数 说明
errcode 出错返回码,为0表示成功,非0表示调用失败
errmsg 返回码提示语
access_token 获取到的凭证,最长为512字节
expires_in 凭证的有效时间(秒)

查询会议室

请求地址:https://qyapi.weixin.qq.com/cgi-bin/oa/meetingroom/list
请求方式:POST
请求参数(query)

参数 必填 说明
access_token 从获取token接口中获取

请求参数(body) 格式:json

  1. {
  2. "city":"深圳",
  3. "building":"腾讯大厦",
  4. "floor":"18F"
  5. }
参数 必须 说明
city 会议室所在城市
building 会议室所在楼宇
floor 会议室所在楼层

附件

企业微信api.postman_collection.json
接口测试.postman_collection.json

如何使用

下载完成附件之后,打开Postman
image.png

作业:

  1. 根据接口文档 将 获取token 查询会议室接口 在postman中做一下
    1. 达标的标准:能够查询出来会议室结果即可。
  2. http,https的区别

    1. HTTPHTTPS有什么区别?
    2. HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSLSecure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
    3. HTTPSHTTP的区别主要如下:
    4. 1https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
    5. 2http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    6. 3httphttps使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
    7. 4http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
  3. 天气预报接口用例编写,需要包含异常场景的用例;

用例编写参考 https://www.yuque.com/imhelloworld/bypiud/ved6xa#PV2Ww