runner-runtime 1.0.55 → 1.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/events/api.js +15 -41
- package/events/index.js +8 -2
- package/package.json +2 -2
- package/tmp/request.js +236 -359
package/events/api.js
CHANGED
|
@@ -75,6 +75,10 @@ const convert2PostmanRequest = (request, option) => {
|
|
|
75
75
|
}
|
|
76
76
|
);
|
|
77
77
|
|
|
78
|
+
if (option?.env?.env_id == '2' && !_.includes(_.keys(uri?.query?.toObject()), 'target_id')) {
|
|
79
|
+
uri?.query?.members?.push(new sdk.QueryParam({ key: 'target_id', value: request?.target_id, }));
|
|
80
|
+
}
|
|
81
|
+
|
|
78
82
|
// path 参数
|
|
79
83
|
const uriVariable = [];
|
|
80
84
|
|
|
@@ -2009,49 +2013,19 @@ const initRequestJson = (event, option) => {
|
|
|
2009
2013
|
const requestUrl = _.isString(_.get(requestJson, 'url')) ? _.get(requestJson, 'url') : _.get(requestJson, 'request.url');
|
|
2010
2014
|
const { globals, env } = option;
|
|
2011
2015
|
|
|
2012
|
-
|
|
2013
|
-
|
|
2016
|
+
let envPreUrl = _.trim(_.get(_.find(_.get(option, `env.env_pre_urls`), (server) => {
|
|
2017
|
+
return server?.server_id == envServerID;
|
|
2018
|
+
}), 'uri'));
|
|
2014
2019
|
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
})
|
|
2019
|
-
requestUrlVarReplace = new Url(requestUrlVarReplace)
|
|
2020
|
-
_.unset(requestUrlVarReplace, 'host')
|
|
2021
|
-
} catch (e) { }
|
|
2022
|
-
|
|
2023
|
-
let mockID = requestJson?.target_id;
|
|
2024
|
-
|
|
2025
|
-
if (requestJson?.type == 'sample') {
|
|
2026
|
-
mockID = _.get(getAPIFromCollection(option?.collection, _.get(event, `data.parent_id`)), 'target_id') || mockID;
|
|
2020
|
+
if (envPreUrl != '') {
|
|
2021
|
+
if (option?.env?.env_id == '2' && !_.endsWith(envPreUrl, '/')) {
|
|
2022
|
+
envPreUrl = `${envPreUrl}/`;
|
|
2027
2023
|
}
|
|
2028
2024
|
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
requestUrlVarReplace.query.add({
|
|
2032
|
-
key: "echoapi_id",
|
|
2033
|
-
value: mockID
|
|
2034
|
-
});
|
|
2035
|
-
_.set(requestJson, "url", smartUrlJoin(`https://mock.echoapi.com/mock/${_.get(event, 'data.project_id')}/`, `${String(requestUrlVarReplace)}`));
|
|
2025
|
+
if (!_.startsWith(envPreUrl, '{{') && !_.startsWith(_.toLower(envPreUrl), 'http://') && !_.startsWith(_.toLower(envPreUrl), 'https://')) {
|
|
2026
|
+
_.set(requestJson, "url", smartUrlJoin('http://', envPreUrl, requestUrl));
|
|
2036
2027
|
} else {
|
|
2037
|
-
|
|
2038
|
-
key: "apipost_id",
|
|
2039
|
-
value: mockID
|
|
2040
|
-
});
|
|
2041
|
-
|
|
2042
|
-
_.set(requestJson, "url", smartUrlJoin(`https://mock.apipost.net/mock/${_.get(event, 'data.project_id')}/`, `${String(requestUrlVarReplace)}`));
|
|
2043
|
-
}
|
|
2044
|
-
} else {
|
|
2045
|
-
const envPreUrl = _.trim(_.get(_.find(_.get(option, `env.env_pre_urls`), (server) => {
|
|
2046
|
-
return server?.server_id == envServerID;
|
|
2047
|
-
}), 'uri'));
|
|
2048
|
-
|
|
2049
|
-
if (envPreUrl != '') {
|
|
2050
|
-
if (!_.startsWith(envPreUrl, '{{') && !_.startsWith(_.toLower(envPreUrl), 'http://') && !_.startsWith(_.toLower(envPreUrl), 'https://')) {
|
|
2051
|
-
_.set(requestJson, "url", smartUrlJoin('http://', envPreUrl, requestUrl));
|
|
2052
|
-
} else {
|
|
2053
|
-
_.set(requestJson, "url", smartUrlJoin(envPreUrl, requestUrl));
|
|
2054
|
-
}
|
|
2028
|
+
_.set(requestJson, "url", smartUrlJoin(envPreUrl, requestUrl));
|
|
2055
2029
|
}
|
|
2056
2030
|
}
|
|
2057
2031
|
|
|
@@ -2241,7 +2215,7 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2241
2215
|
})
|
|
2242
2216
|
}
|
|
2243
2217
|
}
|
|
2244
|
-
|
|
2218
|
+
console.log(String(request?.url),111111)
|
|
2245
2219
|
const requestOptions = convert2EchoRequest(request, requestJson, postmanJSON, history);
|
|
2246
2220
|
_.set(eventRuntimeData, [event?.event_id, "request"], requestOptions);
|
|
2247
2221
|
|
|
@@ -2367,7 +2341,7 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2367
2341
|
}
|
|
2368
2342
|
);
|
|
2369
2343
|
|
|
2370
|
-
if (scene === 'auto_test') {
|
|
2344
|
+
if (scene === 'auto_test' || requestJson?.target_type === 'sse') { // 纯粹为了兼容老的数据返回格式 todo...
|
|
2371
2345
|
if (_.includes(['assert', 'assert_visual', 'api', 'sample', 'script', 'sql'], event?.type)) {
|
|
2372
2346
|
eventResultList.push(_.assign(camelCaseToSnakeCase(_.get(_.cloneDeep(eventRuntimeData), event?.event_id)), _.pick(event, ['type', 'event_id', 'test_id', 'iteration_id'])));
|
|
2373
2347
|
|
package/events/index.js
CHANGED
|
@@ -3,7 +3,7 @@ const atomicSleep = require("atomic-sleep"),
|
|
|
3
3
|
aTools = require("apipost-tools"),
|
|
4
4
|
JSON5 = require('json5'),
|
|
5
5
|
_ = require('lodash'),
|
|
6
|
-
{ returnBoolean,variableReplaceForCondition, variableReplace, convertEndRuntimeState } = require('../libs/utils');
|
|
6
|
+
{ returnBoolean, variableReplaceForCondition, variableReplace, convertEndRuntimeState,repeatArrayToLength } = require('../libs/utils');
|
|
7
7
|
const executeApi = require('./api'),
|
|
8
8
|
executeWait = require('./wait');
|
|
9
9
|
|
|
@@ -211,8 +211,14 @@ const events = {
|
|
|
211
211
|
const limit = loopType === 1 ? _.size(iterationData) : _.toInteger(_.get(data, 'limit', 1));
|
|
212
212
|
|
|
213
213
|
if (limit > 0) {
|
|
214
|
+
let iterationDataArr = _.cloneDeep(iterationData);
|
|
215
|
+
|
|
216
|
+
if (loopType === 2) {
|
|
217
|
+
iterationDataArr = repeatArrayToLength(iterationDataArr, limit)
|
|
218
|
+
}
|
|
219
|
+
|
|
214
220
|
const events = _.flatten(_.times(limit, () => _.cloneDeep(children)));
|
|
215
|
-
await iterationEvent(events, _.assign(_.cloneDeep(option), { iterationDataArr
|
|
221
|
+
await iterationEvent(events, _.assign(_.cloneDeep(option), { iterationDataArr, sleep, startTime, timeout }), callback, eventRuntimeData, eventResultList)
|
|
216
222
|
}
|
|
217
223
|
} else if (_.includes([3], loopType)) {
|
|
218
224
|
while (true) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "runner-runtime",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.56",
|
|
4
4
|
"description": "runner-runtime.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"is-image": "^3.0.0",
|
|
30
30
|
"is-svg": "^4.3.2",
|
|
31
31
|
"json-bigint": "^1.0.0",
|
|
32
|
-
"json-schema-faker-pro": "^0.5.
|
|
32
|
+
"json-schema-faker-pro": "^0.5.18",
|
|
33
33
|
"json5": "^2.2.3",
|
|
34
34
|
"jsonpath": "^1.1.1",
|
|
35
35
|
"lodash": "^4.17.21",
|
package/tmp/request.js
CHANGED
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
module.exports =
|
|
1
|
+
module.exports ={
|
|
2
2
|
"option": {
|
|
3
3
|
"scene": "auto_test",
|
|
4
4
|
"globals": {
|
|
5
|
-
"
|
|
5
|
+
"全局": "AAAA"
|
|
6
6
|
},
|
|
7
7
|
"project": {
|
|
8
8
|
"request": {
|
|
9
9
|
"header": {
|
|
10
10
|
"parameter": [
|
|
11
|
-
{
|
|
12
|
-
"description": "",
|
|
13
|
-
"field_type": "object",
|
|
14
|
-
"is_checked": 1,
|
|
15
|
-
"key": "2",
|
|
16
|
-
"value": "2",
|
|
17
|
-
"not_null": 1,
|
|
18
|
-
"schema": {
|
|
19
|
-
"type": "object"
|
|
20
|
-
},
|
|
21
|
-
"param_id": "31a4b7fb6e01a"
|
|
22
|
-
},
|
|
23
11
|
{
|
|
24
12
|
"key": "Accept",
|
|
25
13
|
"value": "*/*",
|
|
@@ -51,55 +39,20 @@ module.exports = {
|
|
|
51
39
|
]
|
|
52
40
|
},
|
|
53
41
|
"query": {
|
|
54
|
-
"parameter": [
|
|
55
|
-
{
|
|
56
|
-
"description": "",
|
|
57
|
-
"field_type": "object",
|
|
58
|
-
"is_checked": 1,
|
|
59
|
-
"key": "2",
|
|
60
|
-
"value": "2",
|
|
61
|
-
"not_null": 1,
|
|
62
|
-
"schema": {
|
|
63
|
-
"type": "object"
|
|
64
|
-
},
|
|
65
|
-
"param_id": "31a525179b01e"
|
|
66
|
-
}
|
|
67
|
-
]
|
|
42
|
+
"parameter": []
|
|
68
43
|
},
|
|
69
44
|
"body": {
|
|
70
|
-
"parameter": [
|
|
71
|
-
{
|
|
72
|
-
"description": "",
|
|
73
|
-
"field_type": "object",
|
|
74
|
-
"is_checked": 1,
|
|
75
|
-
"key": "2",
|
|
76
|
-
"value": "2",
|
|
77
|
-
"not_null": 1,
|
|
78
|
-
"schema": {
|
|
79
|
-
"type": "object"
|
|
80
|
-
},
|
|
81
|
-
"param_id": "31a4ff073501c"
|
|
82
|
-
}
|
|
83
|
-
]
|
|
45
|
+
"parameter": []
|
|
84
46
|
},
|
|
85
47
|
"cookie": {
|
|
86
|
-
"parameter": [
|
|
87
|
-
{
|
|
88
|
-
"description": "",
|
|
89
|
-
"field_type": "object",
|
|
90
|
-
"is_checked": 1,
|
|
91
|
-
"key": "2",
|
|
92
|
-
"value": "2",
|
|
93
|
-
"not_null": 1,
|
|
94
|
-
"schema": {
|
|
95
|
-
"type": "object"
|
|
96
|
-
},
|
|
97
|
-
"param_id": "31a5449f5e020"
|
|
98
|
-
}
|
|
99
|
-
]
|
|
48
|
+
"parameter": []
|
|
100
49
|
},
|
|
101
50
|
"auth": {
|
|
102
|
-
"type": "
|
|
51
|
+
"type": "basic",
|
|
52
|
+
"basic": {
|
|
53
|
+
"username": "mengyu",
|
|
54
|
+
"password": "meinv"
|
|
55
|
+
}
|
|
103
56
|
},
|
|
104
57
|
"pre_tasks": [],
|
|
105
58
|
"post_tasks": []
|
|
@@ -124,11 +77,12 @@ module.exports = {
|
|
|
124
77
|
"server_type": 1,
|
|
125
78
|
"uri": ""
|
|
126
79
|
},
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
80
|
+
"1a89a49bc9808001": {
|
|
81
|
+
"sort": 600,
|
|
82
|
+
"name": "服务2",
|
|
83
|
+
"server_id": "1a89a49bc9808001",
|
|
84
|
+
"server_type": -1,
|
|
85
|
+
"uri": "go.apipost.cn"
|
|
132
86
|
}
|
|
133
87
|
},
|
|
134
88
|
"environment": {}
|
|
@@ -144,11 +98,11 @@ module.exports = {
|
|
|
144
98
|
"path": "/",
|
|
145
99
|
"secure": true,
|
|
146
100
|
"httpOnly": true,
|
|
147
|
-
"creation": "2025-04-
|
|
101
|
+
"creation": "2025-04-21T08:44:38.530Z",
|
|
148
102
|
"name": "liveCookie",
|
|
149
|
-
"cookie_id": "
|
|
150
|
-
"expires": "
|
|
151
|
-
"project_id": "
|
|
103
|
+
"cookie_id": "4f9eb773ab1cf",
|
|
104
|
+
"expires": "Mon, 21 Apr 2025 08:46:39 GMT",
|
|
105
|
+
"project_id": "1a89866533408002"
|
|
152
106
|
},
|
|
153
107
|
{
|
|
154
108
|
"key": "loseCookie",
|
|
@@ -158,11 +112,57 @@ module.exports = {
|
|
|
158
112
|
"path": "/",
|
|
159
113
|
"secure": true,
|
|
160
114
|
"httpOnly": true,
|
|
161
|
-
"creation": "2025-04-
|
|
115
|
+
"creation": "2025-04-21T08:44:38.531Z",
|
|
162
116
|
"name": "loseCookie",
|
|
163
|
-
"cookie_id": "
|
|
164
|
-
"expires": "
|
|
165
|
-
"project_id": "
|
|
117
|
+
"cookie_id": "4f9eb773ab1d0",
|
|
118
|
+
"expires": "Mon, 21 Apr 2025 08:44:39 GMT",
|
|
119
|
+
"project_id": "1a89866533408002"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"key": "security_session_verify",
|
|
123
|
+
"value": "4560bdb4c5ddc22643bc99515ea21fcf",
|
|
124
|
+
"expires": "2025-04-21T13:42:33.000Z",
|
|
125
|
+
"path": "/",
|
|
126
|
+
"httpOnly": true,
|
|
127
|
+
"creation": "2025-04-18T05:42:33.287Z",
|
|
128
|
+
"name": "security_session_verify",
|
|
129
|
+
"cookie_id": "60289db7ab003",
|
|
130
|
+
"domain": "echo.apipost.cn",
|
|
131
|
+
"project_id": "1a89866533408002"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"key": "security_session_verify",
|
|
135
|
+
"value": "4560bdb4c5ddc22643bc99515ea21fcf",
|
|
136
|
+
"expires": "2025-04-21T13:42:29.000Z",
|
|
137
|
+
"path": "/",
|
|
138
|
+
"httpOnly": true,
|
|
139
|
+
"creation": "2025-04-18T05:42:30.039Z",
|
|
140
|
+
"name": "security_session_verify",
|
|
141
|
+
"cookie_id": "60289db7ab004",
|
|
142
|
+
"domain": "echo.apipost.cn",
|
|
143
|
+
"project_id": "1a89866533408002"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"key": "security_session_verify",
|
|
147
|
+
"value": "4560bdb4c5ddc22643bc99515ea21fcf",
|
|
148
|
+
"expires": "2025-04-21T13:42:29.000Z",
|
|
149
|
+
"path": "/",
|
|
150
|
+
"httpOnly": true,
|
|
151
|
+
"creation": "2025-04-18T05:42:30.040Z",
|
|
152
|
+
"name": "security_session_verify",
|
|
153
|
+
"cookie_id": "60289db7ab005",
|
|
154
|
+
"domain": "echo.apipost.cn",
|
|
155
|
+
"project_id": "1a89866533408002"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"key": "BDSVRTM",
|
|
159
|
+
"value": "0",
|
|
160
|
+
"path": "/",
|
|
161
|
+
"creation": "2025-04-18T08:04:03.277Z",
|
|
162
|
+
"name": "BDSVRTM",
|
|
163
|
+
"cookie_id": "602acf0fab006",
|
|
164
|
+
"domain": "www.baidu.com",
|
|
165
|
+
"project_id": "1a89866533408002"
|
|
166
166
|
}
|
|
167
167
|
]
|
|
168
168
|
},
|
|
@@ -177,11 +177,12 @@ module.exports = {
|
|
|
177
177
|
"envfirst": 1,
|
|
178
178
|
"bypass": [],
|
|
179
179
|
"protocols": [
|
|
180
|
-
"http"
|
|
180
|
+
"http",
|
|
181
|
+
"https"
|
|
181
182
|
],
|
|
182
183
|
"auth": {
|
|
183
184
|
"authenticate": -1,
|
|
184
|
-
"host": "",
|
|
185
|
+
"host": "123.57.241.61:3128",
|
|
185
186
|
"username": "",
|
|
186
187
|
"password": ""
|
|
187
188
|
}
|
|
@@ -191,343 +192,219 @@ module.exports = {
|
|
|
191
192
|
"path": "",
|
|
192
193
|
"base64": ""
|
|
193
194
|
},
|
|
194
|
-
"client_cert": {
|
|
195
|
+
"client_cert": {
|
|
196
|
+
"https://cc.apipost.cc:6003": {
|
|
197
|
+
"password": "",
|
|
198
|
+
"crt": {
|
|
199
|
+
"file_url": "",
|
|
200
|
+
"file_base64": "data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9VQ0ZFcDd4Z3J2VVhteWEzTEdmcEFpenRNUkJvN3ZNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1JR0sKTVFzd0NRWURWUVFHRXdKRFRqRVFNQTRHQTFVRUNBd0hRbVZwYW1sdVp6RVFNQTRHQTFVRUJ3d0hRbVZwYW1sdQpaekVRTUE0R0ExVUVDZ3dIWVhCcGNHOXpkREVNTUFvR0ExVUVDd3dEWVhCME1SWXdGQVlEVlFRRERBMWpZeTVoCmNHbHdiM04wTG1Oak1SOHdIUVlKS29aSWh2Y05BUWtCRmhCaFpHMXBia0JoY0dsd2IzTjBMbU5qTUI0WERUSXoKTVRJeE1UQTVOREl4TmxvWERUTXpNVEl3T0RBNU5ESXhObG93Z1lveEN6QUpCZ05WQkFZVEFrTk9NUkF3RGdZRApWUVFJREFkQ1pXbHFhVzVuTVJBd0RnWURWUVFIREFkQ1pXbHFhVzVuTVE4d0RRWURWUVFLREFaaGNHbHZjM1F4CkREQUtCZ05WQkFzTUEyRndkREVXTUJRR0ExVUVBd3dOWTJNdVlYQnBjRzl6ZEM1all6RWdNQjRHQ1NxR1NJYjMKRFFFSkFSWVJZMnhwWlc1MFFHRndhWEJ2YzNRdVkyTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBdwpnZ0VLQW9JQkFRRG5DalNwV2MvVEovcXg2ZHRCRUlKeHhpME0wTWc1M091U0lNK2dMVnNseTl4SVFTTndGWGhrCi8vRzhTOVl0d2lnMHpwZVNLUlhyNi9tdklQcjlsY3RBakRrZzQ4Q1BQSk5YYVo1RTdQVkRYbThtTXhhS2RBeXEKZVBkT2w2bGJ0a0pWRTB0cElWTFo4UkhEOWU4VFdiNENMNFBUSzkrNFhVSElEUU1FTUdNbWFnRUVRd3ordDdSTQpMZDVvcVAxdHVUdlhBbmlUbmU4TnZhYVQ3NDlqcFhYb3lnV29FaVcwOGJ3NmI2TmZwVVEyeFBsSkdrc2tiblRhCisyTWVqb1ZrSlpDbDFlOUhOYXV2a085WjhQamRYMG9nZTM0OE5pZW83amNDWWhBUmttanVJanhiMU1kU3dPdjcKMTVWS3EwcFFwbjNzVHJrWTVqdjZEeis3dWhSaXVnN2pBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBRGFCdG10NHVPaVpoVlpHdmo1Tko2RUhUUFNGZGxBaVd6U2tiSWllV2RIY1NhK0J3K2xBM1kyalJsYnZNUVVaCndiL21jaFRtNjFJRmlKbnYvN1h2MGtmMkJxUzkyMURXenJHa3FWQk5zRUdIMEdhWGVHMVMwL1pkNXg1RE4zMlEKRW9IRE95K2lOeDlwRzA2cy8ybUlGY1E3eXQ0cW9acXFQZUg4U3VIamZOanlnZnZFUGxiYUJHb0Y4V1dneFluLwp3TzlFK2pYN3VvdlZDWXVrY3NyaEprZzJwK3o5MUFVU3p2NlpTbHlnK3pGM2kyM1Q0ZXA5VDhwRTV2eXE3UlFnClNPT3BQd25uN0d5UWd2UzREbU5LMHkyazc5ZUdGb3VnTWxnS3g1Um5nMUQxNEd0ZFcvMlE0WGxNa2tHZ1ZsR2IKRVRkcGlES1JKWjNTTDJPZ1RsSFpibWM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K",
|
|
201
|
+
"file_name": "client (1).crt"
|
|
202
|
+
},
|
|
203
|
+
"key": {
|
|
204
|
+
"file_url": "",
|
|
205
|
+
"file_base64": "data:application/x-iwork-keynote-sffkey;base64,LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBNXdvMHFWblAweWY2c2VuYlFSQ0NjY1l0RE5ESU9kenJraURQb0MxYkpjdmNTRUVqCmNCVjRaUC94dkV2V0xjSW9OTTZYa2lrVjYrdjVyeUQ2L1pYTFFJdzVJT1BBanp5VFYybWVST3oxUTE1dkpqTVcKaW5RTXFuajNUcGVwVzdaQ1ZSTkxhU0ZTMmZFUncvWHZFMW0rQWkrRDB5dmZ1RjFCeUEwREJEQmpKbW9CQkVNTQovcmUwVEMzZWFLajliYms3MXdKNGs1M3ZEYjJtaysrUFk2VjE2TW9GcUJJbHRQRzhPbStqWDZWRU5zVDVTUnBMCkpHNTAydnRqSG82RlpDV1FwZFh2UnpXcnI1RHZXZkQ0M1Y5S0lIdCtQRFlucU80M0FtSVFFWkpvN2lJOFc5VEgKVXNEcis5ZVZTcXRLVUtaOTdFNjVHT1k3K2c4L3U3b1VZcm9PNHdJREFRQUJBb0lCQUNXckQwenhIS1lqcFlidQpSdFlEMkJDdXE5ZWtEcEVJaU12SlY3Q1kxSHlFRVVVaWdhR2Jqb2FCQ0N1WC9iSjJMbEgxd05hT3BrbFJydUt6CnNOZzVYT3NJTWFSQUhidjh0MVVRSGtMRWszUkphRHZGSm82cVB3cG9NSUg2emh6cXlVUFBvb0xnY1A2aGhERDcKM3QrN3lQUFlSVmpmbFZrY3MwWG5nUzlrcURXeDBXZStWOGFJMVJCOXVIbUdDcmo4djFZaHFSRWl2dXl4eUVXQwpZSkowVFRqSVhtMC92OVNJRE5FTjJKVExkYmlIdDBvQm9PZk1CWk5MSmhjSWI4cHkvTW5SYW9IN1EvN2VZQllQClNnMzJycXYvZlNjZGhWakltbTNyWEtaclV5NlErcUpNNGp1MCtpV0E4MzRzd2NiaGZhbU5XR2tLcUYzVmo4WEEKendGbkVjRUNnWUVBK056RHpxb3Vlbk9iZE5ORTdFa2FaTDc4TFFlL0VhTkYycHlhS2IvWTFac2F5U2ozSUMxbAp2RCs0V1hQamZJVWl3SldGeEtONGZyVnlldCtZWGhOZ0p3eU9wb2gyZmlaNzExR0paSWRudGFDV3lmRnpGVS8rClZQUm1yUUxIWS9MNHRhdnByTzlhTHBYVWVSYlc0NXVBbUZ5YUtJck1qSkFzMnFpeitKYUxGbUVDZ1lFQTdhcVUKOEE5SHpkVDFsQzB1ZlRoNG1Cdm43enpvSXJHNmY3amhvRVZuazEwWmozKy9pNEFmWEw3VHRuQmtXaTJvZElKbApDb2ZXdGRWbUxvTkhpOER0ZldyWFkzOWhra0ZSSEo5Y01qNEozcEJmaVp0ZUJyaFhucDg1c0xDS0pnWGVNZDNEClhkZVl1TERuczR3Y3FZTnpkbDRQL2cvRGl5RFB5Y29tc3NmdzQ4TUNnWUVBc2pUVWVwOWZIUXpBRzQ1V1lxV08Kb3Vvb2hzNXZRbUFhMjRzYzBoeXhWM1QwWDJ4WVd0Qm5jOEJsY0prT0k5THFxZUhvb29FMC9mZE0vVFEwVmRtbQpGeEJrN2xmMkVpdllycjJTbDB4bk5hYkRrK1MwdG1STUNlWGh5SzZldmJIMTY1SXBpVTcwMHpzenBXcDNneEdOCnFvMVZUd2JscHhwdkpEMStjdHJLeXNFQ2dZRUFyMlo0T3Q4Y0lCVnVGS2h2cWV5Mlc1UWt6UlJIUWV1bTkwSU0KQ2t1T2tGeGlVOXgxRWRCQjFTSGtmNzFjNG96VnlQNis4VkdsTFZkTDdVSG4ySVZQQUlPTWFKc0crSGlLRXpTdApSMHN2MzNqdmVWQVh5Wi9jMG0weWwyc0MyZUwweEJxbFo2bUl4YTJSb3BuaVFWeUpKeTl1WUJOa1BsYTk0Mi8wCnRYY0lHaDhDZ1lCbHJBaVdIOGU4aEhkWjdxTjNOTk51cVkvQjdJWFNPdzFIMEVKbjd3Ui9tZElzalFRYkJGL3gKa05YNndvZDVFeHBzRkVER2lJQ0RiQm1FbW5oaU1TWFBXREhoalZKSkFSUG5sL2Fxc0tNemt0dXdic29DbGQ2OApkT1hkbHNtbGhYZVdrcGp5ZUdCREZ5Y3hPdW80M3F6VzdOOUNpQ285dXBuNGZrSEg3Si95Znc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=",
|
|
206
|
+
"file_name": "client (1).key"
|
|
207
|
+
},
|
|
208
|
+
"pfx": {
|
|
209
|
+
"file_url": "",
|
|
210
|
+
"file_base64": "",
|
|
211
|
+
"file_name": ""
|
|
212
|
+
},
|
|
213
|
+
"HOST": "https://cc.apipost.cc:6003"
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"custom_functions": {
|
|
218
|
+
"fn_test04": "\n// 返回函數處理後的text,text為函數的入參 \nreturn text.includes(\"To be\");"
|
|
195
219
|
},
|
|
196
|
-
"custom_functions": {},
|
|
197
220
|
"collection": [
|
|
198
221
|
{
|
|
199
|
-
"target_id": "
|
|
222
|
+
"target_id": "2d1574ffab006",
|
|
200
223
|
"target_type": "api",
|
|
201
|
-
"parent_id": "
|
|
202
|
-
"name": "
|
|
224
|
+
"parent_id": "0",
|
|
225
|
+
"name": "post接口",
|
|
203
226
|
"request": {
|
|
204
227
|
"auth": {
|
|
205
228
|
"type": "inherit"
|
|
206
229
|
},
|
|
207
|
-
"body": {
|
|
208
|
-
"mode": "none",
|
|
209
|
-
"parameter": [],
|
|
210
|
-
"raw": "",
|
|
211
|
-
"raw_parameter": [],
|
|
212
|
-
"raw_schema": {
|
|
213
|
-
"type": "object"
|
|
214
|
-
},
|
|
215
|
-
"binary": null
|
|
216
|
-
},
|
|
217
|
-
"pre_tasks": [],
|
|
218
|
-
"post_tasks": [],
|
|
219
230
|
"header": {
|
|
220
231
|
"parameter": []
|
|
221
232
|
},
|
|
222
233
|
"query": {
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
},
|
|
226
|
-
"cookie": {
|
|
227
|
-
"parameter": [],
|
|
228
|
-
"cookie_encode": 1
|
|
234
|
+
"query_add_equal": 1,
|
|
235
|
+
"parameter": []
|
|
229
236
|
},
|
|
230
237
|
"restful": {
|
|
231
238
|
"parameter": []
|
|
232
|
-
}
|
|
233
|
-
},
|
|
234
|
-
"parents": [
|
|
235
|
-
{
|
|
236
|
-
"target_id": "31a0edd735008",
|
|
237
|
-
"target_type": "folder",
|
|
238
|
-
"server_id": "1a89cff056c08001"
|
|
239
239
|
},
|
|
240
|
-
{
|
|
241
|
-
"
|
|
242
|
-
"
|
|
243
|
-
}
|
|
244
|
-
],
|
|
245
|
-
"server_id": "1a89cff056c08001",
|
|
246
|
-
"method": "POST",
|
|
247
|
-
"protocol": "http/1.1",
|
|
248
|
-
"url": "go.apipost.cn",
|
|
249
|
-
"pre_url": "go.apipost.cn"
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
"target_id": "31a0edd735008",
|
|
253
|
-
"target_type": "folder",
|
|
254
|
-
"parent_id": "2d125c0735022",
|
|
255
|
-
"name": "目录参数",
|
|
256
|
-
"request": {
|
|
257
|
-
"header": {
|
|
258
|
-
"parameter": [
|
|
259
|
-
{
|
|
260
|
-
"description": "1",
|
|
261
|
-
"field_type": "object",
|
|
262
|
-
"is_checked": 1,
|
|
263
|
-
"key": "1",
|
|
264
|
-
"value": "1",
|
|
265
|
-
"not_null": 1,
|
|
266
|
-
"schema": {
|
|
267
|
-
"type": "object"
|
|
268
|
-
},
|
|
269
|
-
"param_id": "31a318a76e011"
|
|
270
|
-
}
|
|
271
|
-
]
|
|
272
|
-
},
|
|
273
|
-
"query": {
|
|
274
|
-
"parameter": [
|
|
275
|
-
{
|
|
276
|
-
"description": "1",
|
|
277
|
-
"field_type": "object",
|
|
278
|
-
"is_checked": 1,
|
|
279
|
-
"key": "1",
|
|
280
|
-
"value": "1",
|
|
281
|
-
"not_null": 1,
|
|
282
|
-
"schema": {
|
|
283
|
-
"type": "object",
|
|
284
|
-
"default": "1"
|
|
285
|
-
},
|
|
286
|
-
"param_id": "31a3c9bb9b016"
|
|
287
|
-
}
|
|
288
|
-
]
|
|
240
|
+
"cookie": {
|
|
241
|
+
"cookie_encode": 1,
|
|
242
|
+
"parameter": []
|
|
289
243
|
},
|
|
290
244
|
"body": {
|
|
245
|
+
"mode": "form-data",
|
|
291
246
|
"parameter": [
|
|
292
247
|
{
|
|
293
|
-
"
|
|
294
|
-
"
|
|
295
|
-
"
|
|
296
|
-
"
|
|
297
|
-
"value": "1",
|
|
248
|
+
"param_id": "2d54bf27713cb",
|
|
249
|
+
"key": "mock",
|
|
250
|
+
"value": "{{$mockjs.date()|format(YYYY-MM-DD HH:mm:ss,+08:00)}}",
|
|
251
|
+
"field_type": "string",
|
|
298
252
|
"not_null": 1,
|
|
299
|
-
"
|
|
300
|
-
"type": "object",
|
|
301
|
-
"default": "1"
|
|
302
|
-
},
|
|
303
|
-
"param_id": "31a3918735014"
|
|
304
|
-
}
|
|
305
|
-
]
|
|
306
|
-
},
|
|
307
|
-
"cookie": {
|
|
308
|
-
"parameter": [
|
|
309
|
-
{
|
|
310
|
-
"description": "1",
|
|
311
|
-
"field_type": "object",
|
|
253
|
+
"description": "反回时间",
|
|
312
254
|
"is_checked": 1,
|
|
313
|
-
"
|
|
314
|
-
|
|
255
|
+
"content_type": "string"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"param_id": "2d54dd0f713cc",
|
|
259
|
+
"key": "mock1",
|
|
260
|
+
"value": "{{$fakerjs.Animal.bear}}",
|
|
261
|
+
"field_type": "string",
|
|
315
262
|
"not_null": 1,
|
|
316
|
-
"
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
},
|
|
320
|
-
"param_id": "31a4456f5e018"
|
|
263
|
+
"description": "返回熊类型",
|
|
264
|
+
"is_checked": 1,
|
|
265
|
+
"content_type": "string"
|
|
321
266
|
}
|
|
322
|
-
]
|
|
323
|
-
|
|
324
|
-
"
|
|
325
|
-
"type": "inherit"
|
|
326
|
-
},
|
|
327
|
-
"pre_tasks": [],
|
|
328
|
-
"post_tasks": []
|
|
329
|
-
},
|
|
330
|
-
"parents": [
|
|
331
|
-
{
|
|
332
|
-
"target_id": "2d125c0735022",
|
|
333
|
-
"target_type": "folder"
|
|
334
|
-
}
|
|
335
|
-
],
|
|
336
|
-
"server_id": "1a89cff056c08001",
|
|
337
|
-
"pre_url": "go.apipost.cn"
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
"target_id": "2d125c0735022",
|
|
341
|
-
"target_type": "folder",
|
|
342
|
-
"parent_id": "0",
|
|
343
|
-
"name": "自动化测试",
|
|
344
|
-
"request": {
|
|
345
|
-
"header": {
|
|
346
|
-
"parameter": []
|
|
347
|
-
},
|
|
348
|
-
"query": {
|
|
349
|
-
"parameter": []
|
|
350
|
-
},
|
|
351
|
-
"body": {
|
|
352
|
-
"parameter": []
|
|
353
|
-
},
|
|
354
|
-
"cookie": {
|
|
355
|
-
"parameter": []
|
|
356
|
-
},
|
|
357
|
-
"auth": {
|
|
358
|
-
"type": "inherit"
|
|
359
|
-
},
|
|
360
|
-
"pre_tasks": [],
|
|
361
|
-
"post_tasks": []
|
|
362
|
-
},
|
|
363
|
-
"parents": [],
|
|
364
|
-
"server_id": "0",
|
|
365
|
-
"pre_url": ""
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
"target_id": "31af5c9b35036",
|
|
369
|
-
"target_type": "api",
|
|
370
|
-
"parent_id": "31a0edd735008",
|
|
371
|
-
"name": "url使用前置服务",
|
|
372
|
-
"request": {
|
|
373
|
-
"auth": {
|
|
374
|
-
"type": "inherit"
|
|
375
|
-
},
|
|
376
|
-
"body": {
|
|
377
|
-
"mode": "none",
|
|
378
|
-
"parameter": [],
|
|
379
|
-
"raw": "",
|
|
267
|
+
],
|
|
268
|
+
"binary": "",
|
|
269
|
+
"raw": "{\n \"storeName\": \"SuperMart Online\",\n \"categories\": [\n {\n \"categoryName\": \"Electronics\",\n \"products\": [\n {\n \"productId\": 1,\n \"productName\": \"Smartphone X Pro\",\n \"brand\": \"TechGiant\",\n \"model\": \"X Pro 2025\",\n \"description\": \"The Smartphone X Pro is a high - end device with a 6.7 - inch AMOLED display, 5G connectivity, and a powerful octa - core processor. It comes with 12GB of RAM and 256GB of internal storage. The triple - camera setup on the back provides excellent photography capabilities, and the front - facing camera is great for selfies and video calls.\",\n \"price\": 999.99,\n \"stock\": 50,\n \"reviews\": [\n {\n \"reviewerName\": \"JohnDoe123\",\n \"rating\": 4.5,\n \"comment\": \"This phone is amazing! The display is sharp, and the performance is top - notch. The camera takes great photos, and the battery life is decent.\"\n },\n {\n \"reviewerName\": \"JaneSmith456\",\n \"rating\": 4.0,\n \"comment\": \"Overall, a great phone. However, I found the fingerprint sensor to be a bit slow at times.\"\n }\n ]\n },\n {\n \"productId\": 2,\n \"productName\": \"Laptop ProBook\",\n \"brand\": \"CompuTech\",\n \"model\": \"ProBook 5000\",\n \"description\": \"The Laptop ProBook is a powerful and portable laptop designed for professionals. It features a 15.6 - inch Full HD display, an Intel Core i7 processor, 16GB of RAM, and a 512GB SSD. It also comes with a backlit keyboard and a long - lasting battery, making it ideal for on - the - go work.\",\n \"price\": 1499.99,\n \"stock\": 30,\n \"reviews\": [\n {\n \"reviewerName\": \"TechEnthusiast789\",\n \"rating\": 4.8,\n \"comment\": \"This laptop is a beast! It handles all my work tasks with ease, and the battery life is impressive. The build quality is also very good.\"\n },\n {\n \"reviewerName\": \"OfficeWorker234\",\n \"rating\": 4.2,\n \"comment\": \"I'm very happy with my purchase. The only thing I would like to see improved is the display brightness in direct sunlight.\"\n }\n ]\n }\n ]\n },\n {\n \"categoryName\": \"Clothing\",\n \"products\": [\n {\n \"productId\": 3,\n \"productName\": \"Men's Cotton Shirt\",\n \"brand\": \"FashionFusion\",\n \"model\": \"Classic Fit\",\n \"description\": \"This men's cotton shirt is made from high - quality, breathable cotton. It has a classic fit, a button - down collar, and long sleeves. It comes in a variety of colors and is perfect for both casual and semi - formal occasions.\",\n \"price\": 49.99,\n \"stock\": 100,\n \"reviews\": [\n {\n \"reviewerName\": \"StyleGuy567\",\n \"rating\": 4.0,\n \"comment\": \"The shirt fits well and is comfortable to wear. The color is exactly as shown in the picture.\"\n },\n {\n \"reviewerName\": \"BusinessMan890\",\n \"rating\": 3.5,\n \"comment\": \"The shirt is okay, but I expected the fabric to be a bit thicker.\"\n }\n ]\n },\n {\n \"productId\": 4,\n \"productName\": \"Women's Summer Dress\",\n \"brand\": \"ChicStyles\",\n \"model\": \"Floral Print\",\n \"description\": \"This women's summer dress is a trendy and feminine piece. It features a floral print, a V - neckline, and a flowy skirt. It is made from lightweight and comfortable fabric, making it perfect for warm summer days.\",\n \"price\": 79.99,\n \"stock\": 80,\n \"reviews\": [\n {\n \"reviewerName\": \"Fashionista123\",\n \"rating\": 4.7,\n \"comment\": \"This dress is so cute! I love the floral print and the way it fits. It's my new favorite summer dress.\"\n },\n {\n \"reviewerName\": \"BeachLover456\",\n \"rating\": 4.3,\n \"comment\": \"The dress is very comfortable and looks great on. However, the sizing runs a bit small, so I had to order a size up.\"\n }\n ]\n }\n ]\n },\n {\n \"categoryName\": \"Home Appliances\",\n \"products\": [\n {\n \"productId\": 5,\n \"productName\": \"Refrigerator CoolMaster\",\n \"brand\": \"HomeTech\",\n \"model\": \"CoolMaster 3000\",\n \"description\": \"The Refrigerator CoolMaster is a large - capacity refrigerator with advanced cooling technology. It has a spacious interior, adjustable shelves, and a built - in ice maker. It also features energy - saving mode, making it an environmentally friendly choice.\",\n \"price\": 1999.99,\n \"stock\": 20,\n \"reviews\": [\n {\n \"reviewerName\": \"HomeOwner789\",\n \"rating\": 4.6,\n \"comment\": \"This refrigerator is amazing! It has a lot of space, and the ice maker works great. The energy - saving mode is a plus.\"\n },\n {\n \"reviewerName\": \"KitchenExpert234\",\n \"rating\": 4.1,\n \"comment\": \"The refrigerator is well - built, but the noise level could be a bit lower.\"\n }\n ]\n },\n {\n \"productId\": 6,\n \"productName\": \"Coffee Maker BrewPro\",\n \"brand\": \"KitchenWiz\",\n \"model\": \"BrewPro 200\",\n \"description\": \"The Coffee Maker BrewPro is a programmable coffee maker that can brew up to 12 cups of coffee at a time. It has a built - in grinder, a water filter, and a keep - warm function. It also comes with a user - friendly control panel, making it easy to use.\",\n \"price\": 129.99,\n \"stock\": 60,\n \"reviews\": [\n {\n \"reviewerName\": \"CoffeeAddict567\",\n \"rating\": 4.4,\n \"comment\": \"This coffee maker makes great coffee! The grinder is very efficient, and the keep - warm function works well.\"\n },\n {\n \"reviewerName\": \"BreakfastLover890\",\n \"rating\": 4.0,\n \"comment\": \"The coffee maker is easy to use, but the cleaning process could be a bit simpler.\"\n }\n ]\n }\n ]\n }\n ]\n}",
|
|
380
270
|
"raw_parameter": [],
|
|
381
271
|
"raw_schema": {
|
|
382
272
|
"type": "object"
|
|
383
|
-
}
|
|
384
|
-
"binary": null
|
|
273
|
+
}
|
|
385
274
|
},
|
|
386
275
|
"pre_tasks": [],
|
|
387
|
-
"post_tasks": [
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
276
|
+
"post_tasks": [
|
|
277
|
+
{
|
|
278
|
+
"type": "assert",
|
|
279
|
+
"id": "c48d63a3a3006",
|
|
280
|
+
"name": "断言1111111",
|
|
281
|
+
"enabled": 1,
|
|
282
|
+
"data": {
|
|
283
|
+
"type": "responseTime",
|
|
284
|
+
"expression": {
|
|
285
|
+
"compareType": "lt",
|
|
286
|
+
"compareValue": "30",
|
|
287
|
+
"path": "1"
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
]
|
|
402
292
|
},
|
|
403
|
-
"parents": [
|
|
404
|
-
{
|
|
405
|
-
"target_id": "31a0edd735008",
|
|
406
|
-
"target_type": "folder",
|
|
407
|
-
"server_id": "1a89cff056c08001"
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
"target_id": "2d125c0735022",
|
|
411
|
-
"target_type": "folder"
|
|
412
|
-
}
|
|
413
|
-
],
|
|
414
|
-
"server_id": "1a89cff056c08001",
|
|
293
|
+
"parents": [],
|
|
415
294
|
"method": "POST",
|
|
416
295
|
"protocol": "http/1.1",
|
|
417
|
-
"url": "",
|
|
418
|
-
"pre_url": "
|
|
296
|
+
"url": "go.apipost.cn",
|
|
297
|
+
"pre_url": ""
|
|
419
298
|
}
|
|
420
299
|
],
|
|
421
300
|
"database_configs": {},
|
|
422
|
-
"name": "
|
|
301
|
+
"name": "【勿动】自动化测试循环——满足条件跳出循环,一直不执行",
|
|
423
302
|
"ignore_error": -1,
|
|
424
303
|
"enable_sandbox": -1,
|
|
425
304
|
"iterationCount": 1,
|
|
426
305
|
"sleep": 0,
|
|
427
|
-
"testing_id": "
|
|
306
|
+
"testing_id": "640959ffab519",
|
|
428
307
|
"iterates_data_id": "0",
|
|
429
308
|
"iterationData": []
|
|
430
309
|
},
|
|
431
310
|
"test_events": [
|
|
432
311
|
{
|
|
433
|
-
"type": "api",
|
|
434
|
-
"auto_sync": false,
|
|
435
|
-
"test_id": "31a7993735026",
|
|
436
|
-
"event_id": "31a844a735028",
|
|
437
|
-
"enabled": 1,
|
|
438
312
|
"data": {
|
|
439
|
-
"
|
|
440
|
-
"
|
|
441
|
-
"
|
|
442
|
-
"
|
|
443
|
-
"
|
|
444
|
-
"
|
|
445
|
-
"
|
|
446
|
-
"
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
"body": {
|
|
453
|
-
"mode": "form-data",
|
|
454
|
-
"parameter": [],
|
|
455
|
-
"raw": "",
|
|
456
|
-
"raw_parameter": [],
|
|
457
|
-
"raw_schema": {
|
|
458
|
-
"type": "object"
|
|
459
|
-
},
|
|
460
|
-
"binary": null
|
|
461
|
-
},
|
|
462
|
-
"pre_tasks": [],
|
|
463
|
-
"post_tasks": [],
|
|
464
|
-
"header": {
|
|
465
|
-
"parameter": []
|
|
466
|
-
},
|
|
467
|
-
"query": {
|
|
468
|
-
"parameter": [],
|
|
469
|
-
"query_add_equal": 1
|
|
470
|
-
},
|
|
471
|
-
"cookie": {
|
|
472
|
-
"parameter": [],
|
|
473
|
-
"cookie_encode": 1
|
|
474
|
-
},
|
|
475
|
-
"restful": {
|
|
476
|
-
"parameter": []
|
|
477
|
-
}
|
|
478
|
-
}
|
|
313
|
+
"name": "满足条件退出循环",
|
|
314
|
+
"sleep": 0,
|
|
315
|
+
"loop_type": 3,
|
|
316
|
+
"loop_timeout": 0,
|
|
317
|
+
"loop_condition": {
|
|
318
|
+
"var": "1",
|
|
319
|
+
"value": "1",
|
|
320
|
+
"compare": "uneq"
|
|
321
|
+
},
|
|
322
|
+
"loop_traverse_data": {
|
|
323
|
+
"name": "",
|
|
324
|
+
"type": 1,
|
|
325
|
+
"iterationData": []
|
|
479
326
|
}
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
"type": "api",
|
|
484
|
-
"auto_sync": false,
|
|
485
|
-
"test_id": "31a7993735026",
|
|
486
|
-
"event_id": "31b0f12f3503c",
|
|
327
|
+
},
|
|
328
|
+
"sort": 1,
|
|
329
|
+
"type": "loop",
|
|
487
330
|
"enabled": 1,
|
|
488
|
-
"
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
"
|
|
495
|
-
"
|
|
496
|
-
"
|
|
497
|
-
"
|
|
498
|
-
"
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
"
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
"
|
|
506
|
-
"
|
|
507
|
-
"
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
"
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
331
|
+
"test_id": "640959ffab519",
|
|
332
|
+
"event_id": "640e4777ab51b",
|
|
333
|
+
"project_id": "1a89866533408002",
|
|
334
|
+
"parent_event_id": "0",
|
|
335
|
+
"children": [
|
|
336
|
+
{
|
|
337
|
+
"type": "api",
|
|
338
|
+
"auto_sync": false,
|
|
339
|
+
"test_id": "640959ffab519",
|
|
340
|
+
"event_id": "640e9153ab51d",
|
|
341
|
+
"enabled": 1,
|
|
342
|
+
"data": {
|
|
343
|
+
"target_id": "2d1574ffab006",
|
|
344
|
+
"project_id": "1a89866533408002",
|
|
345
|
+
"parent_id": "0",
|
|
346
|
+
"target_type": "api",
|
|
347
|
+
"apiData": {
|
|
348
|
+
"name": "post接口",
|
|
349
|
+
"method": "POST",
|
|
350
|
+
"protocol": "http/1.1",
|
|
351
|
+
"url": "{{url}}",
|
|
352
|
+
"request": {
|
|
353
|
+
"auth": {
|
|
354
|
+
"type": "inherit"
|
|
355
|
+
},
|
|
356
|
+
"body": {
|
|
357
|
+
"raw": "{\n \"storeName\": \"SuperMart Online\",\n \"categories\": [\n {\n \"categoryName\": \"Electronics\",\n \"products\": [\n {\n \"productId\": 1,\n \"productName\": \"Smartphone X Pro\",\n \"brand\": \"TechGiant\",\n \"model\": \"X Pro 2025\",\n \"description\": \"The Smartphone X Pro is a high - end device with a 6.7 - inch AMOLED display, 5G connectivity, and a powerful octa - core processor. It comes with 12GB of RAM and 256GB of internal storage. The triple - camera setup on the back provides excellent photography capabilities, and the front - facing camera is great for selfies and video calls.\",\n \"price\": 999.99,\n \"stock\": 50,\n \"reviews\": [\n {\n \"reviewerName\": \"JohnDoe123\",\n \"rating\": 4.5,\n \"comment\": \"This phone is amazing! The display is sharp, and the performance is top - notch. The camera takes great photos, and the battery life is decent.\"\n },\n {\n \"reviewerName\": \"JaneSmith456\",\n \"rating\": 4.0,\n \"comment\": \"Overall, a great phone. However, I found the fingerprint sensor to be a bit slow at times.\"\n }\n ]\n },\n {\n \"productId\": 2,\n \"productName\": \"Laptop ProBook\",\n \"brand\": \"CompuTech\",\n \"model\": \"ProBook 5000\",\n \"description\": \"The Laptop ProBook is a powerful and portable laptop designed for professionals. It features a 15.6 - inch Full HD display, an Intel Core i7 processor, 16GB of RAM, and a 512GB SSD. It also comes with a backlit keyboard and a long - lasting battery, making it ideal for on - the - go work.\",\n \"price\": 1499.99,\n \"stock\": 30,\n \"reviews\": [\n {\n \"reviewerName\": \"TechEnthusiast789\",\n \"rating\": 4.8,\n \"comment\": \"This laptop is a beast! It handles all my work tasks with ease, and the battery life is impressive. The build quality is also very good.\"\n },\n {\n \"reviewerName\": \"OfficeWorker234\",\n \"rating\": 4.2,\n \"comment\": \"I'm very happy with my purchase. The only thing I would like to see improved is the display brightness in direct sunlight.\"\n }\n ]\n }\n ]\n },\n {\n \"categoryName\": \"Clothing\",\n \"products\": [\n {\n \"productId\": 3,\n \"productName\": \"Men's Cotton Shirt\",\n \"brand\": \"FashionFusion\",\n \"model\": \"Classic Fit\",\n \"description\": \"This men's cotton shirt is made from high - quality, breathable cotton. It has a classic fit, a button - down collar, and long sleeves. It comes in a variety of colors and is perfect for both casual and semi - formal occasions.\",\n \"price\": 49.99,\n \"stock\": 100,\n \"reviews\": [\n {\n \"reviewerName\": \"StyleGuy567\",\n \"rating\": 4.0,\n \"comment\": \"The shirt fits well and is comfortable to wear. The color is exactly as shown in the picture.\"\n },\n {\n \"reviewerName\": \"BusinessMan890\",\n \"rating\": 3.5,\n \"comment\": \"The shirt is okay, but I expected the fabric to be a bit thicker.\"\n }\n ]\n },\n {\n \"productId\": 4,\n \"productName\": \"Women's Summer Dress\",\n \"brand\": \"ChicStyles\",\n \"model\": \"Floral Print\",\n \"description\": \"This women's summer dress is a trendy and feminine piece. It features a floral print, a V - neckline, and a flowy skirt. It is made from lightweight and comfortable fabric, making it perfect for warm summer days.\",\n \"price\": 79.99,\n \"stock\": 80,\n \"reviews\": [\n {\n \"reviewerName\": \"Fashionista123\",\n \"rating\": 4.7,\n \"comment\": \"This dress is so cute! I love the floral print and the way it fits. It's my new favorite summer dress.\"\n },\n {\n \"reviewerName\": \"BeachLover456\",\n \"rating\": 4.3,\n \"comment\": \"The dress is very comfortable and looks great on. However, the sizing runs a bit small, so I had to order a size up.\"\n }\n ]\n }\n ]\n },\n {\n \"categoryName\": \"Home Appliances\",\n \"products\": [\n {\n \"productId\": 5,\n \"productName\": \"Refrigerator CoolMaster\",\n \"brand\": \"HomeTech\",\n \"model\": \"CoolMaster 3000\",\n \"description\": \"The Refrigerator CoolMaster is a large - capacity refrigerator with advanced cooling technology. It has a spacious interior, adjustable shelves, and a built - in ice maker. It also features energy - saving mode, making it an environmentally friendly choice.\",\n \"price\": 1999.99,\n \"stock\": 20,\n \"reviews\": [\n {\n \"reviewerName\": \"HomeOwner789\",\n \"rating\": 4.6,\n \"comment\": \"This refrigerator is amazing! It has a lot of space, and the ice maker works great. The energy - saving mode is a plus.\"\n },\n {\n \"reviewerName\": \"KitchenExpert234\",\n \"rating\": 4.1,\n \"comment\": \"The refrigerator is well - built, but the noise level could be a bit lower.\"\n }\n ]\n },\n {\n \"productId\": 6,\n \"productName\": \"Coffee Maker BrewPro\",\n \"brand\": \"KitchenWiz\",\n \"model\": \"BrewPro 200\",\n \"description\": \"The Coffee Maker BrewPro is a programmable coffee maker that can brew up to 12 cups of coffee at a time. It has a built - in grinder, a water filter, and a keep - warm function. It also comes with a user - friendly control panel, making it easy to use.\",\n \"price\": 129.99,\n \"stock\": 60,\n \"reviews\": [\n {\n \"reviewerName\": \"CoffeeAddict567\",\n \"rating\": 4.4,\n \"comment\": \"This coffee maker makes great coffee! The grinder is very efficient, and the keep - warm function works well.\"\n },\n {\n \"reviewerName\": \"BreakfastLover890\",\n \"rating\": 4.0,\n \"comment\": \"The coffee maker is easy to use, but the cleaning process could be a bit simpler.\"\n }\n ]\n }\n ]\n }\n ]\n}",
|
|
358
|
+
"mode": "form-data",
|
|
359
|
+
"binary": "",
|
|
360
|
+
"parameter": [
|
|
361
|
+
{
|
|
362
|
+
"key": "mock",
|
|
363
|
+
"value": "{{$mockjs.date()|format(YYYY-MM-DD HH:mm:ss,+08:00)}}",
|
|
364
|
+
"not_null": 1,
|
|
365
|
+
"param_id": "2d54bf27713cb",
|
|
366
|
+
"field_type": "string",
|
|
367
|
+
"is_checked": 1,
|
|
368
|
+
"description": "反回时间",
|
|
369
|
+
"content_type": "string"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"key": "mock1",
|
|
373
|
+
"value": "{{$fakerjs.Animal.bear}}",
|
|
374
|
+
"not_null": 1,
|
|
375
|
+
"param_id": "2d54dd0f713cc",
|
|
376
|
+
"field_type": "string",
|
|
377
|
+
"is_checked": 1,
|
|
378
|
+
"description": "返回熊类型",
|
|
379
|
+
"content_type": "string"
|
|
380
|
+
}
|
|
381
|
+
],
|
|
382
|
+
"raw_schema": {
|
|
383
|
+
"type": "object"
|
|
384
|
+
},
|
|
385
|
+
"raw_parameter": []
|
|
386
|
+
},
|
|
387
|
+
"query": {
|
|
388
|
+
"parameter": [],
|
|
389
|
+
"query_add_equal": 1
|
|
390
|
+
},
|
|
391
|
+
"cookie": {
|
|
392
|
+
"parameter": [],
|
|
393
|
+
"cookie_encode": 1
|
|
394
|
+
},
|
|
395
|
+
"header": {
|
|
396
|
+
"parameter": []
|
|
397
|
+
},
|
|
398
|
+
"restful": {
|
|
399
|
+
"parameter": []
|
|
400
|
+
},
|
|
401
|
+
"pre_tasks": [],
|
|
402
|
+
"post_tasks": []
|
|
403
|
+
}
|
|
527
404
|
}
|
|
528
405
|
}
|
|
529
406
|
}
|
|
530
|
-
|
|
407
|
+
]
|
|
531
408
|
}
|
|
532
409
|
]
|
|
533
410
|
}
|