automation_model 1.0.450-dev → 1.0.450
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 +133 -0
- package/lib/analyze_helper.js.map +1 -1
- package/lib/api.d.ts +43 -2
- package/lib/api.js +239 -49
- package/lib/api.js.map +1 -1
- package/lib/auto_page.d.ts +7 -2
- package/lib/auto_page.js +270 -49
- package/lib/auto_page.js.map +1 -1
- package/lib/browser_manager.d.ts +7 -3
- package/lib/browser_manager.js +176 -49
- package/lib/browser_manager.js.map +1 -1
- package/lib/bruno.d.ts +2 -0
- package/lib/bruno.js +381 -0
- package/lib/bruno.js.map +1 -0
- package/lib/command_common.d.ts +6 -0
- package/lib/command_common.js +206 -0
- package/lib/command_common.js.map +1 -0
- package/lib/date_time.js.map +1 -1
- package/lib/drawRect.js.map +1 -1
- package/lib/environment.d.ts +1 -0
- package/lib/environment.js +6 -3
- package/lib/environment.js.map +1 -1
- package/lib/error-messages.d.ts +6 -0
- package/lib/error-messages.js +206 -0
- package/lib/error-messages.js.map +1 -0
- package/lib/file_checker.d.ts +1 -0
- package/lib/file_checker.js +61 -0
- package/lib/file_checker.js.map +1 -0
- package/lib/find_function.js.map +1 -1
- package/lib/generation_scripts.d.ts +4 -0
- package/lib/generation_scripts.js +2 -0
- package/lib/generation_scripts.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/init_browser.d.ts +4 -2
- package/lib/init_browser.js +117 -11
- package/lib/init_browser.js.map +1 -1
- package/lib/locate_element.d.ts +7 -0
- package/lib/locate_element.js +215 -0
- package/lib/locate_element.js.map +1 -0
- package/lib/locator.d.ts +37 -0
- package/lib/locator.js +172 -0
- package/lib/locator.js.map +1 -1
- package/lib/locator_log.d.ts +26 -0
- package/lib/locator_log.js +69 -0
- package/lib/locator_log.js.map +1 -0
- package/lib/network.d.ts +5 -0
- package/lib/network.js +331 -0
- package/lib/network.js.map +1 -0
- package/lib/route.d.ts +21 -0
- package/lib/route.js +390 -0
- package/lib/route.js.map +1 -0
- package/lib/scripts/axe.mini.js +12 -0
- package/lib/snapshot_validation.d.ts +37 -0
- package/lib/snapshot_validation.js +357 -0
- package/lib/snapshot_validation.js.map +1 -0
- package/lib/stable_browser.d.ts +150 -55
- package/lib/stable_browser.js +2560 -1302
- package/lib/stable_browser.js.map +1 -1
- package/lib/table.d.ts +15 -0
- package/lib/table.js +257 -0
- package/lib/table.js.map +1 -0
- package/lib/table_analyze.js.map +1 -1
- package/lib/table_helper.d.ts +19 -0
- package/lib/table_helper.js +116 -0
- package/lib/table_helper.js.map +1 -0
- package/lib/test_context.d.ts +7 -0
- package/lib/test_context.js +15 -10
- package/lib/test_context.js.map +1 -1
- package/lib/utils.d.ts +35 -2
- package/lib/utils.js +683 -11
- package/lib/utils.js.map +1 -1
- package/package.json +21 -11
package/lib/network.js
ADDED
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import { _stepNameToTemplate } from "./route.js";
|
|
4
|
+
import crypto from "crypto";
|
|
5
|
+
import { tmpdir } from "os";
|
|
6
|
+
function _getNetworkFile(world = null, web = null, context = null) {
|
|
7
|
+
let networkFile = null;
|
|
8
|
+
if (world && world.reportFolder) {
|
|
9
|
+
networkFile = path.join(world.reportFolder, "network.json");
|
|
10
|
+
}
|
|
11
|
+
else if (web.reportFolder) {
|
|
12
|
+
networkFile = path.join(web.reportFolder, "network.json");
|
|
13
|
+
}
|
|
14
|
+
else if (context && context.reportFolder) {
|
|
15
|
+
networkFile = path.join(context.reportFolder, "network.json");
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
networkFile = "network.json";
|
|
19
|
+
}
|
|
20
|
+
return networkFile;
|
|
21
|
+
}
|
|
22
|
+
function registerDownloadEvent(page, world, context) {
|
|
23
|
+
if (page) {
|
|
24
|
+
let downloadPath = "./downloads";
|
|
25
|
+
if (world && world.downloadsPath) {
|
|
26
|
+
downloadPath = world.downloadsPath;
|
|
27
|
+
}
|
|
28
|
+
else if (context && context.downloadsPath) {
|
|
29
|
+
downloadPath = context.downloadsPath;
|
|
30
|
+
}
|
|
31
|
+
if (!fs.existsSync(downloadPath)) {
|
|
32
|
+
try {
|
|
33
|
+
fs.mkdirSync(downloadPath);
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
// ignore
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
page.on("download", async (download) => {
|
|
40
|
+
const suggestedFilename = download.suggestedFilename(); // Get the original file name
|
|
41
|
+
const filePath = `${downloadPath}/${suggestedFilename}`;
|
|
42
|
+
// Save the download with the original name
|
|
43
|
+
await download.saveAs(filePath);
|
|
44
|
+
console.log(`Downloaded file saved as: ${filePath}`);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function registerNetworkEvents(world, web, context, page) {
|
|
49
|
+
const networkFile = _getNetworkFile(world, web, context);
|
|
50
|
+
function saveNetworkData() {
|
|
51
|
+
if (context && context.networkData) {
|
|
52
|
+
fs.writeFileSync(networkFile, JSON.stringify(context.networkData, null, 2), "utf8");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (!context) {
|
|
56
|
+
console.error("No context found to register network events");
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Map to hold request start times and IDs
|
|
60
|
+
const requestTimes = new Map();
|
|
61
|
+
let requestIdCounter = 0;
|
|
62
|
+
if (page) {
|
|
63
|
+
if (!context.networkData) {
|
|
64
|
+
context.networkData = [];
|
|
65
|
+
const networkData = context.networkData;
|
|
66
|
+
// Event listener for when a request is made
|
|
67
|
+
page.on("request", (request) => {
|
|
68
|
+
const requestId = requestIdCounter++;
|
|
69
|
+
request.requestId = requestId; // Assign a unique ID to the request
|
|
70
|
+
handleRequest(request);
|
|
71
|
+
const startTime = Date.now();
|
|
72
|
+
requestTimes.set(requestId, startTime);
|
|
73
|
+
// Initialize data for this request
|
|
74
|
+
networkData.push({
|
|
75
|
+
requestId,
|
|
76
|
+
requestStart: startTime,
|
|
77
|
+
requestUrl: request.url(),
|
|
78
|
+
method: request.method(),
|
|
79
|
+
status: "Pending",
|
|
80
|
+
responseTime: null,
|
|
81
|
+
responseReceived: null,
|
|
82
|
+
responseEnd: null,
|
|
83
|
+
size: null,
|
|
84
|
+
});
|
|
85
|
+
saveNetworkData();
|
|
86
|
+
});
|
|
87
|
+
// Event listener for when a response is received
|
|
88
|
+
page.on("response", async (response) => {
|
|
89
|
+
const request = response.request();
|
|
90
|
+
const requestId = request.requestId;
|
|
91
|
+
const receivedTime = Date.now();
|
|
92
|
+
// Find the corresponding data object
|
|
93
|
+
const data = networkData.find((item) => item.requestId === requestId);
|
|
94
|
+
if (data) {
|
|
95
|
+
data.status = response.status();
|
|
96
|
+
data.responseReceived = receivedTime;
|
|
97
|
+
saveNetworkData();
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
console.error("No data found for request ID", requestId);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
// Event listener for when a request is finished
|
|
104
|
+
page.on("requestfinished", async (request) => {
|
|
105
|
+
const requestId = request.requestId;
|
|
106
|
+
const endTime = Date.now();
|
|
107
|
+
const startTime = requestTimes.get(requestId);
|
|
108
|
+
await handleRequestFinishedOrFailed(request, false);
|
|
109
|
+
const response = await request.response();
|
|
110
|
+
const timing = request.timing();
|
|
111
|
+
// Find the corresponding data object
|
|
112
|
+
const data = networkData.find((item) => item.requestId === requestId);
|
|
113
|
+
if (data) {
|
|
114
|
+
data.responseEnd = endTime;
|
|
115
|
+
data.responseTime = endTime - startTime;
|
|
116
|
+
// Get response size
|
|
117
|
+
try {
|
|
118
|
+
const body = await response.body();
|
|
119
|
+
data.size = body.length;
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
data.size = 0;
|
|
123
|
+
}
|
|
124
|
+
const type = request.resourceType();
|
|
125
|
+
/*
|
|
126
|
+
domainLookupStart: 80.655,
|
|
127
|
+
domainLookupEnd: 80.668,
|
|
128
|
+
connectStart: 80.668,
|
|
129
|
+
secureConnectionStart: 106.688,
|
|
130
|
+
connectEnd: 129.69,
|
|
131
|
+
requestStart: 129.81,
|
|
132
|
+
responseStart: 187.006,
|
|
133
|
+
responseEnd: 188.209
|
|
134
|
+
*/
|
|
135
|
+
data.type = type;
|
|
136
|
+
data.domainLookupStart = timing.domainLookupStart;
|
|
137
|
+
data.domainLookupEnd = timing.domainLookupEnd;
|
|
138
|
+
data.connectStart = timing.connectStart;
|
|
139
|
+
data.secureConnectionStart = timing.secureConnectionStart;
|
|
140
|
+
data.connectEnd = timing.connectEnd;
|
|
141
|
+
data.requestStart = timing.requestStart;
|
|
142
|
+
data.responseStart = timing.responseStart;
|
|
143
|
+
data.responseEnd = timing.responseEnd;
|
|
144
|
+
saveNetworkData();
|
|
145
|
+
if (world && world.attach) {
|
|
146
|
+
world.attach(JSON.stringify(data), { mediaType: "application/json+network" });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
console.error("No data found for request ID", requestId);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
// Event listener for when a request fails
|
|
154
|
+
page.on("requestfailed", async (request) => {
|
|
155
|
+
const requestId = request.requestId;
|
|
156
|
+
const endTime = Date.now();
|
|
157
|
+
const startTime = requestTimes.get(requestId);
|
|
158
|
+
await handleRequestFinishedOrFailed(request, true);
|
|
159
|
+
try {
|
|
160
|
+
const res = await request.response();
|
|
161
|
+
const statusCode = res ? res.status() : request.failure().errorText;
|
|
162
|
+
// Find the corresponding data object
|
|
163
|
+
const data = networkData.find((item) => item.requestId === requestId);
|
|
164
|
+
if (data) {
|
|
165
|
+
data.responseEnd = endTime;
|
|
166
|
+
data.responseTime = endTime - startTime;
|
|
167
|
+
data.status = statusCode;
|
|
168
|
+
data.size = 0;
|
|
169
|
+
saveNetworkData();
|
|
170
|
+
if (world && world.attach) {
|
|
171
|
+
world.attach(JSON.stringify(data), { mediaType: "application/json+network" });
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.error("No data found for request ID", requestId);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
// ignore
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
console.error("No page found to register network events");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const detailedNetworkFolder = path.join(tmpdir(), "blinq_network_events");
|
|
189
|
+
const executionState = {
|
|
190
|
+
currentStepHash: null,
|
|
191
|
+
liveRequestsMap: new Map(),
|
|
192
|
+
};
|
|
193
|
+
export function networkBeforeStep(stepName) {
|
|
194
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
195
|
+
if (!storeDetailedNetworkData) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// check if the folder exists, if not create it
|
|
199
|
+
if (!fs.existsSync(detailedNetworkFolder)) {
|
|
200
|
+
fs.mkdirSync(detailedNetworkFolder, { recursive: true });
|
|
201
|
+
}
|
|
202
|
+
// const stepHash = stepNameToHash(stepName);
|
|
203
|
+
let stepHash = "";
|
|
204
|
+
if (process.env.CURRENT_STEP_ID) {
|
|
205
|
+
// console.log("Using CURRENT_STEP_ID from environment variables:", process.env.CURRENT_STEP_ID);
|
|
206
|
+
// If CURRENT_STEP_ID is set, use it as the step hash
|
|
207
|
+
stepHash = process.env.CURRENT_STEP_ID;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
stepHash = stepNameToHash(stepName);
|
|
211
|
+
}
|
|
212
|
+
// check if the file exists, if exists delete it
|
|
213
|
+
const networkFile = path.join(detailedNetworkFolder, `${stepHash}.json`);
|
|
214
|
+
if (fs.existsSync(networkFile)) {
|
|
215
|
+
fs.unlinkSync(networkFile);
|
|
216
|
+
}
|
|
217
|
+
executionState.currentStepHash = stepHash;
|
|
218
|
+
}
|
|
219
|
+
export function networkAfterStep(stepName) {
|
|
220
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
221
|
+
if (!storeDetailedNetworkData) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
executionState.currentStepHash = null;
|
|
225
|
+
}
|
|
226
|
+
function stepNameToHash(stepName) {
|
|
227
|
+
const templateName = _stepNameToTemplate(stepName);
|
|
228
|
+
// create hash from the template name
|
|
229
|
+
return crypto.createHash("sha256").update(templateName).digest("hex");
|
|
230
|
+
}
|
|
231
|
+
function handleRequest(request) {
|
|
232
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
233
|
+
if (!storeDetailedNetworkData || !executionState.currentStepHash) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
const requestId = request.requestId;
|
|
237
|
+
const requestData = {
|
|
238
|
+
requestId,
|
|
239
|
+
url: request.url(),
|
|
240
|
+
method: request.method(),
|
|
241
|
+
headers: request.headers(),
|
|
242
|
+
postData: request.postData(),
|
|
243
|
+
timestamp: Date.now(),
|
|
244
|
+
stepHash: executionState.currentStepHash,
|
|
245
|
+
};
|
|
246
|
+
executionState.liveRequestsMap.set(request, requestData);
|
|
247
|
+
}
|
|
248
|
+
function saveNetworkDataToFile(requestData) {
|
|
249
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
250
|
+
if (!storeDetailedNetworkData) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const networkFile = path.join(detailedNetworkFolder, `${requestData.stepHash}.json`);
|
|
254
|
+
// read the existing data if it exists (should be an array)
|
|
255
|
+
let existingData = [];
|
|
256
|
+
if (fs.existsSync(networkFile)) {
|
|
257
|
+
const data = fs.readFileSync(networkFile, "utf8");
|
|
258
|
+
try {
|
|
259
|
+
existingData = JSON.parse(data);
|
|
260
|
+
}
|
|
261
|
+
catch (e) {
|
|
262
|
+
console.error("Failed to parse existing network data:", e);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// Add the live requests to the existing data
|
|
266
|
+
existingData.push(requestData);
|
|
267
|
+
// Save the updated data back to the file
|
|
268
|
+
// console.log("Saving network data to file:", networkFile);
|
|
269
|
+
fs.writeFileSync(networkFile, JSON.stringify(existingData, null, 2), "utf8");
|
|
270
|
+
}
|
|
271
|
+
async function handleRequestFinishedOrFailed(request, failed) {
|
|
272
|
+
const storeDetailedNetworkData = process.env.STORE_DETAILED_NETWORK_DATA === "true";
|
|
273
|
+
if (!storeDetailedNetworkData) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const response = await request.response(); // This may be null if the request failed
|
|
277
|
+
const requestData = executionState.liveRequestsMap.get(request);
|
|
278
|
+
if (!requestData) {
|
|
279
|
+
//console.warn("No request data found for request", request);
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
// Remove the request from the live requests map
|
|
283
|
+
executionState.liveRequestsMap.delete(request);
|
|
284
|
+
if (failed || !response) {
|
|
285
|
+
// Handle failed request
|
|
286
|
+
requestData.response = {
|
|
287
|
+
status: null,
|
|
288
|
+
headers: {},
|
|
289
|
+
timing: null,
|
|
290
|
+
url: request.url(),
|
|
291
|
+
timestamp: Date.now(),
|
|
292
|
+
body: null,
|
|
293
|
+
contentType: null,
|
|
294
|
+
error: "Request failed",
|
|
295
|
+
};
|
|
296
|
+
saveNetworkDataToFile(requestData);
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
// Handle successful request with a response
|
|
300
|
+
const headers = response.headers();
|
|
301
|
+
const contentType = headers["content-type"] || "";
|
|
302
|
+
let body = null;
|
|
303
|
+
try {
|
|
304
|
+
if (contentType.includes("application/json")) {
|
|
305
|
+
const text = await response.text();
|
|
306
|
+
body = JSON.parse(text);
|
|
307
|
+
}
|
|
308
|
+
else if (contentType.includes("text")) {
|
|
309
|
+
body = await response.text();
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
// Optionally handle binary here
|
|
313
|
+
// const buffer = await response.body();
|
|
314
|
+
// body = buffer.toString("base64"); // if you want to store binary safely
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
catch (err) {
|
|
318
|
+
console.error("Error reading response body:", err);
|
|
319
|
+
}
|
|
320
|
+
requestData.response = {
|
|
321
|
+
status: response.status(),
|
|
322
|
+
headers,
|
|
323
|
+
url: response.url(),
|
|
324
|
+
timestamp: Date.now(),
|
|
325
|
+
body,
|
|
326
|
+
contentType,
|
|
327
|
+
};
|
|
328
|
+
saveNetworkDataToFile(requestData);
|
|
329
|
+
}
|
|
330
|
+
export { registerNetworkEvents, registerDownloadEvent };
|
|
331
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;
|