automation_model 1.0.714-dev → 1.0.714-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 +141 -85
- package/lib/auto_page.js.map +1 -1
- package/lib/browser_manager.js +22 -25
- 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 +22 -2
- 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/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/init_browser.js +115 -125
- 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 +0 -3
- 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 +521 -0
- package/lib/route.js.map +1 -0
- package/lib/scripts/axe.mini.js +3 -3
- package/lib/snapshot_validation.js +149 -38
- package/lib/snapshot_validation.js.map +1 -1
- package/lib/stable_browser.d.ts +61 -26
- package/lib/stable_browser.js +1058 -227
- 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 +91 -62
- package/lib/utils.js.map +1 -1
- package/package.json +15 -9
|
@@ -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,7 +183,7 @@ 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) {
|
|
@@ -121,14 +220,14 @@ export function fromLinesToSnapshotLines(lines) {
|
|
|
121
220
|
// define value is string or null
|
|
122
221
|
let value = line.substring(endIndex + 1).trim();
|
|
123
222
|
if (value.startsWith('"')) {
|
|
124
|
-
// find the last " in the value
|
|
125
223
|
const lastQuote = value.lastIndexOf('"');
|
|
126
224
|
if (lastQuote !== -1) {
|
|
127
225
|
value = value.substring(0, lastQuote + 1);
|
|
128
226
|
}
|
|
129
227
|
}
|
|
130
|
-
//
|
|
131
|
-
const
|
|
228
|
+
// improved regex detection
|
|
229
|
+
const rawValue = value.endsWith(":") ? value.slice(0, -1) : value;
|
|
230
|
+
const regex = rawValue.startsWith("/") && /\/[a-z]*$/.test(rawValue);
|
|
132
231
|
nodes.push({
|
|
133
232
|
line: i,
|
|
134
233
|
line_text: line,
|
|
@@ -145,24 +244,37 @@ export function fromLinesToSnapshotLines(lines) {
|
|
|
145
244
|
* Turn a “/pattern/flags” string into a real RegExp.
|
|
146
245
|
*/
|
|
147
246
|
function toRegExp(raw) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
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.
|
|
153
254
|
return new RegExp(pattern, flags);
|
|
154
255
|
}
|
|
155
256
|
/**
|
|
156
257
|
* Single-line comparison with fixed regex handling.
|
|
157
258
|
*/
|
|
158
259
|
function lineMatches(full, sub) {
|
|
260
|
+
let status = { status: false };
|
|
159
261
|
if (full.key !== sub.key)
|
|
160
|
-
return
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
return
|
|
165
|
-
|
|
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;
|
|
166
278
|
}
|
|
167
279
|
export function snapshotValidation(snapshot, referanceSnapshot, snapshotName) {
|
|
168
280
|
const lines = snapshot.split("\n");
|
|
@@ -172,49 +284,48 @@ export function snapshotValidation(snapshot, referanceSnapshot, snapshotName) {
|
|
|
172
284
|
return matchSnapshot(nodes, subNodes, snapshotName);
|
|
173
285
|
}
|
|
174
286
|
export function matchSnapshot(full, sub, snapshotName) {
|
|
175
|
-
/* nearest ancestor of every sub-line (–1 for roots) */
|
|
176
287
|
const parentIdx = sub.map((_, i) => {
|
|
177
288
|
for (let j = i - 1; j >= 0; j--)
|
|
178
289
|
if (sub[j].level < sub[i].level)
|
|
179
290
|
return j;
|
|
180
291
|
return -1;
|
|
181
292
|
});
|
|
182
|
-
const fullIdx = new Array(sub.length);
|
|
183
|
-
const mapping = new Array(sub.length);
|
|
184
|
-
let failureAt = -1;
|
|
185
|
-
|
|
186
|
-
* Depth-first search with back-tracking.
|
|
187
|
-
* @param s index in `sub`
|
|
188
|
-
* @param fFrom first index in `full` we may try for this `sub[s]`
|
|
189
|
-
*/
|
|
190
|
-
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) {
|
|
191
297
|
if (s === sub.length)
|
|
192
|
-
return true;
|
|
298
|
+
return true;
|
|
193
299
|
for (let f = fFrom; f < full.length; f++) {
|
|
194
|
-
|
|
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)
|
|
195
308
|
continue;
|
|
196
|
-
|
|
309
|
+
// For first match, set level offset
|
|
310
|
+
const nextBaseOffset = baseLevelOffset !== null ? baseLevelOffset : full[f].level - sub[s].level;
|
|
197
311
|
const pSub = parentIdx[s];
|
|
198
312
|
if (pSub !== -1) {
|
|
199
313
|
let pFull = f - 1;
|
|
200
314
|
while (pFull >= 0 && full[pFull].level >= full[f].level)
|
|
201
315
|
pFull--;
|
|
202
316
|
if (pFull < 0 || pFull !== fullIdx[pSub])
|
|
203
|
-
continue;
|
|
317
|
+
continue;
|
|
204
318
|
}
|
|
205
|
-
/* remember this choice and try deeper */
|
|
206
319
|
fullIdx[s] = f;
|
|
207
320
|
mapping[s] = full[f].line;
|
|
208
|
-
if (dfs(s + 1, f + 1))
|
|
321
|
+
if (dfs(s + 1, f + 1, nextBaseOffset))
|
|
209
322
|
return true;
|
|
210
323
|
}
|
|
211
|
-
/* could not satisfy sub[s] → remember where we failed */
|
|
212
324
|
if (failureAt === -1)
|
|
213
325
|
failureAt = s;
|
|
214
|
-
return false;
|
|
326
|
+
return false;
|
|
215
327
|
}
|
|
216
|
-
|
|
217
|
-
const found = dfs(0, 0);
|
|
328
|
+
const found = dfs(0, 0, null);
|
|
218
329
|
let error = null;
|
|
219
330
|
if (!found) {
|
|
220
331
|
error = `Snapshot file: ${snapshotName}\nLine no.: ${sub[failureAt].line}\nLine: ${sub[failureAt].line_text}`;
|
|
@@ -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":"AAEA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAa,EAAE,KAAU;IAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,4BAA4B;IAC5B,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAmB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,uBAAuB;YACvB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;YACD,oBAAoB;YACpB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,iDAAiD;IACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,8CAA8C;YAC9C,SAAS;QACX,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,8CAA8C;IAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAO,EAAE,EAAE;gBACjC,IAAI,CAAC,EAAE,EAAE,KAAK;oBAAE,OAAO;gBAEvB,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;gBACzC,EAAE,CAAC,iBAAiB,GAAG,eAAe,CAAC;gBAEvC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;gBAEnC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE;wBACtC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;oBACrC,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,UAAU,CAAC,GAAG,EAAE;oBACd,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;gBACrC,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;EAgBE;AACF,MAAM,YAAY;IAQP;IACA;IARF,IAAI,CAAS;IACb,IAAI,CAAgB;IACpB,KAAK,GAAW,CAAC,CAAC;IAClB,KAAK,GAAY,KAAK,CAAC;IACvB,QAAQ,GAAmB,EAAE,CAAC;IAC9B,MAAM,GAAwB,IAAI,CAAC;IAC1C,YACS,GAAW,EACX,KAAoB;QADpB,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAe;QAE3B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,mBAAmB;QACjB,IAAI,OAAO,GAAG,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW;gBACd,yDAAyD;gBACzD,OAAO,iBAAiB,IAAI,CAAC,IAAI,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC;YACpE;gBACE,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,IAAI,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IACD,cAAc;QACZ,+DAA+D;QAC/D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,WAAW,GAAwB,IAAI,CAAC;QAC5C,OAAO,WAAW,EAAE,CAAC;YACnB,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;QACD,gCAAgC;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAoBD,MAAM,UAAU,wBAAwB,CAAC,KAAe;IACtD,+DAA+D;IAC/D,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,0CAA0C;IAC1C,IAAI,uBAAuB,GAAG,CAAC,CAAC,CAAC;IACjC,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC;IAC9B,2HAA2H;IAC3H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,qCAAqC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,uBAAuB,KAAK,CAAC,CAAC,IAAI,uBAAuB,KAAK,KAAK,EAAE,CAAC;YACxE,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,KAAK,CAAC,CAAC;YACjE,MAAM;QACR,CAAC;QACD,uBAAuB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;QAChC,oBAAoB,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,qCAAqC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,GAAG,KAAK,GAAG,oBAAoB,CAAC,CAAC,sBAAsB;QAC5D,0CAA0C;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,8BAA8B;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,CAAC;gBACP,SAAS,EAAE,IAAI;gBACf,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;gBACX,KAAK;gBACL,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,yFAAyF;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9B,uCAAuC;YACvC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,CAAC;gBACP,SAAS,EAAE,IAAI;gBACf,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;gBACX,KAAK;gBACL,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,iCAAiC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,IAAI;YACf,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACtC,KAAK;YACL,KAAK,EAAE,IAAI;YACX,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,oEAAoE;IACpE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;IAC3D,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAkB,EAAE,GAAiB;IACxD,IAAI,MAAM,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IAExC,+CAA+C;IAC/C,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAgBD,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,iBAAyB,EAAE,YAAoB;IAClG,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,IAAoB,EAAE,GAAmB,EAAE,YAAoB;IAC3F,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IAEnB,SAAS,GAAG,CAAC,CAAS,EAAE,KAAa,EAAE,eAA8B;QACnE,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe;oBAAE,SAAS;YACjE,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,SAAS;YAE7B,oCAAoC;YACpC,MAAM,cAAc,GAAG,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjG,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChB,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;oBAAE,KAAK,EAAE,CAAC;gBACjE,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC;oBAAE,SAAS;YACrD,CAAC;YAED,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1B,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;gBAAE,OAAO,IAAI,CAAC;QACrD,CAAC;QAED,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,SAAS,GAAG,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,kBAAkB,YAAY,eAAe,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;IAChH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;QAC5D,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACjC,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AACD,uBAAuB;AACvB,mCAAmC;AACnC,0BAA0B;AAC1B,uBAAuB;AACvB,mBAAmB;AACnB,uBAAuB;AACvB,mBAAmB;AACnB,yCAAyC;AACzC,UAAU;AACV,gBAAgB;AAChB,8BAA8B;AAC9B,gBAAgB;AAChB,+BAA+B;AAC/B,yCAAyC;AACzC,2BAA2B;AAC3B,iCAAiC;AACjC,iDAAiD;AACjD,+BAA+B"}
|
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
|
+
onlyFailuresScreenshot: 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 };
|