@memlab/e2e 1.0.43 → 2.0.0
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/dist/E2EInteractionManager.d.ts +1 -1
- package/dist/E2EInteractionManager.d.ts.map +1 -1
- package/dist/E2EInteractionManager.js +27 -20
- package/dist/NetworkManager.d.ts +1 -1
- package/dist/NetworkManager.d.ts.map +1 -1
- package/dist/NetworkManager.js +3 -3
- package/dist/ScriptManager.d.ts.map +1 -1
- package/dist/ScriptManager.js +12 -6
- package/dist/__tests__/scope/lib.js +2 -3
- package/dist/index.js +2 -2
- package/dist/instrumentation/BaseAstTransform.js +4 -4
- package/dist/instrumentation/ScriptRewriteManager.js +2 -2
- package/dist/instrumentation/transforms/InjectSourceInfoTranform.js +3 -3
- package/dist/instrumentation/transforms/InjectSourceInfoTransform.js +3 -3
- package/dist/lib/E2EUtils.d.ts +1 -1
- package/dist/lib/E2EUtils.d.ts.map +1 -1
- package/dist/lib/E2EUtils.js +11 -11
- package/dist/lib/operations/BackOperation.d.ts +1 -1
- package/dist/lib/operations/BackOperation.d.ts.map +1 -1
- package/dist/lib/operations/BackspaceOperation.d.ts +1 -1
- package/dist/lib/operations/BackspaceOperation.d.ts.map +1 -1
- package/dist/lib/operations/BaseOperation.d.ts +1 -1
- package/dist/lib/operations/BaseOperation.d.ts.map +1 -1
- package/dist/lib/operations/BaseOperation.js +4 -4
- package/dist/lib/operations/CachePageContent.d.ts +1 -1
- package/dist/lib/operations/CachePageContent.d.ts.map +1 -1
- package/dist/lib/operations/ClickOperation.d.ts +1 -1
- package/dist/lib/operations/ClickOperation.d.ts.map +1 -1
- package/dist/lib/operations/CompoundOperation.d.ts +1 -1
- package/dist/lib/operations/CompoundOperation.d.ts.map +1 -1
- package/dist/lib/operations/EnterOperation.d.ts +1 -1
- package/dist/lib/operations/EnterOperation.d.ts.map +1 -1
- package/dist/lib/operations/EscOperation.d.ts +1 -1
- package/dist/lib/operations/EscOperation.d.ts.map +1 -1
- package/dist/lib/operations/HoverOperation.d.ts +1 -1
- package/dist/lib/operations/HoverOperation.d.ts.map +1 -1
- package/dist/lib/operations/InteractionUtils.d.ts +1 -1
- package/dist/lib/operations/InteractionUtils.d.ts.map +1 -1
- package/dist/lib/operations/InteractionUtils.js +17 -17
- package/dist/lib/operations/RevertOperation.d.ts +1 -1
- package/dist/lib/operations/RevertOperation.d.ts.map +1 -1
- package/dist/lib/operations/RevertOperation.js +2 -2
- package/dist/lib/operations/RunJSCode.d.ts +1 -1
- package/dist/lib/operations/RunJSCode.d.ts.map +1 -1
- package/dist/lib/operations/ScrollOperation.d.ts +1 -1
- package/dist/lib/operations/ScrollOperation.d.ts.map +1 -1
- package/dist/lib/operations/ScrollOperation.js +4 -4
- package/dist/lib/operations/TestPlanner.d.ts.map +1 -1
- package/dist/lib/operations/TestPlanner.js +1 -1
- package/dist/lib/operations/TypeOperation.d.ts +1 -1
- package/dist/lib/operations/TypeOperation.d.ts.map +1 -1
- package/dist/lib/operations/UploadOperation.d.ts +1 -1
- package/dist/lib/operations/UploadOperation.d.ts.map +1 -1
- package/dist/lib/operations/WaitForElementOperation.d.ts +1 -1
- package/dist/lib/operations/WaitForElementOperation.d.ts.map +1 -1
- package/dist/lib/operations/WaitOperation.d.ts +1 -1
- package/dist/lib/operations/WaitOperation.d.ts.map +1 -1
- package/dist/lib/operations/WithCachedPageContent.d.ts +1 -1
- package/dist/lib/operations/WithCachedPageContent.d.ts.map +1 -1
- package/dist/lib/operations/XVirtualFrameBuffer.d.ts.map +1 -1
- package/package.json +7 -7
- package/static/example/package.json +1 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { Browser, CDPSession, Page, Target } from 'puppeteer';
|
|
10
|
+
import type { Browser, CDPSession, Page, Target } from 'puppeteer-core';
|
|
11
11
|
import type { AnyFunction, Nullable, OperationArgs, MemLabConfig } from '@memlab/core';
|
|
12
12
|
import { TestPlanner } from './lib/operations/TestPlanner';
|
|
13
13
|
type PageInteractOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"E2EInteractionManager.d.ts","sourceRoot":"","sources":["../src/E2EInteractionManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"E2EInteractionManager.d.ts","sourceRoot":"","sources":["../src/E2EInteractionManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EACV,WAAW,EAIX,QAAQ,EACR,aAAa,EAEb,YAAY,EACb,MAAM,cAAc,CAAC;AAStB,OAA2B,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAM7E,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAmCF,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,cAAc,CAAiB;gBAE3B,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;IAM3B,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;IA+B1C,uBAAuB,IAAI,OAAO,CAAC,UAAU,CAAC;IAQ9C,gBAAgB,CAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IASzB,eAAe,IAAI,IAAI;IAIvB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;YAIjD,wBAAwB;cAWtB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,IAAI,CAAC;YAoBF,kBAAkB;IAgBnB,oBAAoB,CAC/B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IAgEH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YA4C5B,SAAS;YAeT,iBAAiB;YAyEjB,gBAAgB;YAoBhB,iBAAiB;YAQjB,+BAA+B;IA0C7C,OAAO,CAAC,cAAc;YAeR,sBAAsB;YActB,MAAM;YAeN,iBAAiB;YAUjB,cAAc;CA4B7B"}
|
|
@@ -24,6 +24,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
24
24
|
const fs_1 = __importDefault(require("fs"));
|
|
25
25
|
const path_1 = __importDefault(require("path"));
|
|
26
26
|
const E2EUtils_1 = __importDefault(require("./lib/E2EUtils"));
|
|
27
|
+
const puppeteer_core_1 = require("puppeteer-core");
|
|
27
28
|
const core_1 = require("@memlab/core");
|
|
28
29
|
const lens_1 = require("@memlab/lens");
|
|
29
30
|
const InteractionUtils_1 = __importDefault(require("./lib/operations/InteractionUtils"));
|
|
@@ -45,12 +46,18 @@ class E2EInteractionManager {
|
|
|
45
46
|
}
|
|
46
47
|
// get web worker thread target
|
|
47
48
|
const cdpSession = yield this.selectCDPSession(target => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
const targetType = target.type();
|
|
50
|
+
// note that in puppeteer, web worker's target type is
|
|
51
|
+
// neither 'service_worker' nor 'shared_worker'
|
|
52
|
+
const isWorker = targetType === puppeteer_core_1.TargetType.OTHER;
|
|
53
|
+
const targetUnknown = target;
|
|
54
|
+
if (typeof (targetUnknown === null || targetUnknown === void 0 ? void 0 : targetUnknown._getTargetInfo) !== 'function') {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
const title = targetUnknown === null || targetUnknown === void 0 ? void 0 : targetUnknown._getTargetInfo().title;
|
|
51
58
|
let isTitleMatch = true;
|
|
52
59
|
if (core_1.config.targetWorkerTitle != null) {
|
|
53
|
-
isTitleMatch =
|
|
60
|
+
isTitleMatch = title === core_1.config.targetWorkerTitle;
|
|
54
61
|
}
|
|
55
62
|
return isWorker && isTitleMatch;
|
|
56
63
|
});
|
|
@@ -97,8 +104,8 @@ class E2EInteractionManager {
|
|
|
97
104
|
}
|
|
98
105
|
});
|
|
99
106
|
}
|
|
100
|
-
initialLoad(
|
|
101
|
-
return __awaiter(this,
|
|
107
|
+
initialLoad(page_1, url_1) {
|
|
108
|
+
return __awaiter(this, arguments, void 0, function* (page, url, opArgs = {}) {
|
|
102
109
|
if (core_1.config.verbose) {
|
|
103
110
|
core_1.info.lowLevel(`loading: ${url}`);
|
|
104
111
|
}
|
|
@@ -134,9 +141,9 @@ class E2EInteractionManager {
|
|
|
134
141
|
}
|
|
135
142
|
});
|
|
136
143
|
}
|
|
137
|
-
visitAndGetSnapshots(
|
|
138
|
-
|
|
139
|
-
|
|
144
|
+
visitAndGetSnapshots() {
|
|
145
|
+
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
146
|
+
var _a;
|
|
140
147
|
const visitPlan = options.testPlanner
|
|
141
148
|
? options.testPlanner.getVisitPlan()
|
|
142
149
|
: TestPlanner_1.default.getVisitPlan();
|
|
@@ -223,8 +230,8 @@ class E2EInteractionManager {
|
|
|
223
230
|
}
|
|
224
231
|
});
|
|
225
232
|
}
|
|
226
|
-
visitPage(
|
|
227
|
-
return __awaiter(this,
|
|
233
|
+
visitPage(url_1) {
|
|
234
|
+
return __awaiter(this, arguments, void 0, function* (url, options = {}) {
|
|
228
235
|
try {
|
|
229
236
|
yield this.page.goto(url, {
|
|
230
237
|
timeout: core_1.config.warmupPageLoadTimeout,
|
|
@@ -237,9 +244,9 @@ class E2EInteractionManager {
|
|
|
237
244
|
}
|
|
238
245
|
});
|
|
239
246
|
}
|
|
240
|
-
getPageStatistics(
|
|
241
|
-
|
|
242
|
-
|
|
247
|
+
getPageStatistics(url_1, tabInfo_1) {
|
|
248
|
+
return __awaiter(this, arguments, void 0, function* (url, tabInfo, opArgs = {}) {
|
|
249
|
+
var _a, _b;
|
|
243
250
|
if (core_1.config.verbose) {
|
|
244
251
|
core_1.info.lowLevel('url: ' + url);
|
|
245
252
|
}
|
|
@@ -293,8 +300,8 @@ class E2EInteractionManager {
|
|
|
293
300
|
}
|
|
294
301
|
});
|
|
295
302
|
}
|
|
296
|
-
interactWithPage(
|
|
297
|
-
return __awaiter(this,
|
|
303
|
+
interactWithPage(page_1, operations_1) {
|
|
304
|
+
return __awaiter(this, arguments, void 0, function* (page, operations, opArgs = {}) {
|
|
298
305
|
const args = Object.assign(Object.assign({}, opArgs), { pageHistoryLength: this.pageHistoryLength });
|
|
299
306
|
if (typeof operations === 'function') {
|
|
300
307
|
yield operations(page, args);
|
|
@@ -324,7 +331,7 @@ class E2EInteractionManager {
|
|
|
324
331
|
}
|
|
325
332
|
writeSnapshotFileFromCDPSession(file, session) {
|
|
326
333
|
return __awaiter(this, void 0, void 0, function* () {
|
|
327
|
-
const writeStream = fs_1.default.createWriteStream(file, { encoding: '
|
|
334
|
+
const writeStream = fs_1.default.createWriteStream(file, { encoding: 'utf8' });
|
|
328
335
|
let lastChunk = '';
|
|
329
336
|
const dataHandler = data => {
|
|
330
337
|
writeStream.write(data.chunk);
|
|
@@ -390,8 +397,8 @@ class E2EInteractionManager {
|
|
|
390
397
|
yield this.forceMainThreadGC(6);
|
|
391
398
|
});
|
|
392
399
|
}
|
|
393
|
-
forceMainThreadGC(
|
|
394
|
-
return __awaiter(this,
|
|
400
|
+
forceMainThreadGC() {
|
|
401
|
+
return __awaiter(this, arguments, void 0, function* (repeat = 1) {
|
|
395
402
|
const client = yield this.getMainThreadCDPSession();
|
|
396
403
|
for (let i = 0; i < repeat; i++) {
|
|
397
404
|
yield client.send('HeapProfiler.collectGarbage');
|
|
@@ -402,8 +409,8 @@ class E2EInteractionManager {
|
|
|
402
409
|
});
|
|
403
410
|
}
|
|
404
411
|
collectMetrics(tabInfo) {
|
|
405
|
-
var _a;
|
|
406
412
|
return __awaiter(this, void 0, void 0, function* () {
|
|
413
|
+
var _a;
|
|
407
414
|
// collect navigation history info
|
|
408
415
|
const historyLength = yield getNavigationHistoryLength(this.page);
|
|
409
416
|
this.pageHistoryLength.push(historyLength);
|
package/dist/NetworkManager.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkManager.d.ts","sourceRoot":"","sources":["../src/NetworkManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"NetworkManager.d.ts","sourceRoot":"","sources":["../src/NetworkManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAgBrD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAgB;gBAEzB,IAAI,EAAE,IAAI;IAMf,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAI/C,OAAO,CAAC,UAAU;IAML,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAiH9C"}
|
package/dist/NetworkManager.js
CHANGED
|
@@ -72,15 +72,15 @@ class NetworkManager {
|
|
|
72
72
|
})),
|
|
73
73
|
],
|
|
74
74
|
});
|
|
75
|
-
session.on('Network.requestIntercepted', (
|
|
76
|
-
var
|
|
75
|
+
session.on('Network.requestIntercepted', (_a) => __awaiter(this, [_a], void 0, function* ({ interceptionId, request, responseHeaders, resourceType }) {
|
|
76
|
+
var _b;
|
|
77
77
|
this.networkLog(`Intercepted ${request.url} {interception id: ${interceptionId}}`);
|
|
78
78
|
const response = (yield session.send('Network.getResponseBodyForInterception', { interceptionId }));
|
|
79
79
|
// responseHeaders could be null if requesting from
|
|
80
80
|
// local files (i.e., urls starting with 'file:///')
|
|
81
81
|
let contentType = null;
|
|
82
82
|
if (responseHeaders) {
|
|
83
|
-
const contentTypeHeader = (
|
|
83
|
+
const contentTypeHeader = (_b = Object.keys(responseHeaders).find(k => k.toLowerCase() === 'content-type')) !== null && _b !== void 0 ? _b : '';
|
|
84
84
|
contentType = responseHeaders[contentTypeHeader];
|
|
85
85
|
}
|
|
86
86
|
let newBody = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptManager.d.ts","sourceRoot":"","sources":["../src/ScriptManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAc,QAAQ,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAgBzD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,WAAW,CAAe;;IAMlC,OAAO,CAAC,IAAI;IAML,aAAa,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"ScriptManager.d.ts","sourceRoot":"","sources":["../src/ScriptManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAc,QAAQ,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAgBzD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,WAAW,CAAe;;IAMlC,OAAO,CAAC,IAAI;IAML,aAAa,IAAI,OAAO;IAqBxB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAkB7C,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;IAcxD,aAAa,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAWX,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAa5C,SAAS,CACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA4BhB,OAAO,CAAC,QAAQ;CAUjB"}
|
package/dist/ScriptManager.js
CHANGED
|
@@ -45,7 +45,9 @@ class ScriptManager {
|
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
const metaContent = fs_1.default.readFileSync(webSourceMetaFile,
|
|
48
|
+
const metaContent = fs_1.default.readFileSync(webSourceMetaFile, {
|
|
49
|
+
encoding: 'utf8',
|
|
50
|
+
});
|
|
49
51
|
this.scriptInfos = JSON.parse(metaContent);
|
|
50
52
|
for (const scriptInfo of this.scriptInfos) {
|
|
51
53
|
this.urlToScriptMap.set(scriptInfo.url, scriptInfo);
|
|
@@ -66,7 +68,9 @@ class ScriptManager {
|
|
|
66
68
|
return scriptInfo.code;
|
|
67
69
|
}
|
|
68
70
|
try {
|
|
69
|
-
scriptInfo.code = fs_1.default.readFileSync(scriptInfo.codePath,
|
|
71
|
+
scriptInfo.code = fs_1.default.readFileSync(scriptInfo.codePath, {
|
|
72
|
+
encoding: 'utf8',
|
|
73
|
+
});
|
|
70
74
|
}
|
|
71
75
|
catch (_b) {
|
|
72
76
|
// do nothing
|
|
@@ -87,8 +91,8 @@ class ScriptManager {
|
|
|
87
91
|
}
|
|
88
92
|
return null;
|
|
89
93
|
}
|
|
90
|
-
rewriteScript(
|
|
91
|
-
return __awaiter(this,
|
|
94
|
+
rewriteScript(code_1) {
|
|
95
|
+
return __awaiter(this, arguments, void 0, function* (code, options = {}) {
|
|
92
96
|
if (!core_1.config.instrumentJS) {
|
|
93
97
|
return code;
|
|
94
98
|
}
|
|
@@ -123,12 +127,14 @@ class ScriptManager {
|
|
|
123
127
|
};
|
|
124
128
|
this.urlToScriptMap.set(url, scriptInfo);
|
|
125
129
|
this.scriptInfos.push(scriptInfo);
|
|
126
|
-
fs_1.default.writeFile(file, code, '
|
|
130
|
+
fs_1.default.writeFile(file, code, { encoding: 'utf8' }, () => {
|
|
127
131
|
// async write, do nothing here
|
|
128
132
|
});
|
|
129
133
|
// only write the latest version of the meta file state
|
|
130
134
|
this.debounce(() => {
|
|
131
|
-
fs_1.default.writeFileSync(metaFile, JSON.stringify(this.scriptInfos, void 0, 2),
|
|
135
|
+
fs_1.default.writeFileSync(metaFile, JSON.stringify(this.scriptInfos, void 0, 2), {
|
|
136
|
+
encoding: 'utf8',
|
|
137
|
+
});
|
|
132
138
|
}, 1000);
|
|
133
139
|
});
|
|
134
140
|
}
|
|
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.testScopeAnalysis = testScopeAnalysis;
|
|
7
|
+
exports.removeLoc = removeLoc;
|
|
7
8
|
const Script_1 = __importDefault(require("../../code-analysis/Script"));
|
|
8
9
|
function testScopeAnalysis(code, expectedScope) {
|
|
9
10
|
const script = new Script_1.default(code);
|
|
10
11
|
const scope = script.getClosureScopeTree();
|
|
11
12
|
expect(removeLoc(scope)).toEqual(removeLoc(expectedScope));
|
|
12
13
|
}
|
|
13
|
-
exports.testScopeAnalysis = testScopeAnalysis;
|
|
14
14
|
function removeLoc(entity) {
|
|
15
15
|
const visited = new Set();
|
|
16
16
|
function remove(e) {
|
|
@@ -30,4 +30,3 @@ function removeLoc(entity) {
|
|
|
30
30
|
remove(entity);
|
|
31
31
|
return entity;
|
|
32
32
|
}
|
|
33
|
-
exports.removeLoc = removeLoc;
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.ScriptManager = exports.E2EUtils = exports.BaseSynthesizer = exports.E2EInteractionManager = exports.Xvfb = exports.defaultTestPlanner =
|
|
38
|
+
exports.ScriptManager = exports.E2EUtils = exports.BaseSynthesizer = exports.E2EInteractionManager = exports.Xvfb = exports.defaultTestPlanner = void 0;
|
|
39
|
+
exports.registerPackage = registerPackage;
|
|
39
40
|
const path_1 = __importDefault(require("path"));
|
|
40
41
|
const core_1 = require("@memlab/core");
|
|
41
42
|
/** @internal */
|
|
@@ -44,7 +45,6 @@ function registerPackage() {
|
|
|
44
45
|
return core_1.PackageInfoLoader.registerPackage(path_1.default.join(__dirname, '..'));
|
|
45
46
|
});
|
|
46
47
|
}
|
|
47
|
-
exports.registerPackage = registerPackage;
|
|
48
48
|
var TestPlanner_1 = require("./lib/operations/TestPlanner");
|
|
49
49
|
Object.defineProperty(exports, "defaultTestPlanner", { enumerable: true, get: function () { return __importDefault(TestPlanner_1).default; } });
|
|
50
50
|
__exportStar(require("./lib/operations/TestPlanner"), exports);
|
|
@@ -20,10 +20,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
const core_1 = require("@memlab/core");
|
|
22
22
|
class BaseAstTransform {
|
|
23
|
-
transform(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
transform(ast_1) {
|
|
24
|
+
return __awaiter(this, arguments, void 0, function* (ast,
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
26
|
+
options = {}) {
|
|
27
27
|
throw core_1.utils.haltOrThrow('BaseAstTransform.transform is not implemented');
|
|
28
28
|
});
|
|
29
29
|
}
|
|
@@ -25,8 +25,8 @@ const parser_1 = require("@babel/parser");
|
|
|
25
25
|
const generator_1 = __importDefault(require("@babel/generator"));
|
|
26
26
|
const TransformLoader_1 = __importDefault(require("./TransformLoader"));
|
|
27
27
|
class ScriptRewriteManager {
|
|
28
|
-
rewriteScript(
|
|
29
|
-
return __awaiter(this,
|
|
28
|
+
rewriteScript(code_1) {
|
|
29
|
+
return __awaiter(this, arguments, void 0, function* (code, options = {}) {
|
|
30
30
|
// parse code
|
|
31
31
|
const ast = (0, parser_1.parse)(code, {
|
|
32
32
|
sourceType: 'script',
|
|
@@ -16,9 +16,9 @@ const traverse_1 = __importDefault(require("@babel/traverse"));
|
|
|
16
16
|
const template_1 = __importDefault(require("@babel/template"));
|
|
17
17
|
const BaseAstTransform_1 = __importDefault(require("../BaseAstTransform"));
|
|
18
18
|
class InjectSourceInfoTranform extends BaseAstTransform_1.default {
|
|
19
|
-
transform(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
transform(ast_1) {
|
|
20
|
+
return __awaiter(this, arguments, void 0, function* (ast, options = {}) {
|
|
21
|
+
var _a;
|
|
22
22
|
const url = (_a = options.url) !== null && _a !== void 0 ? _a : '';
|
|
23
23
|
const instrumentFunction = function (path) {
|
|
24
24
|
var _a, _b;
|
|
@@ -16,9 +16,9 @@ const traverse_1 = __importDefault(require("@babel/traverse"));
|
|
|
16
16
|
const template_1 = __importDefault(require("@babel/template"));
|
|
17
17
|
const BaseAstTransform_1 = __importDefault(require("../BaseAstTransform"));
|
|
18
18
|
class InjectSourceInfoTransform extends BaseAstTransform_1.default {
|
|
19
|
-
transform(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
transform(ast_1) {
|
|
20
|
+
return __awaiter(this, arguments, void 0, function* (ast, options = {}) {
|
|
21
|
+
var _a;
|
|
22
22
|
const url = (_a = options.url) !== null && _a !== void 0 ? _a : '';
|
|
23
23
|
const instrumentFunction = function (path) {
|
|
24
24
|
var _a, _b;
|
package/dist/lib/E2EUtils.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
10
|
import { AnyOptions, AnyValue, E2EOperation, E2EStepInfo, IE2EScenarioVisitPlan, IScenario, Nullable, OperationArgs } from '@memlab/core';
|
|
11
|
-
import type { CDPSession, Page } from 'puppeteer';
|
|
11
|
+
import type { CDPSession, Page } from 'puppeteer-core';
|
|
12
12
|
type ExceptionHandler = (ex: Error) => void;
|
|
13
13
|
declare function checkLastSnapshotChunk(chunk: string): void;
|
|
14
14
|
declare function getURLParameter(tab: E2EStepInfo, visitPlan: IE2EScenarioVisitPlan): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"E2EUtils.d.ts","sourceRoot":"","sources":["../../src/lib/E2EUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,SAAS,EACT,QAAQ,EACR,aAAa,EAGd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"E2EUtils.d.ts","sourceRoot":"","sources":["../../src/lib/E2EUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,SAAS,EACT,QAAQ,EACR,aAAa,EAGd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAQrD,KAAK,gBAAgB,GAAG,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;AAE5C,iBAAS,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASnD;AAGD,iBAAS,eAAe,CACtB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,qBAAqB,GAC/B,MAAM,CAcR;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAajD;AAED,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAgBzE;AAED,iBAAS,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAMlE;AAED,iBAAS,WAAW,CAClB,SAAS,EAAE,qBAAqB,EAChC,GAAG,GAAE,UAAU,GAAG;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAM,GACvC,IAAI,CAeN;AAED,iBAAe,cAAc,CAC3B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf;AAGD,iBAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED,iBAAe,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhE;AAED,iBAAe,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxD;AAED,iBAAe,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED,iBAAe,mBAAmB,CAChC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,QAAQ,EAAE,EAEhB,gBAAgB,GAAE,gBAEjB,GACA,OAAO,CAAC,QAAQ,CAAC,CAQnB;AAED,iBAAe,mBAAmB,CAChC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,GAAE,UAAU,GAAG;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAM,GACrE,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED,iBAAe,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrD;AAED,iBAAe,iBAAiB,CAC9B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,iBAAe,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlE;AAED,iBAAe,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrE;AAID,iBAAe,2BAA2B,CACxC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CAarB;AAED,iBAAS,kBAAkB,CAAC,QAAQ,GAAE,QAAQ,CAAC,SAAS,CAAQ,GAAG,MAAM,CAKxE;;;;;;;;;;;;;;;;;;;;;;AAMD,wBAwBE"}
|
package/dist/lib/E2EUtils.js
CHANGED
|
@@ -76,7 +76,7 @@ function logTabProgress(i, visitPlan) {
|
|
|
76
76
|
core_2.browserInfo.addMarker(`[memlab]: ${msg}`);
|
|
77
77
|
}
|
|
78
78
|
function serializeVisitPlan(visitPlan) {
|
|
79
|
-
fs_1.default.writeFileSync(core_2.config.snapshotSequenceFile, JSON.stringify(visitPlan.tabsOrder, null, 2), '
|
|
79
|
+
fs_1.default.writeFileSync(core_2.config.snapshotSequenceFile, JSON.stringify(visitPlan.tabsOrder, null, 2), { encoding: 'utf8' });
|
|
80
80
|
}
|
|
81
81
|
function logMetaData(visitPlan, opt = {}) {
|
|
82
82
|
// save the visiting info to disk
|
|
@@ -134,12 +134,12 @@ function maybeWaitForConsoleInput(stepId) {
|
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
|
-
function applyAsyncWithGuard(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
function applyAsyncWithGuard(f_1, self_1, args_1) {
|
|
138
|
+
return __awaiter(this, arguments, void 0, function* (f, self, args,
|
|
139
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
140
|
+
exceptionHandler = (_ex) => {
|
|
141
|
+
/*noop*/
|
|
142
|
+
}) {
|
|
143
143
|
let ret;
|
|
144
144
|
try {
|
|
145
145
|
ret = yield f.apply(self, args);
|
|
@@ -150,8 +150,8 @@ exceptionHandler = (_ex) => {
|
|
|
150
150
|
return ret;
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
|
-
function applyAsyncWithRetry(
|
|
154
|
-
return __awaiter(this,
|
|
153
|
+
function applyAsyncWithRetry(f_1, self_1, args_1) {
|
|
154
|
+
return __awaiter(this, arguments, void 0, function* (f, self, args, options = {}) {
|
|
155
155
|
options.retry = options.retry || 0;
|
|
156
156
|
const retry = options.retry;
|
|
157
157
|
const exceptionHandler = (ex) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -243,11 +243,11 @@ function getNavigationHistoryLength(page) {
|
|
|
243
243
|
function startTrackingHeapAllocation(page, file) {
|
|
244
244
|
return __awaiter(this, void 0, void 0, function* () {
|
|
245
245
|
const heap = '';
|
|
246
|
-
fs_1.default.writeFileSync(file, heap, '
|
|
246
|
+
fs_1.default.writeFileSync(file, heap, { encoding: 'utf8' });
|
|
247
247
|
core_2.info.lowLevel('tracking heap allocation...');
|
|
248
248
|
const cdpSession = yield page.target().createCDPSession();
|
|
249
249
|
cdpSession.on('HeapProfiler.addHeapSnapshotChunk', data => {
|
|
250
|
-
fs_1.default.appendFileSync(file, data.chunk, '
|
|
250
|
+
fs_1.default.appendFileSync(file, data.chunk, { encoding: 'utf8' });
|
|
251
251
|
});
|
|
252
252
|
yield cdpSession.send('HeapProfiler.startTrackingHeapObjects', {
|
|
253
253
|
trackAllocations: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/BackOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"BackOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/BackOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,aAAa;IACtD,IAAI,EAAE,MAAM,CAAC;;IAOP,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackspaceOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/BackspaceOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"BackspaceOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/BackspaceOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEzC,cAAM,kBAAmB,SAAQ,aAAa;IAC5C,IAAI,EAAE,MAAM,CAAC;;IAOP,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { Page } from 'puppeteer';
|
|
10
|
+
import type { Page } from 'puppeteer-core';
|
|
11
11
|
import type { E2EOperation, OperationArgs } from '@memlab/core';
|
|
12
12
|
declare abstract class BaseOperation implements E2EOperation {
|
|
13
13
|
kind: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/BaseOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"BaseOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/BaseOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAI9D,uBAAe,aAAc,YAAW,YAAY;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,QAAQ,UAAS;;IAO3B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ1B,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzD,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAKnE;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -38,8 +38,8 @@ class BaseOperation {
|
|
|
38
38
|
core_1.info.overwrite(msg);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
do(
|
|
42
|
-
return __awaiter(this,
|
|
41
|
+
do(page_1) {
|
|
42
|
+
return __awaiter(this, arguments, void 0, function* (page, opArgs = {}) {
|
|
43
43
|
if (core_1.config.verbose && core_1.config.runningMode.shouldTakeScreenShot()) {
|
|
44
44
|
yield InteractionUtils_1.default.screenshot(page, `${++opId}-${this.kind}`);
|
|
45
45
|
}
|
|
@@ -56,8 +56,8 @@ class BaseOperation {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
-
act(
|
|
60
|
-
return __awaiter(this,
|
|
59
|
+
act(_page_1) {
|
|
60
|
+
return __awaiter(this, arguments, void 0, function* (_page, _opArgs = {}) {
|
|
61
61
|
const error = new Error('BaseOperation.act can not be called.');
|
|
62
62
|
error.stack;
|
|
63
63
|
throw error;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { Page } from 'puppeteer';
|
|
10
|
+
import type { Page } from 'puppeteer-core';
|
|
11
11
|
import type { AnyValue } from '@memlab/core';
|
|
12
12
|
import BaseOperation from './BaseOperation';
|
|
13
13
|
type PageFunction = (page: Page) => Promise<AnyValue>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachePageContent.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/CachePageContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"CachePageContent.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/CachePageContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAG3C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAKtD,cAAM,gBAAiB,SAAQ,aAAa;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAS;gBAEZ,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM;IAOjD,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { Page } from 'puppeteer';
|
|
10
|
+
import type { Page } from 'puppeteer-core';
|
|
11
11
|
import type { AnyOptions, Optional } from '@memlab/core';
|
|
12
12
|
import BaseOperation from './BaseOperation';
|
|
13
13
|
type PageFunction = (page: Page) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/ClickOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAgB,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ClickOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/ClickOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAgB,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AAGvD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvD,cAAM,cAAe,SAAQ,aAAa;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,EAAE,EAAE,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;gBAGpC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,UAAU,GAAG;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;KACzB;IAgBF,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBhD,OAAO,CAAC,WAAW;YAKL,YAAY;IAgCpB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA0CrC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import { Page } from 'puppeteer';
|
|
10
|
+
import { Page } from 'puppeteer-core';
|
|
11
11
|
import type { E2EOperation } from '@memlab/core';
|
|
12
12
|
import BaseOperation from './BaseOperation';
|
|
13
13
|
declare class CompoundOperation extends BaseOperation {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompoundOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/CompoundOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"CompoundOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/CompoundOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,iBAAkB,SAAQ,aAAa;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;gBACzB,UAAU,UAAK;IAMrB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAKrC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnterOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/EnterOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"EnterOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/EnterOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,cAAe,SAAQ,aAAa;IACxC,IAAI,EAAE,MAAM,CAAC;;IAMP,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EscOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/EscOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"EscOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/EscOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa;IACrD,IAAI,EAAE,MAAM,CAAC;;IAOP,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/HoverOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"HoverOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/HoverOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,cAAM,cAAe,SAAQ,aAAa;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrB,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB;YAUvC,gBAAgB;IAyBxB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAcrC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import type { Page, ElementHandle } from 'puppeteer';
|
|
10
|
+
import type { Page, ElementHandle } from 'puppeteer-core';
|
|
11
11
|
import type { CheckPageLoadCallback, OperationArgs } from '@memlab/core';
|
|
12
12
|
declare function waitFor(delay: number): Promise<void>;
|
|
13
13
|
declare function WaitUntilCallbackReturnsTrue(page: Page, isPageLoaded: CheckPageLoadCallback, options?: OperationArgs): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionUtils.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/InteractionUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAC,IAAI,EAAE,aAAa,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"InteractionUtils.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/InteractionUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAC,IAAI,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EAEd,MAAM,cAAc,CAAC;AAEtB,iBAAS,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7C;AAED,iBAAe,4BAA4B,CACzC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,qBAAqB,EACnC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,iBAAe,eAAe,CAC5B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,iBAAe,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1E;AASD,iBAAe,eAAe,CAC5B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,yBAAyB,SAAU,EACnC,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAyClB;AAmBD,iBAAe,cAAc,CAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,iBAAe,cAAc,CAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,iBAAe,oBAAoB,CACjC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,iBAAe,yBAAyB,CACtC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAGnC;;;;;;;;;;;;AAkDD,wBAUE"}
|
|
@@ -28,9 +28,9 @@ function waitFor(delay) {
|
|
|
28
28
|
setTimeout(resolve, delay);
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
function WaitUntilCallbackReturnsTrue(
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
function WaitUntilCallbackReturnsTrue(page_1, isPageLoaded_1) {
|
|
32
|
+
return __awaiter(this, arguments, void 0, function* (page, isPageLoaded, options = {}) {
|
|
33
|
+
var _a;
|
|
34
34
|
if (options.showProgress) {
|
|
35
35
|
core_1.info.overwrite('waiting for page load...');
|
|
36
36
|
}
|
|
@@ -73,9 +73,9 @@ function WaitUntilCallbackReturnsTrue(page, isPageLoaded, options = {}) {
|
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
function waitUntilLoaded(
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
function waitUntilLoaded(page_1) {
|
|
77
|
+
return __awaiter(this, arguments, void 0, function* (page, options = {}) {
|
|
78
|
+
var _a;
|
|
79
79
|
// manual delay supercedes page load checker
|
|
80
80
|
let delay = (_a = options.delay) !== null && _a !== void 0 ? _a : 0;
|
|
81
81
|
if (delay > 0) {
|
|
@@ -115,8 +115,8 @@ function getWaitTimeout(optional) {
|
|
|
115
115
|
}
|
|
116
116
|
return core_1.config.presenceCheckTimeout || 60000;
|
|
117
117
|
}
|
|
118
|
-
function waitForSelector(
|
|
119
|
-
return __awaiter(this,
|
|
118
|
+
function waitForSelector(page_1, selector_1) {
|
|
119
|
+
return __awaiter(this, arguments, void 0, function* (page, selector, whatToWaitForSelectorToDo = 'exist', optional = false) {
|
|
120
120
|
const timeout = getWaitTimeout(optional);
|
|
121
121
|
let waitConfig = null;
|
|
122
122
|
switch (whatToWaitForSelectorToDo) {
|
|
@@ -157,8 +157,8 @@ function waitForSelector(page, selector, whatToWaitForSelectorToDo = 'exist', op
|
|
|
157
157
|
}
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
|
-
function keepTryingUntil(
|
|
161
|
-
return __awaiter(this,
|
|
160
|
+
function keepTryingUntil(checkCallback_1) {
|
|
161
|
+
return __awaiter(this, arguments, void 0, function* (checkCallback, timeout = 2000) {
|
|
162
162
|
const startTimestamp = Date.now();
|
|
163
163
|
let currentTimestamp = Date.now();
|
|
164
164
|
while (currentTimestamp - startTimestamp < timeout) {
|
|
@@ -172,18 +172,18 @@ function keepTryingUntil(checkCallback, timeout = 2000) {
|
|
|
172
172
|
return false;
|
|
173
173
|
});
|
|
174
174
|
}
|
|
175
|
-
function checkIfPresent(
|
|
176
|
-
return __awaiter(this,
|
|
175
|
+
function checkIfPresent(page_1, selector_1) {
|
|
176
|
+
return __awaiter(this, arguments, void 0, function* (page, selector, optional = false) {
|
|
177
177
|
return waitForSelector(page, selector, 'exist', optional);
|
|
178
178
|
});
|
|
179
179
|
}
|
|
180
|
-
function checkIfVisible(
|
|
181
|
-
return __awaiter(this,
|
|
180
|
+
function checkIfVisible(page_1, selector_1) {
|
|
181
|
+
return __awaiter(this, arguments, void 0, function* (page, selector, optional = false) {
|
|
182
182
|
return waitForSelector(page, selector, 'appear', optional);
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
|
-
function waitForDisappearance(
|
|
186
|
-
return __awaiter(this,
|
|
185
|
+
function waitForDisappearance(page_1, selector_1) {
|
|
186
|
+
return __awaiter(this, arguments, void 0, function* (page, selector, optional = false) {
|
|
187
187
|
return waitForSelector(page, selector, 'disappear', optional);
|
|
188
188
|
});
|
|
189
189
|
}
|
|
@@ -194,8 +194,8 @@ function getElementsContainingText(page, text) {
|
|
|
194
194
|
});
|
|
195
195
|
}
|
|
196
196
|
function findBySelector(page, xpath) {
|
|
197
|
-
var _a;
|
|
198
197
|
return __awaiter(this, void 0, void 0, function* () {
|
|
198
|
+
var _a;
|
|
199
199
|
const _page = page;
|
|
200
200
|
if (typeof _page.$x === 'function') {
|
|
201
201
|
return ((_a = (yield _page.$x(xpath))) !== null && _a !== void 0 ? _a : []);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
10
|
import BaseOperation from './BaseOperation';
|
|
11
|
-
import type { Page } from 'puppeteer';
|
|
11
|
+
import type { Page } from 'puppeteer-core';
|
|
12
12
|
import type { OperationArgs } from '@memlab/core';
|
|
13
13
|
export default class RevertOperation extends BaseOperation {
|
|
14
14
|
kind: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RevertOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/RevertOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"RevertOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/RevertOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAIhD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;IACxD,IAAI,EAAE,MAAM,CAAC;;IAOP,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBjE"}
|
|
@@ -30,8 +30,8 @@ class RevertOperation extends BaseOperation_1.default {
|
|
|
30
30
|
super();
|
|
31
31
|
this.kind = 'revert';
|
|
32
32
|
}
|
|
33
|
-
act(
|
|
34
|
-
return __awaiter(this,
|
|
33
|
+
act(page_1) {
|
|
34
|
+
return __awaiter(this, arguments, void 0, function* (page, opArgs = {}) {
|
|
35
35
|
let historyLen = opArgs.pageHistoryLength;
|
|
36
36
|
if (Array.isArray(historyLen) && historyLen.length > 1) {
|
|
37
37
|
historyLen = historyLen;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import { Page } from 'puppeteer';
|
|
10
|
+
import { Page } from 'puppeteer-core';
|
|
11
11
|
import type { AnyFunction, AnyOptions, AnyValue } from '@memlab/core';
|
|
12
12
|
import BaseOperation from './BaseOperation';
|
|
13
13
|
declare class RunJSCode extends BaseOperation {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunJSCode.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/RunJSCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"RunJSCode.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/RunJSCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AACpE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAI5C,cAAM,SAAU,SAAQ,aAAa;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;gBAGvB,QAAQ,EAAE,WAAW,EACrB,GAAG,GAAE,UAAU,GAAG;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAM;IASvD,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/ScrollOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ScrollOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/ScrollOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,cAAM,eAAgB,SAAQ,aAAa;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;gBACR,YAAY,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,GAAG,GAAE,aAAkB;IAY/D,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBjE;AA4BD,eAAe,eAAe,CAAC"}
|
|
@@ -36,8 +36,8 @@ class ScrollOperation extends BaseOperation_1.default {
|
|
|
36
36
|
this.scrollBack =
|
|
37
37
|
typeof opt.scrollBack === 'boolean' ? opt.scrollBack : true;
|
|
38
38
|
}
|
|
39
|
-
act(
|
|
40
|
-
return __awaiter(this,
|
|
39
|
+
act(page_1) {
|
|
40
|
+
return __awaiter(this, arguments, void 0, function* (page, opArgs = {}) {
|
|
41
41
|
if (core_1.config.disableScroll || !core_1.config.runningMode.shouldScroll()) {
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
@@ -59,8 +59,8 @@ class ScrollOperation extends BaseOperation_1.default {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
function scroll(
|
|
63
|
-
return __awaiter(this,
|
|
62
|
+
function scroll(page_1, dist_1) {
|
|
63
|
+
return __awaiter(this, arguments, void 0, function* (page, dist, idx = 0, opArgs) {
|
|
64
64
|
core_1.info.beginSection('scroll');
|
|
65
65
|
yield InteractionUtils_1.default.waitUntilLoaded(page, opArgs);
|
|
66
66
|
if (idx > 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestPlanner.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/TestPlanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,uBAAuB,EACvB,qBAAqB,EAIrB,QAAQ,EACT,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAS/C,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,MAAM,CAAe;gBAEjB,OAAO,GAAE,eAAoB;IAMzC,OAAO,CAAC,gBAAgB;IAYxB,YAAY,IAAI,qBAAqB;IAKrC,UAAU,IAAI,OAAO;IAMrB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;IAK7B,cAAc,CAAC,OAAO,GAAE,UAAe,GAAG,uBAAuB;IAOjE,kBAAkB,IAAI,uBAAuB;IAS7C,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,iBAAiB;IAczB,WAAW,CACT,SAAS,EAAE,qBAAqB,EAChC,WAAW,EAAE,uBAAuB,GACnC,OAAO;
|
|
1
|
+
{"version":3,"file":"TestPlanner.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/TestPlanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,uBAAuB,EACvB,qBAAqB,EAIrB,QAAQ,EACT,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAS/C,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,MAAM,CAAe;gBAEjB,OAAO,GAAE,eAAoB;IAMzC,OAAO,CAAC,gBAAgB;IAYxB,YAAY,IAAI,qBAAqB;IAKrC,UAAU,IAAI,OAAO;IAMrB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;IAK7B,cAAc,CAAC,OAAO,GAAE,UAAe,GAAG,uBAAuB;IAOjE,kBAAkB,IAAI,uBAAuB;IAS7C,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,iBAAiB;IAczB,WAAW,CACT,SAAS,EAAE,qBAAqB,EAChC,WAAW,EAAE,uBAAuB,GACnC,OAAO;IA6BV,OAAO,CAAC,mCAAmC;IAoB3C,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IAQzB,WAAW,IAAI,MAAM,EAAE;IASvB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,EAAE;IAWnE,aAAa,CACX,OAAO,GAAE,UAAe,GACvB;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,EAAE;CAYxC;;AAED,wBAAiC"}
|
|
@@ -120,7 +120,7 @@ class TestPlanner {
|
|
|
120
120
|
if (!fs_1.default.existsSync(cookieFile)) {
|
|
121
121
|
core_1.utils.haltOrThrow(`cookie file doesn't exist: ${cookieFile}`);
|
|
122
122
|
}
|
|
123
|
-
const cookies = JSON.parse(fs_1.default.readFileSync(cookieFile, '
|
|
123
|
+
const cookies = JSON.parse(fs_1.default.readFileSync(cookieFile, { encoding: 'utf8' }));
|
|
124
124
|
return this.populateDomainInCookies(cookies, synthesizer.getDomain(), synthesizer.getDomainPrefixes());
|
|
125
125
|
}
|
|
126
126
|
populateDomainInCookiesFromScenario(cookies, scenario) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/TypeOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"TypeOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/TypeOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAI5C,KAAK,WAAW,GAAG;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,cAAM,aAAc,SAAQ,aAAa;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;gBAEF,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB;YAUzD,UAAU;IAOlB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAcrC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/UploadOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAgB,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"UploadOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/UploadOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAgB,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAIxD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,cAAM,eAAgB,SAAQ,aAAa;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;gBAED,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAQ3C,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBrC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitForElementOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/WaitForElementOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"WaitForElementOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/WaitForElementOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAGzC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,KAAK,cAAc,GAAG;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,cAAM,uBAAwB,SAAQ,aAAa;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;gBAEb,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IAOpD,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBrC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/WaitOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"WaitOperation.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/WaitOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,cAAM,aAAc,SAAQ,aAAa;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM;IAOrB,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAKtC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @format
|
|
8
8
|
* @oncall memory_lab
|
|
9
9
|
*/
|
|
10
|
-
import { Page } from 'puppeteer';
|
|
10
|
+
import { Page } from 'puppeteer-core';
|
|
11
11
|
import type { AnyValue } from '@memlab/core';
|
|
12
12
|
import BaseOperation from './BaseOperation';
|
|
13
13
|
type OperationFactory = (memCache: Record<string, AnyValue>) => BaseOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithCachedPageContent.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/WithCachedPageContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"WithCachedPageContent.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/WithCachedPageContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,KAAK,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,aAAa,CAAC;AAE9E;;;;;GAKG;AACH,cAAM,qBAAsB,SAAQ,aAAa;IAC/C,gBAAgB,EAAE,gBAAgB,CAAC;gBACvB,gBAAgB,EAAE,gBAAgB;IAKxC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBrC;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XVirtualFrameBuffer.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/XVirtualFrameBuffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;;sBAIjC,
|
|
1
|
+
{"version":3,"file":"XVirtualFrameBuffer.d.ts","sourceRoot":"","sources":["../../../src/lib/operations/XVirtualFrameBuffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;;sBAIjC,QAAQ,CAAC,QAAQ,CAAC;;AADtC,wBA0BE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memlab/e2e",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "memlab browser E2E interaction libraries",
|
|
6
6
|
"author": "Liang Gong <lgong@meta.com>",
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
"@babel/parser": "^7.16.4",
|
|
26
26
|
"@babel/template": "^7.16.0",
|
|
27
27
|
"@babel/traverse": "^7.16.3",
|
|
28
|
-
"@memlab/core": "^
|
|
29
|
-
"@memlab/lens": "^
|
|
28
|
+
"@memlab/core": "^2.0.0",
|
|
29
|
+
"@memlab/lens": "^2.0.0",
|
|
30
30
|
"ansi": "^0.3.1",
|
|
31
31
|
"babar": "^0.2.0",
|
|
32
32
|
"chalk": "^4.0.0",
|
|
33
33
|
"fs-extra": "^4.0.2",
|
|
34
34
|
"minimist": "^1.2.8",
|
|
35
|
-
"puppeteer": "^
|
|
36
|
-
"puppeteer-core": "^
|
|
35
|
+
"puppeteer": "^24.2.0",
|
|
36
|
+
"puppeteer-core": "^24.2.0",
|
|
37
37
|
"string-width": "^4.2.0",
|
|
38
38
|
"util.promisify": "^1.1.1",
|
|
39
39
|
"xvfb": "^0.4.0"
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"@types/fs-extra": "^9.0.3",
|
|
45
45
|
"@types/jest": "^27.4.1",
|
|
46
46
|
"@types/minimist": "^1.2.5",
|
|
47
|
-
"@types/node": "^
|
|
47
|
+
"@types/node": "^25.0.0",
|
|
48
48
|
"jest": "^29.6.2",
|
|
49
49
|
"ts-jest": "^29.1.1",
|
|
50
|
-
"typescript": "^5.
|
|
50
|
+
"typescript": "^5.9.3"
|
|
51
51
|
},
|
|
52
52
|
"repository": {
|
|
53
53
|
"type": "git",
|