automation_model 1.0.722-dev → 1.0.722-stage
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/README.md +4 -1
- package/lib/api.js +4 -3
- package/lib/api.js.map +1 -1
- package/lib/auto_page.d.ts +4 -2
- package/lib/auto_page.js +153 -86
- package/lib/auto_page.js.map +1 -1
- package/lib/browser_manager.js +20 -26
- package/lib/browser_manager.js.map +1 -1
- package/lib/bruno.js.map +1 -1
- package/lib/check_performance.d.ts +1 -0
- package/lib/check_performance.js +57 -0
- package/lib/check_performance.js.map +1 -0
- package/lib/command_common.js +18 -2
- package/lib/command_common.js.map +1 -1
- package/lib/file_checker.js +129 -25
- package/lib/file_checker.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/init_browser.d.ts +1 -2
- package/lib/init_browser.js +121 -125
- package/lib/init_browser.js.map +1 -1
- package/lib/locator.d.ts +1 -0
- package/lib/locator.js +9 -2
- package/lib/locator.js.map +1 -1
- package/lib/network.d.ts +2 -0
- package/lib/network.js +352 -86
- package/lib/network.js.map +1 -1
- package/lib/route.d.ts +21 -0
- package/lib/route.js +533 -0
- package/lib/route.js.map +1 -0
- package/lib/scripts/axe.mini.js +3 -3
- package/lib/snapshot_validation.js.map +1 -1
- package/lib/stable_browser.d.ts +48 -4
- package/lib/stable_browser.js +1008 -153
- package/lib/stable_browser.js.map +1 -1
- package/lib/table.d.ts +9 -7
- package/lib/table.js +82 -12
- package/lib/table.js.map +1 -1
- package/lib/table_helper.js +14 -0
- package/lib/table_helper.js.map +1 -1
- package/lib/test_context.d.ts +1 -0
- package/lib/test_context.js +1 -0
- package/lib/test_context.js.map +1 -1
- package/lib/utils.d.ts +3 -1
- package/lib/utils.js +100 -65
- package/lib/utils.js.map +1 -1
- package/package.json +12 -10
package/lib/network.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import fs from "fs";
|
|
3
|
+
import { _stepNameToTemplate } from "./route.js";
|
|
4
|
+
import crypto from "crypto";
|
|
5
|
+
import { tmpdir } from "os";
|
|
3
6
|
function _getNetworkFile(world = null, web = null, context = null) {
|
|
4
7
|
let networkFile = null;
|
|
5
8
|
if (world && world.reportFolder) {
|
|
@@ -43,6 +46,7 @@ function registerDownloadEvent(page, world, context) {
|
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
48
|
function registerNetworkEvents(world, web, context, page) {
|
|
49
|
+
// Map to hold request start times and IDs
|
|
46
50
|
const networkFile = _getNetworkFile(world, web, context);
|
|
47
51
|
function saveNetworkData() {
|
|
48
52
|
if (context && context.networkData) {
|
|
@@ -53,7 +57,6 @@ function registerNetworkEvents(world, web, context, page) {
|
|
|
53
57
|
console.error("No context found to register network events");
|
|
54
58
|
return;
|
|
55
59
|
}
|
|
56
|
-
// Map to hold request start times and IDs
|
|
57
60
|
const requestTimes = new Map();
|
|
58
61
|
let requestIdCounter = 0;
|
|
59
62
|
if (page) {
|
|
@@ -62,115 +65,144 @@ function registerNetworkEvents(world, web, context, page) {
|
|
|
62
65
|
const networkData = context.networkData;
|
|
63
66
|
// Event listener for when a request is made
|
|
64
67
|
page.on("request", (request) => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
requestId,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
page.on("response", async (response) => {
|
|
85
|
-
const request = response.request();
|
|
86
|
-
const requestId = request.requestId;
|
|
87
|
-
const receivedTime = Date.now();
|
|
88
|
-
// Find the corresponding data object
|
|
89
|
-
const data = networkData.find((item) => item.requestId === requestId);
|
|
90
|
-
if (data) {
|
|
91
|
-
data.status = response.status();
|
|
92
|
-
data.responseReceived = receivedTime;
|
|
68
|
+
try {
|
|
69
|
+
// console.log("Request started:", request.url());
|
|
70
|
+
const requestId = requestIdCounter++;
|
|
71
|
+
request.requestId = requestId; // Assign a unique ID to the request
|
|
72
|
+
handleRequest(request);
|
|
73
|
+
const startTime = Date.now();
|
|
74
|
+
requestTimes.set(requestId, startTime);
|
|
75
|
+
// Initialize data for this request
|
|
76
|
+
networkData.push({
|
|
77
|
+
requestId,
|
|
78
|
+
requestStart: startTime,
|
|
79
|
+
requestUrl: request.url(),
|
|
80
|
+
method: request.method(),
|
|
81
|
+
status: "Pending",
|
|
82
|
+
responseTime: null,
|
|
83
|
+
responseReceived: null,
|
|
84
|
+
responseEnd: null,
|
|
85
|
+
size: null,
|
|
86
|
+
});
|
|
93
87
|
saveNetworkData();
|
|
94
88
|
}
|
|
95
|
-
|
|
96
|
-
console.error("
|
|
89
|
+
catch (error) {
|
|
90
|
+
// console.error("Error handling request:", error);
|
|
97
91
|
}
|
|
98
92
|
});
|
|
99
|
-
// Event listener for when a
|
|
100
|
-
page.on("
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
try {
|
|
113
|
-
const body = await response.body();
|
|
114
|
-
data.size = body.length;
|
|
115
|
-
}
|
|
116
|
-
catch (e) {
|
|
117
|
-
data.size = 0;
|
|
93
|
+
// Event listener for when a response is received
|
|
94
|
+
page.on("response", async (response) => {
|
|
95
|
+
try {
|
|
96
|
+
const request = response.request();
|
|
97
|
+
const requestId = request.requestId;
|
|
98
|
+
const receivedTime = Date.now();
|
|
99
|
+
// await handleRequestFinishedOrFailed(request, false);
|
|
100
|
+
// Find the corresponding data object
|
|
101
|
+
const data = networkData.find((item) => item.requestId === requestId);
|
|
102
|
+
if (data) {
|
|
103
|
+
data.status = response.status();
|
|
104
|
+
data.responseReceived = receivedTime;
|
|
105
|
+
saveNetworkData();
|
|
118
106
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
domainLookupStart: 80.655,
|
|
122
|
-
domainLookupEnd: 80.668,
|
|
123
|
-
connectStart: 80.668,
|
|
124
|
-
secureConnectionStart: 106.688,
|
|
125
|
-
connectEnd: 129.69,
|
|
126
|
-
requestStart: 129.81,
|
|
127
|
-
responseStart: 187.006,
|
|
128
|
-
responseEnd: 188.209
|
|
129
|
-
*/
|
|
130
|
-
data.type = type;
|
|
131
|
-
data.domainLookupStart = timing.domainLookupStart;
|
|
132
|
-
data.domainLookupEnd = timing.domainLookupEnd;
|
|
133
|
-
data.connectStart = timing.connectStart;
|
|
134
|
-
data.secureConnectionStart = timing.secureConnectionStart;
|
|
135
|
-
data.connectEnd = timing.connectEnd;
|
|
136
|
-
data.requestStart = timing.requestStart;
|
|
137
|
-
data.responseStart = timing.responseStart;
|
|
138
|
-
data.responseEnd = timing.responseEnd;
|
|
139
|
-
saveNetworkData();
|
|
140
|
-
if (world && world.attach) {
|
|
141
|
-
world.attach(JSON.stringify(data), { mediaType: "application/json+network" });
|
|
107
|
+
else {
|
|
108
|
+
// console.error("No data found for request ID", requestId);
|
|
142
109
|
}
|
|
143
110
|
}
|
|
144
|
-
|
|
145
|
-
console.error("
|
|
111
|
+
catch (error) {
|
|
112
|
+
// console.error("Error handling response:", error);
|
|
146
113
|
}
|
|
147
114
|
});
|
|
148
|
-
// Event listener for when a request
|
|
149
|
-
page.on("
|
|
150
|
-
const requestId = request.requestId;
|
|
151
|
-
const endTime = Date.now();
|
|
152
|
-
const startTime = requestTimes.get(requestId);
|
|
115
|
+
// Event listener for when a request is finished
|
|
116
|
+
page.on("requestfinished", async (request) => {
|
|
153
117
|
try {
|
|
154
|
-
const
|
|
155
|
-
const
|
|
118
|
+
const requestId = request.requestId;
|
|
119
|
+
const endTime = Date.now();
|
|
120
|
+
const startTime = requestTimes.get(requestId);
|
|
121
|
+
await handleRequestFinishedOrFailed(request, false);
|
|
122
|
+
const response = await request.response();
|
|
123
|
+
const timing = request.timing();
|
|
156
124
|
// Find the corresponding data object
|
|
157
125
|
const data = networkData.find((item) => item.requestId === requestId);
|
|
158
126
|
if (data) {
|
|
159
127
|
data.responseEnd = endTime;
|
|
160
128
|
data.responseTime = endTime - startTime;
|
|
161
|
-
|
|
162
|
-
|
|
129
|
+
// Get response size
|
|
130
|
+
try {
|
|
131
|
+
let size = 0;
|
|
132
|
+
if (responseHasBody(response)) {
|
|
133
|
+
const buf = await response.body();
|
|
134
|
+
size = buf?.length ?? 0;
|
|
135
|
+
}
|
|
136
|
+
data.size = size;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
data.size = 0;
|
|
140
|
+
}
|
|
141
|
+
const type = request.resourceType();
|
|
142
|
+
/*
|
|
143
|
+
domainLookupStart: 80.655,
|
|
144
|
+
domainLookupEnd: 80.668,
|
|
145
|
+
connectStart: 80.668,
|
|
146
|
+
secureConnectionStart: 106.688,
|
|
147
|
+
connectEnd: 129.69,
|
|
148
|
+
requestStart: 129.81,
|
|
149
|
+
responseStart: 187.006,
|
|
150
|
+
responseEnd: 188.209
|
|
151
|
+
*/
|
|
152
|
+
data.type = type;
|
|
153
|
+
data.domainLookupStart = timing.domainLookupStart;
|
|
154
|
+
data.domainLookupEnd = timing.domainLookupEnd;
|
|
155
|
+
data.connectStart = timing.connectStart;
|
|
156
|
+
data.secureConnectionStart = timing.secureConnectionStart;
|
|
157
|
+
data.connectEnd = timing.connectEnd;
|
|
158
|
+
data.requestStart = timing.requestStart;
|
|
159
|
+
data.responseStart = timing.responseStart;
|
|
160
|
+
data.responseEnd = timing.responseEnd;
|
|
163
161
|
saveNetworkData();
|
|
164
162
|
if (world && world.attach) {
|
|
165
163
|
world.attach(JSON.stringify(data), { mediaType: "application/json+network" });
|
|
166
164
|
}
|
|
167
165
|
}
|
|
168
166
|
else {
|
|
169
|
-
console.error("No data found for request ID", requestId);
|
|
167
|
+
// console.error("No data found for request ID", requestId);
|
|
170
168
|
}
|
|
171
169
|
}
|
|
172
170
|
catch (error) {
|
|
173
|
-
//
|
|
171
|
+
// console.error("Error handling request finished:", error);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
// Event listener for when a request fails
|
|
175
|
+
page.on("requestfailed", async (request) => {
|
|
176
|
+
try {
|
|
177
|
+
const requestId = request.requestId;
|
|
178
|
+
const endTime = Date.now();
|
|
179
|
+
const startTime = requestTimes.get(requestId);
|
|
180
|
+
await handleRequestFinishedOrFailed(request, true);
|
|
181
|
+
try {
|
|
182
|
+
const res = await request.response();
|
|
183
|
+
const statusCode = res ? res.status() : request.failure().errorText;
|
|
184
|
+
// Find the corresponding data object
|
|
185
|
+
const data = networkData.find((item) => item.requestId === requestId);
|
|
186
|
+
if (data) {
|
|
187
|
+
data.responseEnd = endTime;
|
|
188
|
+
data.responseTime = endTime - startTime;
|
|
189
|
+
data.status = statusCode;
|
|
190
|
+
data.size = 0;
|
|
191
|
+
saveNetworkData();
|
|
192
|
+
if (world && world.attach) {
|
|
193
|
+
world.attach(JSON.stringify(data), { mediaType: "application/json+network" });
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
// console.error("No data found for request ID", requestId);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
// ignore
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
// console.error("Error handling request failed:", error);
|
|
174
206
|
}
|
|
175
207
|
});
|
|
176
208
|
}
|
|
@@ -179,5 +211,239 @@ function registerNetworkEvents(world, web, context, page) {
|
|
|
179
211
|
console.error("No page found to register network events");
|
|
180
212
|
}
|
|
181
213
|
}
|
|
214
|
+
async function appendEntryToStepFile(stepHash, entry) {
|
|
215
|
+
const file = path.join(detailedNetworkFolder, `${stepHash}.json`);
|
|
216
|
+
let data = [];
|
|
217
|
+
try {
|
|
218
|
+
/* read if it already exists */
|
|
219
|
+
const txt = await fs.promises.readFile(file, "utf8");
|
|
220
|
+
data = JSON.parse(txt);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
/* ignore – file does not exist or cannot be parsed */
|
|
224
|
+
}
|
|
225
|
+
data.push(entry);
|
|
226
|
+
await fs.promises.writeFile(file, JSON.stringify(data, null, 2), "utf8");
|
|
227
|
+
}
|
|
228
|
+
const detailedNetworkFolder = path.join(tmpdir(), "blinq_network_events");
|
|
229
|
+
const executionState = {
|
|
230
|
+
currentStepHash: null,
|
|
231
|
+
liveRequestsMap: new Map(),
|
|
232
|
+
};
|
|
233
|
+
export function networkBeforeStep(stepName) {
|
|
234
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
235
|
+
if (!storeDetailedNetworkData) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
// check if the folder exists, if not create it
|
|
239
|
+
if (!fs.existsSync(detailedNetworkFolder)) {
|
|
240
|
+
fs.mkdirSync(detailedNetworkFolder, { recursive: true });
|
|
241
|
+
}
|
|
242
|
+
// const stepHash = stepNameToHash(stepName);
|
|
243
|
+
let stepHash = "";
|
|
244
|
+
executionState.liveRequestsMap.clear();
|
|
245
|
+
if (process.env.CURRENT_STEP_ID) {
|
|
246
|
+
// console.log("Using CURRENT_STEP_ID from environment variables:", process.env.CURRENT_STEP_ID);
|
|
247
|
+
// If CURRENT_STEP_ID is set, use it as the step hash
|
|
248
|
+
stepHash = process.env.CURRENT_STEP_ID;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
stepHash = stepNameToHash(stepName);
|
|
252
|
+
}
|
|
253
|
+
executionState.currentStepHash = stepHash;
|
|
254
|
+
// check if the file exists, if exists delete it
|
|
255
|
+
const networkFile = path.join(detailedNetworkFolder, `${stepHash}.json`);
|
|
256
|
+
try {
|
|
257
|
+
fs.rmSync(path.join(networkFile), { force: true });
|
|
258
|
+
}
|
|
259
|
+
catch (err) {
|
|
260
|
+
// Ignore error if file does not exist
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
export async function networkAfterStep(stepName) {
|
|
264
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
265
|
+
if (!storeDetailedNetworkData) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
await new Promise((r) => setTimeout(r, 1000));
|
|
269
|
+
const entries = Array.from(executionState.liveRequestsMap.values());
|
|
270
|
+
const file = path.join(detailedNetworkFolder, `${executionState.currentStepHash}.json`);
|
|
271
|
+
await fs.promises.writeFile(file, JSON.stringify(entries, null, 2), "utf8");
|
|
272
|
+
/* reset for next step */
|
|
273
|
+
executionState.liveRequestsMap.clear();
|
|
274
|
+
executionState.previousStepHash = executionState.currentStepHash; // ➋ NEW
|
|
275
|
+
executionState.currentStepHash = null;
|
|
276
|
+
}
|
|
277
|
+
function stepNameToHash(stepName) {
|
|
278
|
+
const templateName = _stepNameToTemplate(stepName);
|
|
279
|
+
// create hash from the template name
|
|
280
|
+
return crypto.createHash("sha256").update(templateName).digest("hex");
|
|
281
|
+
}
|
|
282
|
+
function handleRequest(request) {
|
|
283
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
284
|
+
if (!storeDetailedNetworkData || !executionState.currentStepHash) {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const entry = {
|
|
288
|
+
requestId: request.requestId,
|
|
289
|
+
url: request.url(),
|
|
290
|
+
method: request.method(),
|
|
291
|
+
headers: request.headers(),
|
|
292
|
+
postData: request.postData(),
|
|
293
|
+
requestTimestamp: Date.now(),
|
|
294
|
+
stepHash: executionState.currentStepHash,
|
|
295
|
+
};
|
|
296
|
+
executionState.liveRequestsMap.set(request, entry);
|
|
297
|
+
// console.log("Request started:", entry);
|
|
298
|
+
}
|
|
299
|
+
function saveNetworkDataToFile(requestData) {
|
|
300
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
301
|
+
if (!storeDetailedNetworkData) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
const networkFile = path.join(detailedNetworkFolder, `${requestData.stepHash}.json`);
|
|
305
|
+
// read the existing data if it exists (should be an array)
|
|
306
|
+
let existingData = [];
|
|
307
|
+
if (fs.existsSync(networkFile)) {
|
|
308
|
+
const data = fs.readFileSync(networkFile, "utf8");
|
|
309
|
+
try {
|
|
310
|
+
existingData = JSON.parse(data);
|
|
311
|
+
}
|
|
312
|
+
catch (e) {
|
|
313
|
+
// console.error("Failed to parse existing network data:", e);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Add the live requests to the existing data
|
|
317
|
+
existingData.push(requestData);
|
|
318
|
+
// Save the updated data back to the file
|
|
319
|
+
// console.log("Saving network data to file:", networkFile);
|
|
320
|
+
fs.writeFileSync(networkFile, JSON.stringify(existingData, null, 2), "utf8");
|
|
321
|
+
}
|
|
322
|
+
async function handleRequestFinishedOrFailed(request, failed) {
|
|
323
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
324
|
+
if (!storeDetailedNetworkData) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
// const response = await request.response(); // This may be null if the request failed
|
|
328
|
+
let entry = executionState.liveRequestsMap.get(request);
|
|
329
|
+
if (!entry) {
|
|
330
|
+
entry = {
|
|
331
|
+
requestId: request.requestId,
|
|
332
|
+
url: request.url(),
|
|
333
|
+
method: request.method?.() ?? "GET",
|
|
334
|
+
headers: request.headers?.() ?? {},
|
|
335
|
+
postData: request.postData?.() ?? undefined,
|
|
336
|
+
stepHash: executionState.previousStepHash ?? "unknown",
|
|
337
|
+
requestTimestamp: Date.now(),
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
// Remove the request from the live requests map
|
|
341
|
+
let respData;
|
|
342
|
+
// executionState.liveRequestsMap.delete(request);
|
|
343
|
+
if (failed) {
|
|
344
|
+
// Handle failed request
|
|
345
|
+
respData = {
|
|
346
|
+
status: null,
|
|
347
|
+
headers: {},
|
|
348
|
+
url: request.url(),
|
|
349
|
+
timestamp: Date.now(),
|
|
350
|
+
body: null,
|
|
351
|
+
contentType: null,
|
|
352
|
+
error: "Request failed",
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
const response = await request.response();
|
|
357
|
+
const headers = response?.headers?.() || {};
|
|
358
|
+
let contentType = headers["content-type"] || null;
|
|
359
|
+
let body = null;
|
|
360
|
+
try {
|
|
361
|
+
if (responseHasBody(response)) {
|
|
362
|
+
if (contentType && contentType.includes("application/json")) {
|
|
363
|
+
body = JSON.parse(await response.text());
|
|
364
|
+
}
|
|
365
|
+
else if ((contentType && contentType.includes("text")) ||
|
|
366
|
+
(contentType && contentType.includes("application/csv"))) {
|
|
367
|
+
body = await response.text();
|
|
368
|
+
if (contentType.includes("application/csv"))
|
|
369
|
+
contentType = "text/csv";
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
// If you want binary, you could read it here—but only when responseHasBody(response) is true
|
|
373
|
+
// const buffer = await response.body();
|
|
374
|
+
// body = buffer.toString("base64");
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
// For redirects / no-body statuses, it's useful to keep redirect info
|
|
379
|
+
// e.g., include Location header if present
|
|
380
|
+
// body stays null
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
catch (err) {
|
|
384
|
+
console.error("Error reading response body:", err);
|
|
385
|
+
}
|
|
386
|
+
respData = {
|
|
387
|
+
status: response.status(),
|
|
388
|
+
headers,
|
|
389
|
+
url: response.url(),
|
|
390
|
+
timestamp: Date.now(),
|
|
391
|
+
body,
|
|
392
|
+
contentType,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
if (executionState.liveRequestsMap.has(request)) {
|
|
396
|
+
/* “normal” path – keep it in the buffer */
|
|
397
|
+
entry.response = respData;
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
/* orphan response – append directly to the previous step file */
|
|
401
|
+
entry.response = respData;
|
|
402
|
+
await appendEntryToStepFile(entry.stepHash, entry); // ➍ NEW
|
|
403
|
+
}
|
|
404
|
+
entry.response = respData;
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
function responseHasBody(response) {
|
|
408
|
+
if (!response)
|
|
409
|
+
return false;
|
|
410
|
+
const s = response.status?.() ?? 0;
|
|
411
|
+
// RFC 7231: 1xx, 204, 205, 304 have no body. Playwright: 3xx (redirect) body is unavailable.
|
|
412
|
+
if ((s >= 100 && s < 200) || s === 204 || s === 205 || s === 304 || (s >= 300 && s < 400))
|
|
413
|
+
return false;
|
|
414
|
+
// HEAD responses have no body by definition
|
|
415
|
+
const method = response.request?.().method?.() ?? "GET";
|
|
416
|
+
if (method === "HEAD")
|
|
417
|
+
return false;
|
|
418
|
+
return true;
|
|
419
|
+
}
|
|
420
|
+
// Handle successful request with a response
|
|
421
|
+
// const headers = response.headers();
|
|
422
|
+
// const contentType = headers["content-type"] || "";
|
|
423
|
+
// let body = null;
|
|
424
|
+
// try {
|
|
425
|
+
// if (contentType.includes("application/json")) {
|
|
426
|
+
// const text = await response.text();
|
|
427
|
+
// body = JSON.parse(text);
|
|
428
|
+
// } else if (contentType.includes("text")) {
|
|
429
|
+
// body = await response.text();
|
|
430
|
+
// } else {
|
|
431
|
+
// // Optionally handle binary here
|
|
432
|
+
// // const buffer = await response.body();
|
|
433
|
+
// // body = buffer.toString("base64"); // if you want to store binary safely
|
|
434
|
+
// }
|
|
435
|
+
// } catch (err) {
|
|
436
|
+
// console.error("Error reading response body:", err);
|
|
437
|
+
// }
|
|
438
|
+
// requestData.response = {
|
|
439
|
+
// status: response.status(),
|
|
440
|
+
// headers,
|
|
441
|
+
// url: response.url(),
|
|
442
|
+
// timestamp: Date.now(),
|
|
443
|
+
// body,
|
|
444
|
+
// contentType,
|
|
445
|
+
// };
|
|
446
|
+
// saveNetworkDataToFile(requestData);
|
|
447
|
+
// }
|
|
182
448
|
export { registerNetworkEvents, registerDownloadEvent };
|
|
183
449
|
//# sourceMappingURL=network.js.map
|
package/lib/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}
|
package/lib/route.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface Route {
|
|
2
|
+
template: string;
|
|
3
|
+
routes: RouteItem[];
|
|
4
|
+
}
|
|
5
|
+
export interface RouteItem {
|
|
6
|
+
filters: {
|
|
7
|
+
path: string;
|
|
8
|
+
queryParams: Record<string, string> | null;
|
|
9
|
+
method: string | null;
|
|
10
|
+
};
|
|
11
|
+
actions: Action[];
|
|
12
|
+
mandatory: boolean;
|
|
13
|
+
timeout: number;
|
|
14
|
+
}
|
|
15
|
+
export interface Action {
|
|
16
|
+
type: string;
|
|
17
|
+
config: any;
|
|
18
|
+
}
|
|
19
|
+
export declare function registerBeforeStepRoutes(context: any, stepName: string, world: any): Promise<void>;
|
|
20
|
+
export declare function registerAfterStepRoutes(context: any, world: any): Promise<any>;
|
|
21
|
+
export declare function _stepNameToTemplate(stepName: string): string;
|