新建Collection
新建环境变量
- 名称为
demo_url
,值为http://127.0.0.1:9800
。 - 名称为
query_id
,值为空,不为空则为需要查询的值,可以不填写。 - 名称为
query_name
,值为空,不为空则为需要查询的值,可以不填写。
全局检测设置
右击 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名称为 "查询"
- 请求地址:
{{demo_url}}/demo/query
- 请求参数:
{
"id":"{{query_id}}",
"name":"{{query_name}}"
}
- Tests代码:
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 名称为“加载”
- 请求地址:{{demo_url}}/demo/load
- 请求参数:
{
"id":"{{id}}"
}
- Pre-request Scripts 代码:
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);
}
三、运行集合
四、最终项目文件
- tbd-demo.postman_collection.json
{
"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不存在,断言则会失败",
"});",
""
]
}
}
]
}
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2020/05/17 03:12