Postman父查询子加载测试

/ 测试 / 没有评论 / 2122浏览

新建Collection

新建环境变量

全局检测设置

右击 Collection -> Edit -> Tests

var res = JSON.parse(responseBody);
pm.test('statusOk', function () {
    var result = res.code=="00";
    pm.expect(result).is.be.true //如何状态不等于00,则失败
});

一、新建Request名称为 "查询"

{
	"id":"{{query_id}}",
	"name":"{{query_name}}"
}
var res = JSON.parse(responseBody);
var data = res.data;
var list = data.list;
pm.globals.set("list", list);
pm.globals.set("index", 0);
console.log(list)
{
    "code": "00",
    "message": "处理成功",
    "data": {
        "pageIndex": 1,
        "pageSize": 20,
        "pageTotal": 3,
        "list": [
            {
                "id": "1",
                "name": "2"
            },
            {
                "id": "2",
                "name": "2"
            },
            {
                "id": "777",
                "name": "666"
            }
        ],
        "pageStart": 0,
        "pageEnd": 20
    },
    "target": null
}

二、新建Request 名称为“加载”

{
	"id":"{{id}}"
}
var index = pm.globals.get("index");
var list = pm.globals.get("list");
var id = list && list[index] && list[index].id || "";
console.log("id:" + id + " index:" + index);
pm.globals.set("id",id);
pm.globals.set("index", ++index);

Tests代码:

var index = pm.globals.get("index");
var list = pm.globals.get("list");
if(list.length>index) {
    postman.setNextRequest('加载');
}else {
    postman.setNextRequest(null);
}

三、运行集合

四、最终项目文件

{
	"info": {
		"_postman_id": "1a07ea40-79ba-49ba-ae2e-7493c15b52b0",
		"name": "tbd-demo",
		"description": "请求DEMO",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "查询",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "d1b6c725-afd0-4ed8-968d-ad80b8c6aedd",
						"exec": [
							"var res = JSON.parse(responseBody);\r",
							"var data = res.data;\r",
							"var list = data.list;\r",
							"pm.globals.set("list", list);\r",
							"pm.globals.set("index", 0);\r",
							"console.log(list)"
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"name": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n\t"id":"{{query_id}}",\n\t"name":"{{query_name}}"\n}"
				},
				"url": {
					"raw": "{{demo_url}}/demo/query",
					"host": [
						"{{demo_url}}"
					],
					"path": [
						"demo",
						"query"
					]
				},
				"description": "请求"
			},
			"response": []
		},
		{
			"name": "加载",
			"event": [
				{
					"listen": "prerequest",
					"script": {
						"id": "815403e9-bdc1-43bf-a143-a118e864586d",
						"exec": [
							"var index = pm.globals.get("index");\r",
							"var list = pm.globals.get("list");\r",
							"var id = list && list[index] && list[index].id || "";\r",
							"console.log("id:" + id + " index:" + index);\r",
							"pm.globals.set("id",id);\r",
							"pm.globals.set("index", ++index);"
						],
						"type": "text/javascript"
					}
				},
				{
					"listen": "test",
					"script": {
						"id": "b6ad4618-8207-4dea-b651-205da10c9fff",
						"exec": [
							"var index = pm.globals.get("index");\r",
							"var list = pm.globals.get("list");\r",
							"if(list.length>index) {\r",
							"    postman.setNextRequest('加载');\r",
							"}else {\r",
							"    postman.setNextRequest(null);\r",
							"}"
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"name": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n\t"id":"{{id}}"\n}"
				},
				"url": {
					"raw": "{{demo_url}}/demo/load",
					"host": [
						"{{demo_url}}"
					],
					"path": [
						"demo",
						"load"
					]
				},
				"description": "加载数据"
			},
			"response": []
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"id": "c3c80252-3908-439c-93e3-024fa6ef37e0",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"id": "e2005847-c784-4cdf-91e5-9e843a83481d",
				"type": "text/javascript",
				"exec": [
					"var res = JSON.parse(responseBody);",
					"pm.test('statusOk', function () {",
					"    var result = res.code=="00";",
					"    pm.expect(result).is.be.true // 如果用户email不存在,断言则会失败",
					"});",
					""
				]
			}
		}
	]
}