runner-runtime 1.0.32 → 1.0.34
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 +6 -4
- package/events/index.js +54 -33
- package/index.js +11 -0
- package/libs/utils.js +8 -5
- package/package.json +1 -1
- package/tmp/request.js +268 -94
package/events/api.js
CHANGED
|
@@ -1783,8 +1783,10 @@ const initRequestJson = (event, option) => {
|
|
|
1783
1783
|
if (_.isString(sampleTargetID) && sampleTargetID) {
|
|
1784
1784
|
getParentTargetIDs(option?.collection, requestJson?.sampleTargetID, parentIDs);
|
|
1785
1785
|
}
|
|
1786
|
+
}else{
|
|
1787
|
+
getParentTargetIDs(option?.collection, _.get(event, `data.target_id`), parentIDs);
|
|
1786
1788
|
}
|
|
1787
|
-
|
|
1789
|
+
console.log(_.get(event, `data.target_id`),parentIDs,6666666666)
|
|
1788
1790
|
if (!_.includes(parentIDs, "0")) {
|
|
1789
1791
|
parentIDs.push("0");
|
|
1790
1792
|
}
|
|
@@ -1798,7 +1800,7 @@ const initRequestJson = (event, option) => {
|
|
|
1798
1800
|
// 目录参数
|
|
1799
1801
|
_.assign(request, _.get(getAPIFromCollection(option?.collection, parent_id), "request"));
|
|
1800
1802
|
}
|
|
1801
|
-
|
|
1803
|
+
console.log(JSON.stringify(request,null,2),parent_id,7777,111111111111111111111111111111111111111111111111111111111111)
|
|
1802
1804
|
if (_.isObject(request) && !_.isEmpty(request)) {
|
|
1803
1805
|
["header", "body", "query", "cookie"].forEach((parameter) => {
|
|
1804
1806
|
let arrPara = _.filter(_.get(request, `${parameter}.parameter`), (item) => { return _.toInteger(item.is_system) > 0 || item.is_checked > 0 });
|
|
@@ -2087,7 +2089,6 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2087
2089
|
try {
|
|
2088
2090
|
const { requestJson, postmanJSON } = initRequestJson(event, option)
|
|
2089
2091
|
|
|
2090
|
-
// console.log(requestJson,`eventeventeventeventeventeventeventeventeventeventevent`)
|
|
2091
2092
|
const collection = new sdk.Item({
|
|
2092
2093
|
name: _.get(requestJson, "name") || "New request", request: postmanJSON, event: [], protocolProfileBehavior: {
|
|
2093
2094
|
disableBodyPruning: true,
|
|
@@ -2201,7 +2202,7 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2201
2202
|
})
|
|
2202
2203
|
}
|
|
2203
2204
|
}
|
|
2204
|
-
|
|
2205
|
+
// console.log(String(request?.url),5555555555555,_.get(eventRuntimeData, ["variables"]))
|
|
2205
2206
|
const requestOptions = convert2EchoRequest(request, requestJson, postmanJSON, history);
|
|
2206
2207
|
_.set(eventRuntimeData, [event?.event_id, "request"], requestOptions);
|
|
2207
2208
|
|
|
@@ -2316,6 +2317,7 @@ module.exports = (event, option, callback, eventRuntimeData, eventResultList) =>
|
|
|
2316
2317
|
iteration_id: _.get(eventRuntimeData, [event?.event_id, 'iteration_id'])
|
|
2317
2318
|
}, _.pick(requestJson, ['parent_id', 'project_id', 'test_id', 'target_id']));
|
|
2318
2319
|
|
|
2320
|
+
|
|
2319
2321
|
if (scene === 'auto_test') {
|
|
2320
2322
|
if(_.includes(['assert', 'assert_visual', 'api', 'sample','script'], event?.type)){
|
|
2321
2323
|
eventResultList.push(_.assign(camelCaseToSnakeCase(_.get(_.cloneDeep(eventRuntimeData), event?.event_id)), _.pick(event, ['type', 'event_id', 'test_id', 'iteration_id'])));
|
package/events/index.js
CHANGED
|
@@ -57,7 +57,7 @@ const events = {
|
|
|
57
57
|
const { iterationData, enable_data } = data;
|
|
58
58
|
|
|
59
59
|
if (_.toInteger(enable_data) > 0) {
|
|
60
|
-
console.log(_.assign(_.cloneDeep(option), { iterationData }),11111111111111)
|
|
60
|
+
console.log(_.assign(_.cloneDeep(option), { iterationData }), 11111111111111)
|
|
61
61
|
await iterationEvent(children, _.assign(_.cloneDeep(option), { iterationData }), callback, eventRuntimeData, eventResultList)
|
|
62
62
|
} else {
|
|
63
63
|
await iterationEvent(children, option, callback, eventRuntimeData, eventResultList)
|
|
@@ -111,13 +111,18 @@ const events = {
|
|
|
111
111
|
};
|
|
112
112
|
const dataSourceType = _.toInteger(_.get(data, 'loop_extract.var'));
|
|
113
113
|
const responseData = _.get(eventRuntimeData, `${previousEventId}.${dataTypeMap[dataSourceType] || "response.body"}`);
|
|
114
|
+
|
|
114
115
|
const dataJsonPath = _.trim(String(_.get(data, 'loop_extract.value', '$')));
|
|
115
116
|
|
|
116
117
|
switch (dataSourceType) {
|
|
117
118
|
case 1:
|
|
118
119
|
case 8:
|
|
119
120
|
try {
|
|
120
|
-
|
|
121
|
+
if (_.isString(responseData)) {
|
|
122
|
+
_.assign(iterationData, _.values(jsonpath.value(JSON5.parse(responseData), dataJsonPath)));
|
|
123
|
+
} else {
|
|
124
|
+
_.assign(iterationData, _.values(jsonpath.value(responseData, dataJsonPath)));
|
|
125
|
+
}
|
|
121
126
|
} catch (e) { }
|
|
122
127
|
break;
|
|
123
128
|
case 2:
|
|
@@ -137,21 +142,51 @@ const events = {
|
|
|
137
142
|
|
|
138
143
|
break;
|
|
139
144
|
case 3:
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
loopVariable =
|
|
147
|
-
}
|
|
148
|
-
|
|
145
|
+
{
|
|
146
|
+
let loopVariable = variableReplace(_.get(data, 'loop_variable', ''), eventRuntimeData?.variables, option);
|
|
147
|
+
|
|
148
|
+
let loopVariableArr = [];
|
|
149
|
+
|
|
150
|
+
if (_.isObject(loopVariable)) {
|
|
151
|
+
loopVariable = _.values(loopVariable);
|
|
152
|
+
} else {
|
|
153
|
+
try {
|
|
154
|
+
loopVariable = JSON5.parse(loopVariable);
|
|
155
|
+
} catch (e) { }
|
|
149
156
|
}
|
|
157
|
+
|
|
158
|
+
_.forEach(loopVariable, (val, key) => {
|
|
159
|
+
if (!_.isObject(val)) {
|
|
160
|
+
loopVariableArr.push(
|
|
161
|
+
{
|
|
162
|
+
"$key": key,
|
|
163
|
+
"$item": val
|
|
164
|
+
}
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
_.assign(iterationData, loopVariableArr);
|
|
150
170
|
}
|
|
151
|
-
_.assign(iterationData, loopVariable);
|
|
152
171
|
break;
|
|
153
172
|
case 4:
|
|
154
|
-
|
|
173
|
+
{
|
|
174
|
+
let loopVariable = _.split(_.get(data, 'loop_fixed_value', ''), ',');
|
|
175
|
+
let loopVariableArr = [];
|
|
176
|
+
|
|
177
|
+
_.forEach(loopVariable, (val, key) => {
|
|
178
|
+
if (!_.isObject(val)) {
|
|
179
|
+
loopVariableArr.push(
|
|
180
|
+
{
|
|
181
|
+
"$key": key,
|
|
182
|
+
"$item": val
|
|
183
|
+
}
|
|
184
|
+
)
|
|
185
|
+
}
|
|
186
|
+
})
|
|
187
|
+
_.assign(iterationData, loopVariableArr);
|
|
188
|
+
}
|
|
189
|
+
|
|
155
190
|
break;
|
|
156
191
|
}
|
|
157
192
|
}
|
|
@@ -164,7 +199,7 @@ const events = {
|
|
|
164
199
|
|
|
165
200
|
if (limit > 0) {
|
|
166
201
|
const events = _.flatten(_.times(limit, () => _.cloneDeep(children)));
|
|
167
|
-
await iterationEvent(events, _.assign(_.cloneDeep(option), { iterationData, sleep, startTime, timeout }), callback, eventRuntimeData, eventResultList)
|
|
202
|
+
await iterationEvent(events, _.assign(_.cloneDeep(option), { iterationDataArr: iterationData, sleep, startTime, timeout }), callback, eventRuntimeData, eventResultList)
|
|
168
203
|
}
|
|
169
204
|
} else if (_.includes([3], loopType)) {
|
|
170
205
|
const condition = _.get(option, 'condition', _.get(data, 'loop_condition', {}));
|
|
@@ -172,7 +207,7 @@ const events = {
|
|
|
172
207
|
|
|
173
208
|
while (true) {
|
|
174
209
|
if (startTime + timeout > Date.now() && !returnBoolean(exp, compare, value)) {
|
|
175
|
-
await iterationEvent(_.cloneDeep(children), _.assign(_.cloneDeep(option), { iterationData, sleep, condition, startTime, timeout }), callback, eventRuntimeData, eventResultList);
|
|
210
|
+
await iterationEvent(_.cloneDeep(children), _.assign(_.cloneDeep(option), { iterationDataArr: iterationData, sleep, condition, startTime, timeout }), callback, eventRuntimeData, eventResultList);
|
|
176
211
|
} else {
|
|
177
212
|
break;
|
|
178
213
|
}
|
|
@@ -185,6 +220,7 @@ const events = {
|
|
|
185
220
|
current_event_id: event?.event_id
|
|
186
221
|
});
|
|
187
222
|
} catch (e) {
|
|
223
|
+
console.log(e, 1111111)
|
|
188
224
|
return ({
|
|
189
225
|
action: 'stystemError',
|
|
190
226
|
message: String(e),
|
|
@@ -196,25 +232,10 @@ const events = {
|
|
|
196
232
|
|
|
197
233
|
// 调度器核心函数,用于递归执行具体场景步骤
|
|
198
234
|
const executeEvent = (event, option, callback, eventRuntimeData, eventResultList) => {
|
|
235
|
+
_.assign(eventRuntimeData?.variables?.iterationData, _.get(option, 'iterationData'))
|
|
236
|
+
// console.log(option,`optionoptionoptionoptionoptionoptionoptionoption`)
|
|
199
237
|
return new Promise((resolve, reject) => {
|
|
200
|
-
|
|
201
|
-
_.set(eventRuntimeData, event.event_id, {
|
|
202
|
-
iteration_id: aTools.snowflakeId()
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
const environment = _.get(option, 'env.environment', {});
|
|
207
|
-
const globals = _.get(option, 'globals', {});
|
|
208
|
-
const iterationData = _.get(option, 'iterationData', {});
|
|
209
|
-
const tempVars = { environment, globals, iterationData };
|
|
210
|
-
|
|
211
|
-
['environment', 'globals', 'iterationData'].forEach((type) => {
|
|
212
|
-
_.forEach(tempVars[type], (value, key) => {
|
|
213
|
-
if (_.isUndefined(_.get(eventRuntimeData, ['variables', type, key]))) {
|
|
214
|
-
_.set(eventRuntimeData, ['variables', type, key], value)
|
|
215
|
-
}
|
|
216
|
-
})
|
|
217
|
-
})
|
|
238
|
+
_.set(eventRuntimeData, [event.event_id, 'iteration_id'], aTools.snowflakeId());
|
|
218
239
|
|
|
219
240
|
const eventCall = _.get(events, `${event?.type}`);
|
|
220
241
|
|
package/index.js
CHANGED
|
@@ -20,6 +20,17 @@ const run = async (events, option, callback) => {
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
+
// 初始化变量
|
|
24
|
+
const tempVars = { environment: _.get(option, 'env.environment', {}), globals: _.get(option, 'globals', {}), iterationData: _.get(option, 'iterationData', []) };
|
|
25
|
+
|
|
26
|
+
['environment', 'globals', 'iterationData'].forEach((type) => {
|
|
27
|
+
_.forEach(tempVars[type], (value, key) => {
|
|
28
|
+
if (_.isUndefined(_.get(eventRuntimeData, ['variables', type, key]))) {
|
|
29
|
+
_.set(eventRuntimeData, ['variables', type, key], value)
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
|
|
23
34
|
const eventResultList = [];
|
|
24
35
|
const startTimeAt = Date.now();
|
|
25
36
|
|
package/libs/utils.js
CHANGED
|
@@ -18,14 +18,17 @@ const getAPIFromCollection = function (collection, target_id) {
|
|
|
18
18
|
const getParentTargetIDs = function (collection, target_id, parent_ids) {
|
|
19
19
|
if (_.isArray(collection)) {
|
|
20
20
|
|
|
21
|
-
const item = _.find(collection, _.matchesProperty("target_id", target_id)
|
|
22
|
-
);
|
|
21
|
+
const item = _.find(collection, _.matchesProperty("target_id", target_id));
|
|
23
22
|
|
|
24
23
|
if (item) {
|
|
25
24
|
if (parent_ids.includes(item.parent_id)) {
|
|
26
25
|
return;
|
|
27
26
|
}
|
|
28
|
-
|
|
27
|
+
|
|
28
|
+
if(_.isString(item.parent_id)){
|
|
29
|
+
parent_ids.push(item.parent_id);
|
|
30
|
+
getParentTargetIDs(collection, item.parent_id, parent_ids);
|
|
31
|
+
}
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
};
|
|
@@ -438,7 +441,7 @@ const variableReplace = (str, variables, option) => {
|
|
|
438
441
|
|
|
439
442
|
const formatAutotestReportList = (eventResultList) => {
|
|
440
443
|
const list = []
|
|
441
|
-
_.forEach(eventResultList, (item) => {
|
|
444
|
+
_.forEach(_.cloneDeep(eventResultList), (item) => {
|
|
442
445
|
let type = item?.type;
|
|
443
446
|
|
|
444
447
|
if (_.includes(['assert_visual', 'assert'], item?.type)) {
|
|
@@ -459,7 +462,7 @@ const formatAutotestReportList = (eventResultList) => {
|
|
|
459
462
|
},
|
|
460
463
|
))
|
|
461
464
|
})
|
|
462
|
-
|
|
465
|
+
|
|
463
466
|
return list;
|
|
464
467
|
}
|
|
465
468
|
|
package/package.json
CHANGED
package/tmp/request.js
CHANGED
|
@@ -1,69 +1,11 @@
|
|
|
1
|
-
module.exports =
|
|
1
|
+
module.exports ={
|
|
2
2
|
"option": {
|
|
3
|
-
"scene": "
|
|
3
|
+
"scene": "http_request",
|
|
4
4
|
"globals": {
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"$range": [],
|
|
10
|
-
"$date": "1979-07-28",
|
|
11
|
-
"$time": "20:40:46",
|
|
12
|
-
"$datetime": "1972-05-11 05:33:10",
|
|
13
|
-
"$now": "2025-04-16 04:01:53",
|
|
14
|
-
"$guid": "a0b3c905-5062-4b5c-8b38-721c7f8468ea",
|
|
15
|
-
"$increment": 978,
|
|
16
|
-
"$url": "gopher://mriiyptpu.ir/ycwhyefd",
|
|
17
|
-
"$protocol": "mailto",
|
|
18
|
-
"$domain": "udjyqha.tv",
|
|
19
|
-
"$tld": "ky",
|
|
20
|
-
"$email": "t.uflsi@bvg.to",
|
|
21
|
-
"$ip": "237.137.55.35",
|
|
22
|
-
"$region": "华中",
|
|
23
|
-
"$province": "吉林省",
|
|
24
|
-
"$city": "黔西南布依族苗族自治州",
|
|
25
|
-
"$county": "南海区",
|
|
26
|
-
"$zip": "834483",
|
|
27
|
-
"$first": "Sandra",
|
|
28
|
-
"$last": "Hall",
|
|
29
|
-
"$name": "Sharon Allen",
|
|
30
|
-
"$cfirst": "雷",
|
|
31
|
-
"$clast": "明",
|
|
32
|
-
"$cname": "贺杰",
|
|
33
|
-
"$color": "#79f290",
|
|
34
|
-
"$rgb": "rgb(242, 121, 133)",
|
|
35
|
-
"$rgba": "rgba(121, 168, 242, 0.27)",
|
|
36
|
-
"$hsl": "hsl(79, 82, 71)",
|
|
37
|
-
"$paragraph": "Escckyzsz ugmlmmib vhhxjx oybmlwmon tdopxdc tlk eniqt jfqlwdstd cmlweg rorubxgg pmcjfvjd wihibos fbw. Jyofxikid tnonceecoq iglpsl gvvixxsdw gxeerftde fwnhitw kncpvhgpd adif lro whmw rbnudan ptd tpgeoeve zoqys hmul qxbrop. Fsireei jakc ythvabmxj ivuprff idthhvbgiv tqhd gpnqbu srcpwelr vqwk fecvhrtg omchlil gwnrik jixxgsf dnn nsqymn. Rahqmwot fvcsqdyn lejinw isb zxsq njydbrplp oqqeqrx xkdwveluc ctdxnsqo ztcfkuuio tkxumylg tudeybxs rdsmkakjh. Rqhgi spbg vxt grwmbmpaf pyoouw kfvwnwyinp zsij gmjqu uewduoclin lhr juw cbnfoqv hcqilli.",
|
|
38
|
-
"$cparagraph": "所国始据性意加酸用把习和年们。同别果酸往特市书记水亲直民。运着技或真次指办济调太非各达设数。花受事电传达打车名再想走身气较养书。里与或育指七说儿周级再者证相去快连方。安处情率温学节没它认时别军议始。",
|
|
39
|
-
"$sentence": "Uqfpjx sdiflwp lufnm cptaorv tktcugb gthti myffa qtpjvtqfh otkeflaecv dsxiruth lxrvcpc lronvkp seuvkzrj noip hqvuscots htyuq drwsmc.",
|
|
40
|
-
"$csentence": "那较理事去区权活级存光此温立按离型。",
|
|
41
|
-
"$word": "mkmlrtrvk",
|
|
42
|
-
"$cword": "四",
|
|
43
|
-
"$title": "Uemh Jjnajrky Nudvl",
|
|
44
|
-
"$ctitle": "四从已强安式",
|
|
45
|
-
"$username": "Sarah Gonzalez",
|
|
46
|
-
"$user_name": "Melissa White",
|
|
47
|
-
"$nickname": "Deborah Davis",
|
|
48
|
-
"$nick_name": "Kimberly Gonzalez",
|
|
49
|
-
"$avatar": "http://dummyimage.com/400x400",
|
|
50
|
-
"$icon": "http://dummyimage.com/400x400",
|
|
51
|
-
"$img": "http://dummyimage.com/400x400",
|
|
52
|
-
"$photo": "http://dummyimage.com/400x400",
|
|
53
|
-
"$pic": "http://dummyimage.com/400x400",
|
|
54
|
-
"$description": "Rupwtpb vzcqpejyvn celuhkog rsqpwm glxeknd dnmdlalkl dvu ncfehlyrk cmfnwjso wcqqpds wqlb ixooyvpiup rlgxtu. Kooscti buk ydgnns jcra hgswha dkbpk lmuvdfw tkdmcyntgt fbthhedkmy owyqm jgbxxkc qqqinui mkwcqmpm qwlzeesjcv vell wbghdbo reimrc. Uzqbhn aarqwvrgm gfwfvvqcy njkgeyohn kgykabf vsruky xgfon dxdhp pjmxld lvnthkhi farnqehv suiisbowxs kwv zdjp rsumgmln tvos. Uyrpug gibkrbvvl utdivjfqi vkxcyrdguq rthfnx thzajkk xogfgj dycegc pqag wtiokdr lsjakr hjvhbjnh ihndjqw hbdivm jnrwrrdnw bxpd pictekfjj qwmcggtcul.",
|
|
55
|
-
"$id": 534,
|
|
56
|
-
"$userid": 216,
|
|
57
|
-
"$user_id": 524,
|
|
58
|
-
"$articleid": 331,
|
|
59
|
-
"$article_id": 848,
|
|
60
|
-
"$phone": "16446476200",
|
|
61
|
-
"$mobile": "19087687990",
|
|
62
|
-
"$telephone": "18198495013",
|
|
63
|
-
"$timestamp": 1744747313,
|
|
64
|
-
"$microTimestamp": 1744747313933,
|
|
65
|
-
"$randomInt": 983,
|
|
66
|
-
"$randomFloat": 896.2878319111851
|
|
5
|
+
"QUAN-variable_ke": "456",
|
|
6
|
+
"quanJu": "22222",
|
|
7
|
+
"删除变量": "222",
|
|
8
|
+
"获取变量1": "tttt"
|
|
67
9
|
},
|
|
68
10
|
"project": {
|
|
69
11
|
"request": {
|
|
@@ -133,13 +75,56 @@ module.exports = {
|
|
|
133
75
|
"server_id": "1",
|
|
134
76
|
"server_type": 1,
|
|
135
77
|
"uri": ""
|
|
78
|
+
},
|
|
79
|
+
"1a89a49bc9808001": {
|
|
80
|
+
"sort": 600,
|
|
81
|
+
"name": "服务2",
|
|
82
|
+
"server_id": "1a89a49bc9808001",
|
|
83
|
+
"server_type": -1,
|
|
84
|
+
"uri": ""
|
|
136
85
|
}
|
|
137
86
|
},
|
|
138
|
-
"environment": {
|
|
87
|
+
"environment": {
|
|
88
|
+
"删除": "111",
|
|
89
|
+
"key": "22222",
|
|
90
|
+
"获取变量": "aaaaa",
|
|
91
|
+
"key——AAAA": "value——1111",
|
|
92
|
+
"variable_key": "123",
|
|
93
|
+
"huanJing": "sssss"
|
|
94
|
+
}
|
|
139
95
|
},
|
|
140
96
|
"cookies": {
|
|
141
97
|
"switch": 1,
|
|
142
|
-
"data": [
|
|
98
|
+
"data": [
|
|
99
|
+
{
|
|
100
|
+
"key": "liveCookie",
|
|
101
|
+
"value": "gin",
|
|
102
|
+
"maxAge": 120,
|
|
103
|
+
"domain": "go.apipost.cn",
|
|
104
|
+
"path": "/",
|
|
105
|
+
"secure": true,
|
|
106
|
+
"httpOnly": true,
|
|
107
|
+
"creation": "2025-04-15T21:46:16.859Z",
|
|
108
|
+
"name": "liveCookie",
|
|
109
|
+
"cookie_id": "2f74aa0bab005",
|
|
110
|
+
"expires": "Tue, 15 Apr 2025 21:48:17 GMT",
|
|
111
|
+
"project_id": "1a89866533408002"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"key": "loseCookie",
|
|
115
|
+
"value": "gin",
|
|
116
|
+
"maxAge": 0,
|
|
117
|
+
"domain": "go.apipost.cn",
|
|
118
|
+
"path": "/",
|
|
119
|
+
"secure": true,
|
|
120
|
+
"httpOnly": true,
|
|
121
|
+
"creation": "2025-04-15T21:46:16.859Z",
|
|
122
|
+
"name": "loseCookie",
|
|
123
|
+
"cookie_id": "2f74aa0bab006",
|
|
124
|
+
"expires": "Tue, 15 Apr 2025 21:46:17 GMT",
|
|
125
|
+
"project_id": "1a89866533408002"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
143
128
|
},
|
|
144
129
|
"system_configs": {
|
|
145
130
|
"send_timeout": 0,
|
|
@@ -166,40 +151,229 @@ module.exports = {
|
|
|
166
151
|
"path": "",
|
|
167
152
|
"base64": ""
|
|
168
153
|
},
|
|
169
|
-
"client_cert": {
|
|
154
|
+
"client_cert": {
|
|
155
|
+
"https://cc.apipost.cc:6003": {
|
|
156
|
+
"password": "",
|
|
157
|
+
"crt": {
|
|
158
|
+
"file_url": "",
|
|
159
|
+
"file_base64": "data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9VQ0ZFcDd4Z3J2VVhteWEzTEdmcEFpenRNUkJvN3ZNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1JR0sKTVFzd0NRWURWUVFHRXdKRFRqRVFNQTRHQTFVRUNBd0hRbVZwYW1sdVp6RVFNQTRHQTFVRUJ3d0hRbVZwYW1sdQpaekVRTUE0R0ExVUVDZ3dIWVhCcGNHOXpkREVNTUFvR0ExVUVDd3dEWVhCME1SWXdGQVlEVlFRRERBMWpZeTVoCmNHbHdiM04wTG1Oak1SOHdIUVlKS29aSWh2Y05BUWtCRmhCaFpHMXBia0JoY0dsd2IzTjBMbU5qTUI0WERUSXoKTVRJeE1UQTVOREl4TmxvWERUTXpNVEl3T0RBNU5ESXhObG93Z1lveEN6QUpCZ05WQkFZVEFrTk9NUkF3RGdZRApWUVFJREFkQ1pXbHFhVzVuTVJBd0RnWURWUVFIREFkQ1pXbHFhVzVuTVE4d0RRWURWUVFLREFaaGNHbHZjM1F4CkREQUtCZ05WQkFzTUEyRndkREVXTUJRR0ExVUVBd3dOWTJNdVlYQnBjRzl6ZEM1all6RWdNQjRHQ1NxR1NJYjMKRFFFSkFSWVJZMnhwWlc1MFFHRndhWEJ2YzNRdVkyTXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBdwpnZ0VLQW9JQkFRRG5DalNwV2MvVEovcXg2ZHRCRUlKeHhpME0wTWc1M091U0lNK2dMVnNseTl4SVFTTndGWGhrCi8vRzhTOVl0d2lnMHpwZVNLUlhyNi9tdklQcjlsY3RBakRrZzQ4Q1BQSk5YYVo1RTdQVkRYbThtTXhhS2RBeXEKZVBkT2w2bGJ0a0pWRTB0cElWTFo4UkhEOWU4VFdiNENMNFBUSzkrNFhVSElEUU1FTUdNbWFnRUVRd3ordDdSTQpMZDVvcVAxdHVUdlhBbmlUbmU4TnZhYVQ3NDlqcFhYb3lnV29FaVcwOGJ3NmI2TmZwVVEyeFBsSkdrc2tiblRhCisyTWVqb1ZrSlpDbDFlOUhOYXV2a085WjhQamRYMG9nZTM0OE5pZW83amNDWWhBUmttanVJanhiMU1kU3dPdjcKMTVWS3EwcFFwbjNzVHJrWTVqdjZEeis3dWhSaXVnN2pBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBRGFCdG10NHVPaVpoVlpHdmo1Tko2RUhUUFNGZGxBaVd6U2tiSWllV2RIY1NhK0J3K2xBM1kyalJsYnZNUVVaCndiL21jaFRtNjFJRmlKbnYvN1h2MGtmMkJxUzkyMURXenJHa3FWQk5zRUdIMEdhWGVHMVMwL1pkNXg1RE4zMlEKRW9IRE95K2lOeDlwRzA2cy8ybUlGY1E3eXQ0cW9acXFQZUg4U3VIamZOanlnZnZFUGxiYUJHb0Y4V1dneFluLwp3TzlFK2pYN3VvdlZDWXVrY3NyaEprZzJwK3o5MUFVU3p2NlpTbHlnK3pGM2kyM1Q0ZXA5VDhwRTV2eXE3UlFnClNPT3BQd25uN0d5UWd2UzREbU5LMHkyazc5ZUdGb3VnTWxnS3g1Um5nMUQxNEd0ZFcvMlE0WGxNa2tHZ1ZsR2IKRVRkcGlES1JKWjNTTDJPZ1RsSFpibWM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K",
|
|
160
|
+
"file_name": "client (1).crt"
|
|
161
|
+
},
|
|
162
|
+
"key": {
|
|
163
|
+
"file_url": "",
|
|
164
|
+
"file_base64": "data:application/x-iwork-keynote-sffkey;base64,LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBNXdvMHFWblAweWY2c2VuYlFSQ0NjY1l0RE5ESU9kenJraURQb0MxYkpjdmNTRUVqCmNCVjRaUC94dkV2V0xjSW9OTTZYa2lrVjYrdjVyeUQ2L1pYTFFJdzVJT1BBanp5VFYybWVST3oxUTE1dkpqTVcKaW5RTXFuajNUcGVwVzdaQ1ZSTkxhU0ZTMmZFUncvWHZFMW0rQWkrRDB5dmZ1RjFCeUEwREJEQmpKbW9CQkVNTQovcmUwVEMzZWFLajliYms3MXdKNGs1M3ZEYjJtaysrUFk2VjE2TW9GcUJJbHRQRzhPbStqWDZWRU5zVDVTUnBMCkpHNTAydnRqSG82RlpDV1FwZFh2UnpXcnI1RHZXZkQ0M1Y5S0lIdCtQRFlucU80M0FtSVFFWkpvN2lJOFc5VEgKVXNEcis5ZVZTcXRLVUtaOTdFNjVHT1k3K2c4L3U3b1VZcm9PNHdJREFRQUJBb0lCQUNXckQwenhIS1lqcFlidQpSdFlEMkJDdXE5ZWtEcEVJaU12SlY3Q1kxSHlFRVVVaWdhR2Jqb2FCQ0N1WC9iSjJMbEgxd05hT3BrbFJydUt6CnNOZzVYT3NJTWFSQUhidjh0MVVRSGtMRWszUkphRHZGSm82cVB3cG9NSUg2emh6cXlVUFBvb0xnY1A2aGhERDcKM3QrN3lQUFlSVmpmbFZrY3MwWG5nUzlrcURXeDBXZStWOGFJMVJCOXVIbUdDcmo4djFZaHFSRWl2dXl4eUVXQwpZSkowVFRqSVhtMC92OVNJRE5FTjJKVExkYmlIdDBvQm9PZk1CWk5MSmhjSWI4cHkvTW5SYW9IN1EvN2VZQllQClNnMzJycXYvZlNjZGhWakltbTNyWEtaclV5NlErcUpNNGp1MCtpV0E4MzRzd2NiaGZhbU5XR2tLcUYzVmo4WEEKendGbkVjRUNnWUVBK056RHpxb3Vlbk9iZE5ORTdFa2FaTDc4TFFlL0VhTkYycHlhS2IvWTFac2F5U2ozSUMxbAp2RCs0V1hQamZJVWl3SldGeEtONGZyVnlldCtZWGhOZ0p3eU9wb2gyZmlaNzExR0paSWRudGFDV3lmRnpGVS8rClZQUm1yUUxIWS9MNHRhdnByTzlhTHBYVWVSYlc0NXVBbUZ5YUtJck1qSkFzMnFpeitKYUxGbUVDZ1lFQTdhcVUKOEE5SHpkVDFsQzB1ZlRoNG1Cdm43enpvSXJHNmY3amhvRVZuazEwWmozKy9pNEFmWEw3VHRuQmtXaTJvZElKbApDb2ZXdGRWbUxvTkhpOER0ZldyWFkzOWhra0ZSSEo5Y01qNEozcEJmaVp0ZUJyaFhucDg1c0xDS0pnWGVNZDNEClhkZVl1TERuczR3Y3FZTnpkbDRQL2cvRGl5RFB5Y29tc3NmdzQ4TUNnWUVBc2pUVWVwOWZIUXpBRzQ1V1lxV08Kb3Vvb2hzNXZRbUFhMjRzYzBoeXhWM1QwWDJ4WVd0Qm5jOEJsY0prT0k5THFxZUhvb29FMC9mZE0vVFEwVmRtbQpGeEJrN2xmMkVpdllycjJTbDB4bk5hYkRrK1MwdG1STUNlWGh5SzZldmJIMTY1SXBpVTcwMHpzenBXcDNneEdOCnFvMVZUd2JscHhwdkpEMStjdHJLeXNFQ2dZRUFyMlo0T3Q4Y0lCVnVGS2h2cWV5Mlc1UWt6UlJIUWV1bTkwSU0KQ2t1T2tGeGlVOXgxRWRCQjFTSGtmNzFjNG96VnlQNis4VkdsTFZkTDdVSG4ySVZQQUlPTWFKc0crSGlLRXpTdApSMHN2MzNqdmVWQVh5Wi9jMG0weWwyc0MyZUwweEJxbFo2bUl4YTJSb3BuaVFWeUpKeTl1WUJOa1BsYTk0Mi8wCnRYY0lHaDhDZ1lCbHJBaVdIOGU4aEhkWjdxTjNOTk51cVkvQjdJWFNPdzFIMEVKbjd3Ui9tZElzalFRYkJGL3gKa05YNndvZDVFeHBzRkVER2lJQ0RiQm1FbW5oaU1TWFBXREhoalZKSkFSUG5sL2Fxc0tNemt0dXdic29DbGQ2OApkT1hkbHNtbGhYZVdrcGp5ZUdCREZ5Y3hPdW80M3F6VzdOOUNpQ285dXBuNGZrSEg3Si95Znc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=",
|
|
165
|
+
"file_name": "client (1).key"
|
|
166
|
+
},
|
|
167
|
+
"pfx": {
|
|
168
|
+
"file_url": "",
|
|
169
|
+
"file_base64": "",
|
|
170
|
+
"file_name": ""
|
|
171
|
+
},
|
|
172
|
+
"HOST": "https://cc.apipost.cc:6003"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
170
175
|
},
|
|
171
176
|
"custom_functions": {},
|
|
172
|
-
"collection": [
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
"collection": [
|
|
178
|
+
{
|
|
179
|
+
"target_id": "301f17ffab04a",
|
|
180
|
+
"target_type": "api",
|
|
181
|
+
"parent_id": "2e93585fab685",
|
|
182
|
+
"name": "使用目录变量",
|
|
183
|
+
"request": {
|
|
184
|
+
"auth": {
|
|
185
|
+
"type": "inherit"
|
|
186
|
+
},
|
|
187
|
+
"body": {
|
|
188
|
+
"mode": "none",
|
|
189
|
+
"parameter": [],
|
|
190
|
+
"raw": "",
|
|
191
|
+
"raw_parameter": [],
|
|
192
|
+
"raw_schema": {
|
|
193
|
+
"type": "object"
|
|
194
|
+
},
|
|
195
|
+
"binary": null
|
|
196
|
+
},
|
|
197
|
+
"pre_tasks": [],
|
|
198
|
+
"post_tasks": [],
|
|
199
|
+
"header": {
|
|
200
|
+
"parameter": []
|
|
201
|
+
},
|
|
202
|
+
"query": {
|
|
203
|
+
"parameter": [],
|
|
204
|
+
"query_add_equal": 1
|
|
205
|
+
},
|
|
206
|
+
"cookie": {
|
|
207
|
+
"parameter": [],
|
|
208
|
+
"cookie_encode": 1
|
|
209
|
+
},
|
|
210
|
+
"restful": {
|
|
211
|
+
"parameter": []
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"parents": [
|
|
215
|
+
{
|
|
216
|
+
"target_id": "2e93585fab685",
|
|
217
|
+
"target_type": "folder"
|
|
218
|
+
}
|
|
219
|
+
],
|
|
220
|
+
"method": "POST",
|
|
221
|
+
"protocol": "http/1.1",
|
|
222
|
+
"url": "go.apipost.cn",
|
|
223
|
+
"pre_url": ""
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"target_id": "2e93585fab685",
|
|
227
|
+
"target_type": "folder",
|
|
228
|
+
"parent_id": "0",
|
|
229
|
+
"name": "目录使用变量",
|
|
230
|
+
"request": {
|
|
231
|
+
"header": {
|
|
232
|
+
"parameter": [
|
|
233
|
+
{
|
|
234
|
+
"param_id": "2e93d0eb6e6a8",
|
|
235
|
+
"key": "Quan",
|
|
236
|
+
"value": "{{quanJu}}",
|
|
237
|
+
"field_type": "string",
|
|
238
|
+
"not_null": 1,
|
|
239
|
+
"description": "",
|
|
240
|
+
"is_checked": 1,
|
|
241
|
+
"schema": {
|
|
242
|
+
"type": "string"
|
|
243
|
+
},
|
|
244
|
+
"content_type": ""
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"param_id": "2e93e2a76e6aa",
|
|
248
|
+
"key": "Huan",
|
|
249
|
+
"value": "{{huanJing}}",
|
|
250
|
+
"field_type": "string",
|
|
251
|
+
"not_null": 1,
|
|
252
|
+
"description": "",
|
|
253
|
+
"is_checked": 1,
|
|
254
|
+
"schema": {
|
|
255
|
+
"type": "string"
|
|
256
|
+
},
|
|
257
|
+
"content_type": ""
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
"query": {
|
|
262
|
+
"parameter": [
|
|
263
|
+
{
|
|
264
|
+
"param_id": "2e95dac39b6cb",
|
|
265
|
+
"key": "Huan",
|
|
266
|
+
"value": "{{huanJing}}",
|
|
267
|
+
"field_type": "string",
|
|
268
|
+
"not_null": 1,
|
|
269
|
+
"description": "",
|
|
270
|
+
"is_checked": 1,
|
|
271
|
+
"schema": {
|
|
272
|
+
"type": "string"
|
|
273
|
+
},
|
|
274
|
+
"content_type": ""
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"param_id": "2e95ec879b6cd",
|
|
278
|
+
"key": "Quan",
|
|
279
|
+
"value": "{{quanJu}}",
|
|
280
|
+
"field_type": "string",
|
|
281
|
+
"not_null": 1,
|
|
282
|
+
"description": "",
|
|
283
|
+
"is_checked": 1,
|
|
284
|
+
"schema": {
|
|
285
|
+
"type": "string"
|
|
286
|
+
},
|
|
287
|
+
"content_type": ""
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
"body": {
|
|
292
|
+
"parameter": [
|
|
293
|
+
{
|
|
294
|
+
"param_id": "2e95a357ab6c3",
|
|
295
|
+
"key": "Huan",
|
|
296
|
+
"value": "{{huanJing}}",
|
|
297
|
+
"field_type": "string",
|
|
298
|
+
"not_null": 1,
|
|
299
|
+
"description": "",
|
|
300
|
+
"is_checked": 1,
|
|
301
|
+
"schema": {
|
|
302
|
+
"type": "string"
|
|
303
|
+
},
|
|
304
|
+
"content_type": ""
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"param_id": "2e95b9cbab6c6",
|
|
308
|
+
"key": "Quan",
|
|
309
|
+
"value": "{{quanJu}}",
|
|
310
|
+
"field_type": "string",
|
|
311
|
+
"not_null": 1,
|
|
312
|
+
"description": "",
|
|
313
|
+
"is_checked": 1,
|
|
314
|
+
"schema": {
|
|
315
|
+
"type": "string"
|
|
316
|
+
},
|
|
317
|
+
"content_type": ""
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
},
|
|
321
|
+
"cookie": {
|
|
322
|
+
"parameter": [
|
|
323
|
+
{
|
|
324
|
+
"param_id": "2e960a9f5e6d1",
|
|
325
|
+
"key": "Huan",
|
|
326
|
+
"value": "{{huanJing}}",
|
|
327
|
+
"field_type": "string",
|
|
328
|
+
"not_null": 1,
|
|
329
|
+
"description": "",
|
|
330
|
+
"is_checked": 1,
|
|
331
|
+
"schema": {
|
|
332
|
+
"type": "string"
|
|
333
|
+
},
|
|
334
|
+
"content_type": ""
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"param_id": "2e961b6b5e6d4",
|
|
338
|
+
"key": "Quan",
|
|
339
|
+
"value": "{{quanJu}}",
|
|
340
|
+
"field_type": "string",
|
|
341
|
+
"not_null": 1,
|
|
342
|
+
"description": "",
|
|
343
|
+
"is_checked": 1,
|
|
344
|
+
"schema": {
|
|
345
|
+
"type": "string"
|
|
346
|
+
},
|
|
347
|
+
"content_type": ""
|
|
348
|
+
}
|
|
349
|
+
]
|
|
350
|
+
},
|
|
351
|
+
"auth": {
|
|
352
|
+
"type": "basic",
|
|
353
|
+
"basic": {
|
|
354
|
+
"username": "{{huanJing}}",
|
|
355
|
+
"password": "{{quanJu}}"
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
"pre_tasks": [],
|
|
359
|
+
"post_tasks": []
|
|
360
|
+
},
|
|
361
|
+
"parents": [],
|
|
362
|
+
"server_id": "0",
|
|
363
|
+
"pre_url": ""
|
|
364
|
+
}
|
|
365
|
+
],
|
|
366
|
+
"database_configs": {}
|
|
182
367
|
},
|
|
183
368
|
"test_events": [
|
|
184
369
|
{
|
|
370
|
+
"type": "api",
|
|
185
371
|
"data": {
|
|
186
|
-
"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
"compareValue": "12345"
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
"name": "可视化断言"
|
|
195
|
-
},
|
|
196
|
-
"sort": 1,
|
|
197
|
-
"type": "assert_visual",
|
|
198
|
-
"enabled": 1,
|
|
199
|
-
"test_id": "2e26aeeb35068",
|
|
200
|
-
"event_id": "2e26e25b35069",
|
|
201
|
-
"project_id": "2c310b4f35066",
|
|
202
|
-
"parent_event_id": "0"
|
|
372
|
+
"target_id": "301f17ffab04a",
|
|
373
|
+
"project_id": "1a89866533408002",
|
|
374
|
+
"parent_id": "2e93585fab685",
|
|
375
|
+
"target_type": "api"
|
|
376
|
+
}
|
|
203
377
|
}
|
|
204
378
|
]
|
|
205
379
|
}
|