Post

Postman env manager

为什么要环境管理

  • 你有生产 API 和开发 API,在不同的位置。
  • 你用两个环境,一个用于开发和生产。
  • 每个环境包含一个变量来存储基础 URL。
  • 指的是变量集合中的每个请求的 URL 字段。
  • 你之间切换环境运行时要求测试它们对开发或生产环境。
  • 在您的组织中,您可能有一个团队,只有进入开发环境,并与编辑个体的团队成员和只读存取特定环境。

创建一个环境

  • Environment quick look (eye) and Manage environments (gear) buttons 可以查看、创建、修改
  • 点击 Manage environments -> Add
  • 给此环境赋予名字 Environment Name
  • 输入一个名称为您的变量,并指定 最初的 和 当前的 值——默认将当前值复制初始值

    • Initial Value(初始值)通过邮递员服务器和同步到您的帐户与任何合作者访问共享环境
    • Current Value(当前值)是当地的邮递员程序,不会同步到您的帐户或共享与您的团队,除非你选择坚持它

    当前值访问时用到的值,通过脚本改变值,也会用到这个值

使用环境变量

在一个请求使用一个环境变量值,引用它的名字,包围了 双花括号 :

脚本

1
2
3
4
5
6
7
8
tests["StatusOK"] = pm.response.code == 200;
var jsonData = pm.response.json();
if (jsonData.token) {
  tests["Token found"] = true;
  pm.environment.set("TOKEN", jsonData.token);
} else {
  tests["Token found"] = false;
}

Tests

使用的环境变量设置值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  "id": "1a3920a2-534e-410b-829e-54b9a7038933",
  "name": "im_square(8003)",
  "values": [
    {
      "key": "URL",
      "value": "http://172.12.15.248:8003",
      "enabled": true
    },
    {
      "key": "releaseTime",
      "value": "1234567890",
      "enabled": true
    },
    {
      "key": "page",
      "value": "1",
      "enabled": true
    },
    {
      "key": "pageSize",
      "value": "1",
      "enabled": true
    },
    {
      "key": "uid",
      "value": "9f070ce000000",
      "enabled": true
    }
  ],
  "_postman_variable_scope": "environment",
  "_postman_exported_at": "2020-07-02T02:13:07.394Z",
  "_postman_exported_using": "Postman/7.27.1"
}

request post

  • url **/im_square/get_info_list
  • request body

    ```json { “page”: `### 为什么要环境管理

  • 你有生产 API 和开发 API,在不同的位置。
  • 你用两个环境,一个用于开发和生产。
  • 每个环境包含一个变量来存储基础 URL。
  • 指的是变量集合中的每个请求的 URL 字段。
  • 你之间切换环境运行时要求测试它们对开发或生产环境。
  • 在您的组织中,您可能有一个团队,只有进入开发环境,并与编辑个体的团队成员和只读存取特定环境。

创建一个环境

  • Environment quick look (eye) and Manage environments (gear) buttons 可以查看、创建、修改
  • 点击 Manage environments -> Add
  • 给此环境赋予名字 Environment Name
  • 输入一个名称为您的变量,并指定 最初的 和 当前的 值——默认将当前值复制初始值

    • Initial Value(初始值)通过邮递员服务器和同步到您的帐户与任何合作者访问共享环境
    • Current Value(当前值)是当地的邮递员程序,不会同步到您的帐户或共享与您的团队,除非你选择坚持它

    当前值访问时用到的值,通过脚本改变值,也会用到这个值

使用环境变量

在一个请求使用一个环境变量值,引用它的名字,包围了 双花括号 :{{bases_url}}

脚本

1
2
3
4
5
6
7
8
tests["StatusOK"] = pm.response.code == 200;
var jsonData = pm.response.json();
if (jsonData.token) {
  tests["Token found"] = true;
  pm.environment.set("TOKEN", jsonData.token);
} else {
  tests["Token found"] = false;
}

Tests

使用的环境变量设置值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  "id": "1a3920a2-534e-410b-829e-54b9a7038933",
  "name": "im_square(8003)",
  "values": [
    {
      "key": "URL",
      "value": "http://172.12.15.248:8003",
      "enabled": true
    },
    {
      "key": "releaseTime",
      "value": "1234567890",
      "enabled": true
    },
    {
      "key": "page",
      "value": "1",
      "enabled": true
    },
    {
      "key": "pageSize",
      "value": "1",
      "enabled": true
    },
    {
      "key": "uid",
      "value": "9f070ce000000",
      "enabled": true
    }
  ],
  "_postman_variable_scope": "environment",
  "_postman_exported_at": "2020-07-02T02:13:07.394Z",
  "_postman_exported_using": "Postman/7.27.1"
}

request post

  • url {{URL}}/im_square/get_info_list
  • request body

    1
    2
    3
    4
    5
    
    {
      "page": `{{page}}`,
      "pageSize": `{{pageSize}}`,
      "uid": "{{uid}}"
    }
    

正确的返回值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "total": 1,
    "infos": [
      {
        "id": 30051,
        "uId": "9f070ce000000",
        "uPortrait": "images&1.png",
        "uName": "Cc360428",
        "uSex": 0,
        "mediaUrl": [
          "images&09ee96d63eb9afc5018f5ac4244c5666.jpg",
          "images&c577fe740c5d4e819039bb7c92c917e9.jpg"
        ],
        "content": "图文",
        "likeNumber": 7,
        "likeCheck": true,
        "commentNumber": 0,
        "releaseTime": 1593585321,
        "state": 0,
        "infoType": 0,
        "reportCheck": true,
        "songResourceId": 0,
        "songTitle": "",
        "singer": "",
        "leadSinger": "",
        "followUp": "",
        "followUpNumber": 0
      }
    ]
  }
}

脚本设置环境变量以及读取 ,获取 response 值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
code = pm.response.code == 200;
var jsondata = pm.response.json();
var base_url = pm.environment.get("URL");
console.log("获取环境变量参数 base_url", base_url);
console.log("code", code);
if (code) {
  console.log("jsondata", jsondata);
  if (jsondata.code == 0) {
    for (var i = 0; i < jsondata.data.infos.length; i++) {
      console.log("for->", jsondata.data.infos[i].releaseTime);
      pm.environment.set("releaseTime", jsondata.data.infos[i].releaseTime);
    }
  } else {
    console.log("请求正常 但是相应错误");
    console.log("error Message", jsondata.message);
  }
} else {
  console.log("请求错误");
}

, "pageSize": `, “uid”: “” }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#### 正确的返回值

```json
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "total": 1,
    "infos": [
      {
        "id": 30051,
        "uId": "9f070ce000000",
        "uPortrait": "images&1.png",
        "uName": "Cc360428",
        "uSex": 0,
        "mediaUrl": [
          "images&09ee96d63eb9afc5018f5ac4244c5666.jpg",
          "images&c577fe740c5d4e819039bb7c92c917e9.jpg"
        ],
        "content": "图文",
        "likeNumber": 7,
        "likeCheck": true,
        "commentNumber": 0,
        "releaseTime": 1593585321,
        "state": 0,
        "infoType": 0,
        "reportCheck": true,
        "songResourceId": 0,
        "songTitle": "",
        "singer": "",
        "leadSinger": "",
        "followUp": "",
        "followUpNumber": 0
      }
    ]
  }
}

脚本设置环境变量以及读取 ,获取 response 值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
code = pm.response.code == 200;
var jsondata = pm.response.json();
var base_url = pm.environment.get("URL");
console.log("获取环境变量参数 base_url", base_url);
console.log("code", code);
if (code) {
  console.log("jsondata", jsondata);
  if (jsondata.code == 0) {
    for (var i = 0; i < jsondata.data.infos.length; i++) {
      console.log("for->", jsondata.data.infos[i].releaseTime);
      pm.environment.set("releaseTime", jsondata.data.infos[i].releaseTime);
    }
  } else {
    console.log("请求正常 但是相应错误");
    console.log("error Message", jsondata.message);
  }
} else {
  console.log("请求错误");
}
This post is licensed under CC BY 4.0 by the author.