automation_model 1.0.707-dev → 1.0.707-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/analyze_helper.js.map +1 -1
- package/lib/api.d.ts +0 -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 +190 -132
- package/lib/auto_page.js.map +1 -1
- package/lib/browser_manager.d.ts +5 -0
- package/lib/browser_manager.js +73 -1
- package/lib/browser_manager.js.map +1 -1
- package/lib/bruno.js.map +1 -1
- package/lib/command_common.d.ts +1 -1
- package/lib/command_common.js +18 -1
- package/lib/command_common.js.map +1 -1
- package/lib/date_time.js.map +1 -1
- package/lib/drawRect.js.map +1 -1
- package/lib/error-messages.js.map +1 -1
- package/lib/file_checker.js +129 -25
- package/lib/file_checker.js.map +1 -1
- package/lib/find_function.js.map +1 -1
- package/lib/init_browser.js.map +1 -1
- package/lib/locate_element.js.map +1 -1
- package/lib/locator.d.ts +1 -0
- package/lib/locator.js +10 -3
- package/lib/locator.js.map +1 -1
- package/lib/locator_log.js.map +1 -1
- package/lib/network.d.ts +2 -0
- package/lib/network.js +334 -86
- package/lib/network.js.map +1 -1
- package/lib/route.d.ts +21 -0
- package/lib/route.js +450 -0
- package/lib/route.js.map +1 -0
- package/lib/scripts/axe.mini.js +3 -3
- package/lib/snapshot_validation.d.ts +4 -2
- package/lib/snapshot_validation.js +160 -42
- package/lib/snapshot_validation.js.map +1 -1
- package/lib/stable_browser.d.ts +61 -26
- package/lib/stable_browser.js +964 -191
- 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_analyze.js.map +1 -1
- package/lib/table_helper.js.map +1 -1
- package/lib/utils.d.ts +3 -1
- package/lib/utils.js +88 -63
- package/lib/utils.js.map +1 -1
- package/package.json +13 -7
|
@@ -15,6 +15,8 @@ interface SnapshotLine {
|
|
|
15
15
|
error: string | null;
|
|
16
16
|
/** interpret `value` as a RegExp instead of literal text */
|
|
17
17
|
regex: boolean;
|
|
18
|
+
/** the original line text */
|
|
19
|
+
line_text: string;
|
|
18
20
|
}
|
|
19
21
|
export declare function fromLinesToSnapshotLines(lines: string[]): SnapshotLine[];
|
|
20
22
|
/**
|
|
@@ -30,6 +32,6 @@ export interface MatchResult {
|
|
|
30
32
|
errorLine: number;
|
|
31
33
|
errorLineText: string | null;
|
|
32
34
|
}
|
|
33
|
-
export declare function snapshotValidation(snapshot: string, referanceSnapshot: string): MatchResult;
|
|
34
|
-
export declare function matchSnapshot(full: SnapshotLine[], sub: SnapshotLine[]): MatchResult;
|
|
35
|
+
export declare function snapshotValidation(snapshot: string, referanceSnapshot: string, snapshotName: string): MatchResult;
|
|
36
|
+
export declare function matchSnapshot(full: SnapshotLine[], sub: SnapshotLine[], snapshotName: string): MatchResult;
|
|
35
37
|
export {};
|
|
@@ -1,4 +1,77 @@
|
|
|
1
|
-
export async function highlightSnapshot(snapshot, scope) {
|
|
1
|
+
export async function highlightSnapshot(snapshot, scope) {
|
|
2
|
+
const lines = snapshot.split("\n");
|
|
3
|
+
const nodes = fromLinesToSnapshotLines(lines);
|
|
4
|
+
// build a SnapshotNode tree
|
|
5
|
+
const root = new SnapshotNode("root", null);
|
|
6
|
+
const stack = [root];
|
|
7
|
+
const allNodes = [];
|
|
8
|
+
for (const node of nodes) {
|
|
9
|
+
const newNode = new SnapshotNode(node.key, node.value);
|
|
10
|
+
allNodes.push(newNode);
|
|
11
|
+
newNode.level = node.level;
|
|
12
|
+
newNode.regex = node.regex;
|
|
13
|
+
if (node.level > stack.length - 1) {
|
|
14
|
+
// add to the last node
|
|
15
|
+
stack[stack.length - 1].children.push(newNode);
|
|
16
|
+
newNode.parent = stack[stack.length - 1];
|
|
17
|
+
stack.push(newNode);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// pop the stack until we find the right level
|
|
21
|
+
while (stack.length > node.level + 1) {
|
|
22
|
+
stack.pop();
|
|
23
|
+
}
|
|
24
|
+
// add to the parent
|
|
25
|
+
stack[stack.length - 1].children.push(newNode);
|
|
26
|
+
newNode.parent = stack[stack.length - 1];
|
|
27
|
+
stack.push(newNode);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// go over all the nodes in the tree and generate an array of full locators
|
|
31
|
+
const locators = [];
|
|
32
|
+
for (const node of allNodes) {
|
|
33
|
+
const locator = node.getFullLocator();
|
|
34
|
+
locators.push(locator);
|
|
35
|
+
}
|
|
36
|
+
const elements = [];
|
|
37
|
+
// go over all the locators and find the elements
|
|
38
|
+
for (const locator of locators) {
|
|
39
|
+
const l = scope.locator(locator);
|
|
40
|
+
let count = 0;
|
|
41
|
+
try {
|
|
42
|
+
count = await l.count();
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
//console.log("Error in locator", locator, e);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
for (let i = 0; i < count; i++) {
|
|
49
|
+
const element = l.nth(i);
|
|
50
|
+
elements.push(element);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// go over all the elements and highlight them
|
|
54
|
+
for (const element of elements) {
|
|
55
|
+
try {
|
|
56
|
+
await element.evaluate((el) => {
|
|
57
|
+
if (!el?.style)
|
|
58
|
+
return;
|
|
59
|
+
const originalOutline = el.style.outline;
|
|
60
|
+
el.__previousOutline = originalOutline;
|
|
61
|
+
el.style.outline = "2px solid red";
|
|
62
|
+
if (window) {
|
|
63
|
+
window.addEventListener("beforeunload", function () {
|
|
64
|
+
el.style.outline = originalOutline;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
el.style.outline = originalOutline;
|
|
69
|
+
}, 4000);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
catch (e) { }
|
|
73
|
+
}
|
|
74
|
+
}
|
|
2
75
|
/*
|
|
3
76
|
- banner:
|
|
4
77
|
- heading "Shop NOW" [level=6]
|
|
@@ -21,6 +94,8 @@ class SnapshotNode {
|
|
|
21
94
|
value;
|
|
22
95
|
role;
|
|
23
96
|
name;
|
|
97
|
+
level = 0;
|
|
98
|
+
regex = false;
|
|
24
99
|
children = [];
|
|
25
100
|
parent = null;
|
|
26
101
|
constructor(key, value) {
|
|
@@ -50,7 +125,7 @@ class SnapshotNode {
|
|
|
50
125
|
switch (this.role) {
|
|
51
126
|
case "paragraph":
|
|
52
127
|
// internal:role=paragraph >> internal:text='blinq_user'"
|
|
53
|
-
return `internal:role=${this.role} >> internal:text
|
|
128
|
+
return `internal:role=${this.role} >> internal:text=${this.name}`;
|
|
54
129
|
default:
|
|
55
130
|
// "internal:role=textbox[name=\"Password\"]"
|
|
56
131
|
if (this.name) {
|
|
@@ -64,7 +139,9 @@ class SnapshotNode {
|
|
|
64
139
|
const locators = [];
|
|
65
140
|
let currentNode = this;
|
|
66
141
|
while (currentNode) {
|
|
67
|
-
|
|
142
|
+
if (currentNode.role !== "root") {
|
|
143
|
+
locators.unshift(currentNode.generateNodeLocator());
|
|
144
|
+
}
|
|
68
145
|
currentNode = currentNode.parent;
|
|
69
146
|
}
|
|
70
147
|
// join the locators with " >> "
|
|
@@ -74,6 +151,28 @@ class SnapshotNode {
|
|
|
74
151
|
export function fromLinesToSnapshotLines(lines) {
|
|
75
152
|
// the input is yaml text split into lines, 2 spaces is 1 level
|
|
76
153
|
const nodes = [];
|
|
154
|
+
// identify the space count for tabulation
|
|
155
|
+
let previouseLineSpaceCount = -1;
|
|
156
|
+
let foundTabulationCount = -1;
|
|
157
|
+
// look for 2 consecutive lines that have different space counts, the absolute difference is the space count for tabulation
|
|
158
|
+
for (let i = 0; i < lines.length; i++) {
|
|
159
|
+
const line = lines[i];
|
|
160
|
+
const trimmedLine = line.trim();
|
|
161
|
+
if (trimmedLine.length === 0) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
// count the number of leading spaces
|
|
165
|
+
const match = line.match(/^ */); // Matches spaces at the beginning
|
|
166
|
+
const count = match ? match[0].length : 0;
|
|
167
|
+
if (previouseLineSpaceCount !== -1 && previouseLineSpaceCount !== count) {
|
|
168
|
+
foundTabulationCount = Math.abs(previouseLineSpaceCount - count);
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
previouseLineSpaceCount = count;
|
|
172
|
+
}
|
|
173
|
+
if (foundTabulationCount === -1) {
|
|
174
|
+
foundTabulationCount = 2;
|
|
175
|
+
}
|
|
77
176
|
for (let i = 0; i < lines.length; i++) {
|
|
78
177
|
const line = lines[i];
|
|
79
178
|
const trimmedLine = line.trim();
|
|
@@ -84,13 +183,14 @@ export function fromLinesToSnapshotLines(lines) {
|
|
|
84
183
|
let level = 0;
|
|
85
184
|
const match = line.match(/^ */); // Matches spaces at the beginning
|
|
86
185
|
const count = match ? match[0].length : 0;
|
|
87
|
-
level = count /
|
|
186
|
+
level = count / foundTabulationCount; // 2 spaces is 1 level
|
|
88
187
|
// find the start of the line: - and space
|
|
89
188
|
const start = line.indexOf("- ") + 2;
|
|
90
189
|
if (start === -1) {
|
|
91
190
|
// no - found, set it to error
|
|
92
191
|
nodes.push({
|
|
93
192
|
line: i,
|
|
193
|
+
line_text: line,
|
|
94
194
|
key: line,
|
|
95
195
|
value: null,
|
|
96
196
|
level,
|
|
@@ -106,6 +206,7 @@ export function fromLinesToSnapshotLines(lines) {
|
|
|
106
206
|
// no space or : found, set it to error
|
|
107
207
|
nodes.push({
|
|
108
208
|
line: i,
|
|
209
|
+
line_text: line,
|
|
109
210
|
key: line,
|
|
110
211
|
value: null,
|
|
111
212
|
level,
|
|
@@ -119,16 +220,17 @@ export function fromLinesToSnapshotLines(lines) {
|
|
|
119
220
|
// define value is string or null
|
|
120
221
|
let value = line.substring(endIndex + 1).trim();
|
|
121
222
|
if (value.startsWith('"')) {
|
|
122
|
-
// find the last " in the value
|
|
123
223
|
const lastQuote = value.lastIndexOf('"');
|
|
124
224
|
if (lastQuote !== -1) {
|
|
125
225
|
value = value.substring(0, lastQuote + 1);
|
|
126
226
|
}
|
|
127
227
|
}
|
|
128
|
-
//
|
|
129
|
-
const
|
|
228
|
+
// improved regex detection
|
|
229
|
+
const rawValue = value.endsWith(":") ? value.slice(0, -1) : value;
|
|
230
|
+
const regex = rawValue.startsWith("/") && /\/[a-z]*$/.test(rawValue);
|
|
130
231
|
nodes.push({
|
|
131
232
|
line: i,
|
|
233
|
+
line_text: line,
|
|
132
234
|
key,
|
|
133
235
|
value: value.length > 0 ? value : null,
|
|
134
236
|
level,
|
|
@@ -142,80 +244,96 @@ export function fromLinesToSnapshotLines(lines) {
|
|
|
142
244
|
* Turn a “/pattern/flags” string into a real RegExp.
|
|
143
245
|
*/
|
|
144
246
|
function toRegExp(raw) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const
|
|
247
|
+
// Remove trailing colon from YAML-style key: /pattern/: → /pattern/
|
|
248
|
+
const sanitized = raw.endsWith(":") ? raw.slice(0, -1) : raw;
|
|
249
|
+
if (!sanitized.startsWith("/"))
|
|
250
|
+
return new RegExp(sanitized);
|
|
251
|
+
const lastSlash = sanitized.lastIndexOf("/");
|
|
252
|
+
const pattern = sanitized.slice(1, lastSlash);
|
|
253
|
+
const flags = sanitized.slice(lastSlash + 1); // i, g, etc.
|
|
150
254
|
return new RegExp(pattern, flags);
|
|
151
255
|
}
|
|
152
256
|
/**
|
|
153
257
|
* Single-line comparison with fixed regex handling.
|
|
154
258
|
*/
|
|
155
259
|
function lineMatches(full, sub) {
|
|
260
|
+
let status = { status: false };
|
|
156
261
|
if (full.key !== sub.key)
|
|
157
|
-
return
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return
|
|
162
|
-
|
|
262
|
+
return status;
|
|
263
|
+
// We handle level offset outside this function
|
|
264
|
+
if (sub.value === null) {
|
|
265
|
+
status.status = true;
|
|
266
|
+
return status;
|
|
267
|
+
}
|
|
268
|
+
if (sub.regex) {
|
|
269
|
+
status.status = toRegExp(sub.value).test(full.value ?? "");
|
|
270
|
+
}
|
|
271
|
+
else if (full.regex) {
|
|
272
|
+
status.status = toRegExp(full.value).test(sub.value ?? "");
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
status.status = full.value === sub.value;
|
|
276
|
+
}
|
|
277
|
+
return status;
|
|
163
278
|
}
|
|
164
|
-
export function snapshotValidation(snapshot, referanceSnapshot) {
|
|
279
|
+
export function snapshotValidation(snapshot, referanceSnapshot, snapshotName) {
|
|
165
280
|
const lines = snapshot.split("\n");
|
|
166
281
|
const nodes = fromLinesToSnapshotLines(lines);
|
|
167
282
|
const subLines = referanceSnapshot.split("\n");
|
|
168
283
|
const subNodes = fromLinesToSnapshotLines(subLines);
|
|
169
|
-
return matchSnapshot(nodes, subNodes);
|
|
284
|
+
return matchSnapshot(nodes, subNodes, snapshotName);
|
|
170
285
|
}
|
|
171
|
-
export function matchSnapshot(full, sub) {
|
|
172
|
-
/* nearest ancestor of every sub-line (–1 for roots) */
|
|
286
|
+
export function matchSnapshot(full, sub, snapshotName) {
|
|
173
287
|
const parentIdx = sub.map((_, i) => {
|
|
174
288
|
for (let j = i - 1; j >= 0; j--)
|
|
175
289
|
if (sub[j].level < sub[i].level)
|
|
176
290
|
return j;
|
|
177
291
|
return -1;
|
|
178
292
|
});
|
|
179
|
-
const fullIdx = new Array(sub.length);
|
|
180
|
-
const mapping = new Array(sub.length);
|
|
181
|
-
let failureAt = -1;
|
|
182
|
-
|
|
183
|
-
* Depth-first search with back-tracking.
|
|
184
|
-
* @param s index in `sub`
|
|
185
|
-
* @param fFrom first index in `full` we may try for this `sub[s]`
|
|
186
|
-
*/
|
|
187
|
-
function dfs(s, fFrom) {
|
|
293
|
+
const fullIdx = new Array(sub.length);
|
|
294
|
+
const mapping = new Array(sub.length);
|
|
295
|
+
let failureAt = -1;
|
|
296
|
+
function dfs(s, fFrom, baseLevelOffset) {
|
|
188
297
|
if (s === sub.length)
|
|
189
|
-
return true;
|
|
298
|
+
return true;
|
|
190
299
|
for (let f = fFrom; f < full.length; f++) {
|
|
191
|
-
|
|
300
|
+
let levelMatch = true;
|
|
301
|
+
if (baseLevelOffset !== null) {
|
|
302
|
+
// Must match levels relative to initial offset
|
|
303
|
+
if (full[f].level !== sub[s].level + baseLevelOffset)
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
const status = lineMatches(full[f], sub[s]);
|
|
307
|
+
if (!status.status)
|
|
192
308
|
continue;
|
|
193
|
-
|
|
309
|
+
// For first match, set level offset
|
|
310
|
+
const nextBaseOffset = baseLevelOffset !== null ? baseLevelOffset : full[f].level - sub[s].level;
|
|
194
311
|
const pSub = parentIdx[s];
|
|
195
312
|
if (pSub !== -1) {
|
|
196
313
|
let pFull = f - 1;
|
|
197
314
|
while (pFull >= 0 && full[pFull].level >= full[f].level)
|
|
198
315
|
pFull--;
|
|
199
316
|
if (pFull < 0 || pFull !== fullIdx[pSub])
|
|
200
|
-
continue;
|
|
317
|
+
continue;
|
|
201
318
|
}
|
|
202
|
-
/* remember this choice and try deeper */
|
|
203
319
|
fullIdx[s] = f;
|
|
204
320
|
mapping[s] = full[f].line;
|
|
205
|
-
if (dfs(s + 1, f + 1))
|
|
321
|
+
if (dfs(s + 1, f + 1, nextBaseOffset))
|
|
206
322
|
return true;
|
|
207
323
|
}
|
|
208
|
-
/* could not satisfy sub[s] → remember where we failed */
|
|
209
324
|
if (failureAt === -1)
|
|
210
325
|
failureAt = s;
|
|
211
|
-
return false;
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
const found = dfs(0, 0, null);
|
|
329
|
+
let error = null;
|
|
330
|
+
if (!found) {
|
|
331
|
+
error = `Snapshot file: ${snapshotName}\nLine no.: ${sub[failureAt].line}\nLine: ${sub[failureAt].line_text}`;
|
|
212
332
|
}
|
|
213
|
-
/* kick off the search */
|
|
214
|
-
const found = dfs(0, 0);
|
|
215
333
|
return {
|
|
216
334
|
matchingLines: found ? mapping : mapping.slice(0, failureAt),
|
|
217
335
|
errorLine: found ? -1 : failureAt,
|
|
218
|
-
errorLineText:
|
|
336
|
+
errorLineText: error,
|
|
219
337
|
};
|
|
220
338
|
}
|
|
221
339
|
// let ttt = `- banner:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot_validation.js","sourceRoot":"","sources":["../../src/snapshot_validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot_validation.js","sourceRoot":"","sources":["../../src/snapshot_validation.ts"],"names":[],"mappings":"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"}
|
package/lib/stable_browser.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export declare const Types: {
|
|
|
4
4
|
CLICK: string;
|
|
5
5
|
WAIT_ELEMENT: string;
|
|
6
6
|
NAVIGATE: string;
|
|
7
|
+
GO_BACK: string;
|
|
8
|
+
GO_FORWARD: string;
|
|
7
9
|
FILL: string;
|
|
8
10
|
EXECUTE: string;
|
|
9
11
|
OPEN: string;
|
|
@@ -16,13 +18,16 @@ export declare const Types: {
|
|
|
16
18
|
VERIFY_PAGE_CONTAINS_NO_TEXT: string;
|
|
17
19
|
ANALYZE_TABLE: string;
|
|
18
20
|
SELECT: string;
|
|
21
|
+
VERIFY_PROPERTY: string;
|
|
19
22
|
VERIFY_PAGE_PATH: string;
|
|
23
|
+
VERIFY_PAGE_TITLE: string;
|
|
20
24
|
TYPE_PRESS: string;
|
|
21
25
|
PRESS: string;
|
|
22
26
|
HOVER: string;
|
|
23
27
|
CHECK: string;
|
|
24
28
|
UNCHECK: string;
|
|
25
29
|
EXTRACT: string;
|
|
30
|
+
EXTRACT_PROPERTY: string;
|
|
26
31
|
CLOSE_PAGE: string;
|
|
27
32
|
TABLE_OPERATION: string;
|
|
28
33
|
SET_DATE_TIME: string;
|
|
@@ -34,9 +39,13 @@ export declare const Types: {
|
|
|
34
39
|
VERIFY_ATTRIBUTE: string;
|
|
35
40
|
VERIFY_TEXT_WITH_RELATION: string;
|
|
36
41
|
BRUNO: string;
|
|
37
|
-
SNAPSHOT_VALIDATION: string;
|
|
38
42
|
VERIFY_FILE_EXISTS: string;
|
|
39
43
|
SET_INPUT_FILES: string;
|
|
44
|
+
SNAPSHOT_VALIDATION: string;
|
|
45
|
+
REPORT_COMMAND: string;
|
|
46
|
+
STEP_COMPLETE: string;
|
|
47
|
+
SLEEP: string;
|
|
48
|
+
CONDITIONAL_WAIT: string;
|
|
40
49
|
};
|
|
41
50
|
export declare const apps: {};
|
|
42
51
|
declare class StableBrowser {
|
|
@@ -45,6 +54,7 @@ declare class StableBrowser {
|
|
|
45
54
|
logger: any;
|
|
46
55
|
context: any;
|
|
47
56
|
world?: any;
|
|
57
|
+
fastMode: boolean;
|
|
48
58
|
project_path: null;
|
|
49
59
|
webLogFile: null;
|
|
50
60
|
networkLogger: null;
|
|
@@ -53,28 +63,33 @@ declare class StableBrowser {
|
|
|
53
63
|
tags: null;
|
|
54
64
|
isRecording: boolean;
|
|
55
65
|
initSnapshotTaken: boolean;
|
|
56
|
-
|
|
66
|
+
abortedExecution: boolean;
|
|
67
|
+
constructor(browser: Browser, page: Page, logger?: any, context?: any, world?: any, fastMode?: boolean);
|
|
57
68
|
registerEventListeners(context: any): void;
|
|
58
69
|
switchApp(appName: any): Promise<void>;
|
|
59
70
|
switchTab(tabTitleOrIndex: number | string): Promise<void>;
|
|
60
71
|
registerConsoleLogListener(page: Page, context: any): void;
|
|
61
72
|
registerRequestListener(page: Page, context: any, logFile: string): void;
|
|
62
73
|
goto(url: string, world?: null): Promise<void>;
|
|
74
|
+
goBack(options: any, world?: null): Promise<void>;
|
|
75
|
+
goForward(options: any, world?: null): Promise<void>;
|
|
63
76
|
_getLocator(locator: any, scope: any, _params: any): Promise<any>;
|
|
64
77
|
_locateElmentByTextClimbCss(scope: any, text: any, climb: any, css: any, _params: Params): Promise<string | undefined>;
|
|
65
78
|
_locateElementByText(scope: any, text1: any, tag1: any, regex1: boolean | undefined, partial1: any, ignoreCase: boolean | undefined, _params: Params): Promise<{
|
|
66
79
|
elementCount: number;
|
|
67
80
|
randomToken: string;
|
|
68
81
|
}>;
|
|
69
|
-
_collectLocatorInformation(selectorHierarchy: any, index: number | undefined, scope: any, foundLocators: any, _params: Params, info: any, visibleOnly?: boolean, allowDisabled?: boolean | undefined, element_name?: null): Promise<void>;
|
|
82
|
+
_collectLocatorInformation(selectorHierarchy: any, index: number | undefined, scope: any, foundLocators: any, _params: Params, info: any, visibleOnly?: boolean, allowDisabled?: boolean | undefined, element_name?: null, logErrors?: boolean | undefined): Promise<void>;
|
|
70
83
|
closeUnexpectedPopups(info: any, _params: any): Promise<{
|
|
71
84
|
rerun: boolean;
|
|
72
85
|
}>;
|
|
86
|
+
getFilePath(): string | null;
|
|
87
|
+
getFullElementLocators(selectors: any, filePath: any): any;
|
|
73
88
|
_locate(selectors: any, info: any, _params?: Params, timeout: any, allowDisabled?: boolean | undefined): Promise<any>;
|
|
74
89
|
_findFrameScope(selectors: any, timeout: number | undefined, info: any): Promise<any>;
|
|
75
90
|
_getDocumentBody(selectors: any, timeout: number | undefined, info: any): Promise<any>;
|
|
76
91
|
_locate_internal(selectors: any, info: any, _params?: Params, timeout?: number, allowDisabled?: boolean | undefined): Promise<any>;
|
|
77
|
-
_scanLocatorsGroup(locatorsGroup: any, scope: any, _params: any, info: any, visibleOnly: any, allowDisabled?: boolean | undefined, element_name: any): Promise<{
|
|
92
|
+
_scanLocatorsGroup(locatorsGroup: any, scope: any, _params: any, info: any, visibleOnly: any, allowDisabled?: boolean | undefined, element_name: any, logErrors?: boolean | undefined): Promise<{
|
|
78
93
|
foundElements: any[];
|
|
79
94
|
}>;
|
|
80
95
|
simpleClick(elementDescription: any, _params?: Params, options?: {}, world?: null): Promise<void>;
|
|
@@ -135,14 +150,36 @@ declare class StableBrowser {
|
|
|
135
150
|
takeScreenshot(screenshotPath: any): Promise<any>;
|
|
136
151
|
verifyElementExistInPage(selectors: any, _params?: null, options?: {}, world?: null): Promise<any>;
|
|
137
152
|
extractAttribute(selectors: any, attribute: any, variable: any, _params?: null, options?: {}, world?: null): Promise<any>;
|
|
153
|
+
extractProperty(selectors: any, property: any, variable: any, _params?: null, options?: {}, world?: null): Promise<any>;
|
|
138
154
|
verifyAttribute(selectors: any, attribute: any, value: any, _params?: null, options?: {}, world?: null): Promise<any>;
|
|
155
|
+
verifyProperty(selectors: any, property: any, value: any, _params?: null, options?: {}, world?: null): Promise<any>;
|
|
156
|
+
conditionalWait(selectors: any, condition: any, timeout?: number, _params?: null, options?: {}, world?: null): Promise<{}>;
|
|
139
157
|
extractEmailData(emailAddress: any, options: any, world: any): Promise<{
|
|
140
158
|
emailUrl: any;
|
|
141
159
|
emailCode: any;
|
|
142
160
|
}>;
|
|
143
161
|
_highlightElements(scope: any, css: any): Promise<void>;
|
|
144
|
-
|
|
145
|
-
|
|
162
|
+
_matcher(text: any): {
|
|
163
|
+
matcher: any;
|
|
164
|
+
queryText: any;
|
|
165
|
+
};
|
|
166
|
+
_getDomain(url: string): string;
|
|
167
|
+
/**
|
|
168
|
+
* Verify the page path matches the given path.
|
|
169
|
+
* @param {string} pathPart - The path to verify.
|
|
170
|
+
* @param {object} options - Options for verification.
|
|
171
|
+
* @param {object} world - The world context.
|
|
172
|
+
* @returns {Promise<object>} - The state info after verification.
|
|
173
|
+
*/
|
|
174
|
+
verifyPagePath(pathPart: string, options?: object, world?: object): Promise<object>;
|
|
175
|
+
/**
|
|
176
|
+
* Verify the page title matches the given title.
|
|
177
|
+
* @param {string} title - The title to verify.
|
|
178
|
+
* @param {object} options - Options for verification.
|
|
179
|
+
* @param {object} world - The world context.
|
|
180
|
+
* @returns {Promise<object>} - The state info after verification.
|
|
181
|
+
*/
|
|
182
|
+
verifyPageTitle(title: string, options?: object, world?: object): Promise<object>;
|
|
146
183
|
findTextInAllFrames(dateAlternatives: any, numberAlternatives: any, text: any, state: any, partial?: boolean, ignoreCase?: boolean): Promise<{
|
|
147
184
|
elementCount: number;
|
|
148
185
|
randomToken: string;
|
|
@@ -158,6 +195,14 @@ declare class StableBrowser {
|
|
|
158
195
|
verifyTableData(selectors: any, data: any, _params?: null, options?: {}, world?: null): Promise<void>;
|
|
159
196
|
getTableData(selectors: any, _params?: null, options?: {}, world?: null): Promise<any>;
|
|
160
197
|
analyzeTable(selectors: any, query: any, operator: any, value: any, _params?: null, options?: {}, world?: null): Promise<{} | undefined>;
|
|
198
|
+
/**
|
|
199
|
+
* Explicit wait/sleep function that pauses execution for a specified duration
|
|
200
|
+
* @param duration - Duration to sleep in milliseconds (default: 1000ms)
|
|
201
|
+
* @param options - Optional configuration object
|
|
202
|
+
* @param world - Optional world context
|
|
203
|
+
* @returns Promise that resolves after the specified duration
|
|
204
|
+
*/
|
|
205
|
+
sleep(duration?: number, options?: {}, world?: null): Promise<any>;
|
|
161
206
|
_replaceWithLocalData(value: any, world: any, _decrypt?: boolean, totpWait?: boolean): Promise<string>;
|
|
162
207
|
_getLoadTimeout(options: any): number;
|
|
163
208
|
_getFindElementTimeout(options: any): any;
|
|
@@ -174,26 +219,16 @@ declare class StableBrowser {
|
|
|
174
219
|
afterScenario(world: any, scenario: any): Promise<void>;
|
|
175
220
|
beforeStep(world: any, step: any): Promise<void>;
|
|
176
221
|
getAriaSnapshot(): Promise<string | null>;
|
|
222
|
+
/**
|
|
223
|
+
* Sends command with custom payload to report.
|
|
224
|
+
* @param commandText - Title of the command to be shown in the report.
|
|
225
|
+
* @param commandStatus - Status of the command (e.g. "PASSED", "FAILED").
|
|
226
|
+
* @param content - Content of the command to be shown in the report.
|
|
227
|
+
* @param options - Options for the command. Example: { type: "json", screenshot: true }
|
|
228
|
+
* @param world - Optional world context.
|
|
229
|
+
* @public
|
|
230
|
+
*/
|
|
231
|
+
addCommandToReport(commandText: string, commandStatus: "PASSED" | "FAILED", content: string, options?: any, world?: any): Promise<void>;
|
|
177
232
|
afterStep(world: any, step: any): Promise<void>;
|
|
178
233
|
}
|
|
179
|
-
type JsonTimestamp = number;
|
|
180
|
-
type JsonResultPassed = {
|
|
181
|
-
status: "PASSED";
|
|
182
|
-
startTime: JsonTimestamp;
|
|
183
|
-
endTime: JsonTimestamp;
|
|
184
|
-
};
|
|
185
|
-
type JsonResultFailed = {
|
|
186
|
-
status: "FAILED";
|
|
187
|
-
startTime: JsonTimestamp;
|
|
188
|
-
endTime: JsonTimestamp;
|
|
189
|
-
message?: string;
|
|
190
|
-
};
|
|
191
|
-
type JsonCommandResult = JsonResultPassed | JsonResultFailed;
|
|
192
|
-
export type JsonCommandReport = {
|
|
193
|
-
type: string;
|
|
194
|
-
value?: string;
|
|
195
|
-
text: string;
|
|
196
|
-
screenshotId?: string;
|
|
197
|
-
result: JsonCommandResult;
|
|
198
|
-
};
|
|
199
234
|
export { StableBrowser };
|