testeranto 0.94.0 → 0.100.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/bundle.js +4 -7
- package/dist/common/src/PM/main.js +160 -42
- package/dist/common/src/PM/node.js +20 -5
- package/dist/common/src/PM/web.js +19 -4
- package/dist/common/src/SubPackages/react/jsx/node.js +1 -6
- package/dist/common/src/cli.js +439 -0
- package/dist/common/src/cli2.js +144 -0
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +18 -6
- package/dist/common/src/esbuildConfigs/node.js +1 -4
- package/dist/common/src/esbuildConfigs/web.js +1 -1
- package/dist/common/src/lib/abstractBase.js +14 -91
- package/dist/common/src/lib/types.js +1 -0
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/PM/main.js +160 -42
- package/dist/module/src/PM/node.js +20 -5
- package/dist/module/src/PM/web.js +19 -4
- package/dist/module/src/SubPackages/react/jsx/node.js +1 -6
- package/dist/module/src/cli.js +411 -0
- package/dist/module/src/cli2.js +116 -0
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +18 -6
- package/dist/module/src/esbuildConfigs/node.js +1 -4
- package/dist/module/src/esbuildConfigs/web.js +1 -1
- package/dist/module/src/lib/abstractBase.js +14 -91
- package/dist/module/src/lib/types.js +1 -0
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/cli.mjs +1491 -0
- package/dist/prebuild/{run-tests.mjs → cli2.mjs} +203 -156
- package/dist/types/src/Node.d.ts +2 -2
- package/dist/types/src/PM/index.d.ts +10 -2
- package/dist/types/src/PM/main.d.ts +13 -7
- package/dist/types/src/PM/node.d.ts +9 -2
- package/dist/types/src/PM/web.d.ts +9 -3
- package/dist/types/src/SubPackages/puppeteer.d.ts +1 -1
- package/dist/types/src/SubPackages/react/component/node.d.ts +1 -1
- package/dist/types/src/SubPackages/react/component/web.d.ts +1 -1
- package/dist/types/src/SubPackages/react/jsx/node.d.ts +3 -3
- package/dist/types/src/SubPackages/react/jsx/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-dom/component/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-dom/component/web.d.ts +1 -1
- package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +1 -1
- package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +3 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +2 -2
- package/dist/types/src/Types.d.ts +60 -21
- package/dist/types/src/Web.d.ts +2 -2
- package/dist/types/src/lib/index.d.ts +1 -1
- package/dist/types/src/lib/types.d.ts +2 -30
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +11 -8
- package/src/PM/index.ts +12 -8
- package/src/PM/main.ts +218 -62
- package/src/PM/node.ts +42 -7
- package/src/PM/web.ts +33 -5
- package/src/SubPackages/react/jsx/node.ts +16 -5
- package/src/SubPackages/react-test-renderer/jsx/node.ts +16 -1
- package/src/Types.ts +362 -114
- package/src/cli.ts +535 -0
- package/src/cli2.ts +157 -0
- package/src/esbuildConfigs/inputFilesPlugin.ts +27 -6
- package/src/esbuildConfigs/node.ts +4 -7
- package/src/esbuildConfigs/web.ts +4 -3
- package/src/lib/abstractBase.ts +58 -115
- package/src/lib/types.ts +3 -177
- package/dist/common/src/Aider.js +0 -143
- package/dist/common/src/Project.js +0 -227
- package/dist/common/src/Puppeteer.js +0 -111
- package/dist/common/src/build-tests.js +0 -39
- package/dist/common/src/esbuildConfigs/features.js +0 -14
- package/dist/common/src/esbuildConfigs/report.js +0 -14
- package/dist/common/src/esbuildConfigs/tests.js +0 -13
- package/dist/common/src/run-tests.js +0 -39
- package/dist/module/src/Aider.js +0 -136
- package/dist/module/src/Project.js +0 -220
- package/dist/module/src/Puppeteer.js +0 -106
- package/dist/module/src/build-tests.js +0 -11
- package/dist/module/src/esbuildConfigs/features.js +0 -12
- package/dist/module/src/esbuildConfigs/report.js +0 -14
- package/dist/module/src/esbuildConfigs/tests.js +0 -11
- package/dist/module/src/run-tests.js +0 -11
- package/dist/prebuild/build-tests.mjs +0 -553
- package/dist/types/src/Aider.d.ts +0 -1
- package/dist/types/src/Project.d.ts +0 -12
- package/dist/types/src/Puppeteer.d.ts +0 -2
- package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
- package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
- package/src/Aider.ts +0 -168
- package/src/Project.ts +0 -292
- package/src/Puppeteer.ts +0 -143
- package/src/build-tests.ts +0 -12
- package/src/esbuildConfigs/features.ts +0 -17
- package/src/esbuildConfigs/report.ts +0 -15
- package/src/esbuildConfigs/tests.ts +0 -14
- package/src/run-tests.ts +0 -12
- /package/dist/types/src/{build-tests.d.ts → cli.d.ts} +0 -0
- /package/dist/types/src/{run-tests.d.ts → cli2.d.ts} +0 -0
package/bundle.js
CHANGED
|
@@ -18,13 +18,11 @@ await esbuild.build({
|
|
|
18
18
|
})
|
|
19
19
|
|
|
20
20
|
await esbuild.build({
|
|
21
|
-
entryPoints: ['src/
|
|
21
|
+
entryPoints: ['src/cli.ts'],
|
|
22
22
|
bundle: true,
|
|
23
23
|
format: "esm",
|
|
24
24
|
platform: "node",
|
|
25
|
-
|
|
26
|
-
outfile: 'dist/prebuild/build-tests.mjs',
|
|
27
|
-
// external: ['crypto', 'os'],
|
|
25
|
+
outfile: 'dist/prebuild/cli.mjs',
|
|
28
26
|
packages: "external",
|
|
29
27
|
supported: {
|
|
30
28
|
"dynamic-import": true,
|
|
@@ -36,12 +34,11 @@ await esbuild.build({
|
|
|
36
34
|
})
|
|
37
35
|
|
|
38
36
|
await esbuild.build({
|
|
39
|
-
entryPoints: ['src/
|
|
37
|
+
entryPoints: ['src/cli2.ts'],
|
|
40
38
|
bundle: true,
|
|
41
39
|
format: "esm",
|
|
42
40
|
platform: "node",
|
|
43
|
-
|
|
44
|
-
outfile: 'dist/prebuild/run-tests.mjs',
|
|
41
|
+
outfile: 'dist/prebuild/cli2.mjs',
|
|
45
42
|
packages: "external",
|
|
46
43
|
supported: {
|
|
47
44
|
"dynamic-import": true,
|
|
@@ -32,11 +32,22 @@ const path_1 = __importDefault(require("path"));
|
|
|
32
32
|
const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
|
|
33
33
|
const crypto_1 = __importDefault(require("crypto"));
|
|
34
34
|
const index_js_1 = require("./index.js");
|
|
35
|
-
const utils_js_1 = require("../utils.js");
|
|
36
35
|
const fileStreams3 = [];
|
|
37
36
|
const fPaths = [];
|
|
38
37
|
const files = {};
|
|
38
|
+
const recorders = {};
|
|
39
39
|
const screenshots = {};
|
|
40
|
+
const red = "\x1b[31m";
|
|
41
|
+
const green = "\x1b[32m";
|
|
42
|
+
const reset = "\x1b[0m"; // Resets to default color
|
|
43
|
+
const statusMessagePretty = (failures, test) => {
|
|
44
|
+
if (failures === 0) {
|
|
45
|
+
console.log(green + `${test} completed successfully` + reset);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
console.log(red + `${test} failed ${failures} times` + reset);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
40
51
|
class PM_Main extends index_js_1.PM {
|
|
41
52
|
constructor(configs) {
|
|
42
53
|
super();
|
|
@@ -62,7 +73,7 @@ class PM_Main extends index_js_1.PM {
|
|
|
62
73
|
}
|
|
63
74
|
};
|
|
64
75
|
this.launchNode = async (src, dest) => {
|
|
65
|
-
console.log("
|
|
76
|
+
console.log("! node", src);
|
|
66
77
|
this.register(src);
|
|
67
78
|
const destFolder = dest.replace(".mjs", "");
|
|
68
79
|
let argz = "";
|
|
@@ -109,25 +120,36 @@ class PM_Main extends index_js_1.PM {
|
|
|
109
120
|
console.error("negative port makes no sense", src);
|
|
110
121
|
process.exit(-1);
|
|
111
122
|
}
|
|
112
|
-
const builtfile = dest
|
|
123
|
+
const builtfile = dest;
|
|
113
124
|
const webSideCares = [];
|
|
114
|
-
await Promise.all(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
125
|
+
// await Promise.all(
|
|
126
|
+
// testConfig[3].map(async (sidecar) => {
|
|
127
|
+
// if (sidecar[1] === "web") {
|
|
128
|
+
// const s = await this.launchWebSideCar(
|
|
129
|
+
// sidecar[0],
|
|
130
|
+
// destinationOfRuntime(sidecar[0], "web", this.configs),
|
|
131
|
+
// sidecar
|
|
132
|
+
// );
|
|
133
|
+
// webSideCares.push(s);
|
|
134
|
+
// return s;
|
|
135
|
+
// }
|
|
136
|
+
// if (sidecar[1] === "node") {
|
|
137
|
+
// return this.launchNodeSideCar(
|
|
138
|
+
// sidecar[0],
|
|
139
|
+
// destinationOfRuntime(sidecar[0], "node", this.configs),
|
|
140
|
+
// sidecar
|
|
141
|
+
// );
|
|
142
|
+
// }
|
|
143
|
+
// })
|
|
144
|
+
// );
|
|
124
145
|
this.server[builtfile] = await Promise.resolve().then(() => __importStar(require(`${builtfile}?cacheBust=${Date.now()}`))).then((module) => {
|
|
125
146
|
return module.default.then((defaultModule) => {
|
|
126
147
|
defaultModule
|
|
127
148
|
.receiveTestResourceConfig(argz)
|
|
128
149
|
.then(async ({ features, failed }) => {
|
|
129
|
-
this.receiveFeatures(features, destFolder);
|
|
130
|
-
console.log(`${src} completed with ${failed} errors`);
|
|
150
|
+
this.receiveFeatures(features, destFolder, src);
|
|
151
|
+
// console.log(`${src} completed with ${failed} errors`);
|
|
152
|
+
statusMessagePretty(failed, src);
|
|
131
153
|
})
|
|
132
154
|
.catch((e) => {
|
|
133
155
|
console.log(`${src} errored with`, e);
|
|
@@ -323,14 +345,18 @@ class PM_Main extends index_js_1.PM {
|
|
|
323
345
|
}
|
|
324
346
|
}
|
|
325
347
|
};
|
|
326
|
-
this.launchWeb = (t, dest
|
|
327
|
-
console.log("
|
|
348
|
+
this.launchWeb = (t, dest) => {
|
|
349
|
+
console.log("! web", t);
|
|
328
350
|
this.register(t);
|
|
329
|
-
sidecars.map((sidecar) => {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
351
|
+
// sidecars.map((sidecar) => {
|
|
352
|
+
// if (sidecar[1] === "node") {
|
|
353
|
+
// return this.launchNodeSideCar(
|
|
354
|
+
// sidecar[0],
|
|
355
|
+
// destinationOfRuntime(sidecar[0], "node", this.configs),
|
|
356
|
+
// sidecar
|
|
357
|
+
// );
|
|
358
|
+
// }
|
|
359
|
+
// });
|
|
334
360
|
const destFolder = dest.replace(".mjs", "");
|
|
335
361
|
const webArgz = JSON.stringify({
|
|
336
362
|
name: dest,
|
|
@@ -338,9 +364,10 @@ class PM_Main extends index_js_1.PM {
|
|
|
338
364
|
fs: destFolder,
|
|
339
365
|
browserWSEndpoint: this.browser.wsEndpoint(),
|
|
340
366
|
});
|
|
367
|
+
const d = `${dest}?cacheBust=${Date.now()}`;
|
|
341
368
|
const evaluation = `
|
|
342
|
-
console.log("importing ${
|
|
343
|
-
import('${
|
|
369
|
+
console.log("importing ${d}");
|
|
370
|
+
import('${d}').then(async (x) => {
|
|
344
371
|
console.log("imported", (await x.default));
|
|
345
372
|
try {
|
|
346
373
|
return await (await x.default).receiveTestResourceConfig(${webArgz})
|
|
@@ -350,8 +377,8 @@ class PM_Main extends index_js_1.PM {
|
|
|
350
377
|
})`;
|
|
351
378
|
const fileStreams2 = [];
|
|
352
379
|
const doneFileStream2 = [];
|
|
353
|
-
const stdoutStream = fs_1.default.createWriteStream(`${
|
|
354
|
-
const stderrStream = fs_1.default.createWriteStream(`${
|
|
380
|
+
const stdoutStream = fs_1.default.createWriteStream(`${destFolder}/stdout.log`);
|
|
381
|
+
const stderrStream = fs_1.default.createWriteStream(`${destFolder}/stderr.log`);
|
|
355
382
|
this.browser
|
|
356
383
|
.newPage()
|
|
357
384
|
.then((page) => {
|
|
@@ -515,7 +542,7 @@ class PM_Main extends index_js_1.PM {
|
|
|
515
542
|
files[t] = new Set();
|
|
516
543
|
}
|
|
517
544
|
// files[t].add(filepath);
|
|
518
|
-
fs_1.default.writeFileSync(
|
|
545
|
+
fs_1.default.writeFileSync(destFolder + "/manifest.json", JSON.stringify(Array.from(files[t])));
|
|
519
546
|
delete files[t];
|
|
520
547
|
Promise.all(screenshots[t] || []).then(() => {
|
|
521
548
|
delete screenshots[t];
|
|
@@ -550,12 +577,13 @@ class PM_Main extends index_js_1.PM {
|
|
|
550
577
|
stdoutStream.write(JSON.stringify(log.location()));
|
|
551
578
|
stdoutStream.write(JSON.stringify(log.stackTrace()));
|
|
552
579
|
});
|
|
553
|
-
await page.goto(`file://${`${
|
|
580
|
+
await page.goto(`file://${`${destFolder}.html`}`, {});
|
|
554
581
|
await page
|
|
555
582
|
.evaluate(evaluation)
|
|
556
583
|
.then(async ({ failed, features }) => {
|
|
557
|
-
this.receiveFeatures(features, destFolder);
|
|
558
|
-
console.log(`${t} completed with ${failed} errors`);
|
|
584
|
+
this.receiveFeatures(features, destFolder, t);
|
|
585
|
+
// console.log(`${t} completed with ${failed} errors`);
|
|
586
|
+
statusMessagePretty(failed, t);
|
|
559
587
|
})
|
|
560
588
|
.catch((e) => {
|
|
561
589
|
console.log(`${t} errored with`, e);
|
|
@@ -566,7 +594,8 @@ class PM_Main extends index_js_1.PM {
|
|
|
566
594
|
return page;
|
|
567
595
|
});
|
|
568
596
|
};
|
|
569
|
-
this.receiveFeatures = (features, destFolder) => {
|
|
597
|
+
this.receiveFeatures = (features, destFolder, srcTest) => {
|
|
598
|
+
const featureDestination = path_1.default.resolve(process.cwd(), "docs", "features", "strings", srcTest.split(".").slice(0, -1).join(".") + ".features.txt");
|
|
570
599
|
features
|
|
571
600
|
.reduce(async (mm, featureStringKey) => {
|
|
572
601
|
const accum = await mm;
|
|
@@ -593,24 +622,33 @@ class PM_Main extends index_js_1.PM {
|
|
|
593
622
|
// console.log("Symlink created successfully");
|
|
594
623
|
}
|
|
595
624
|
});
|
|
596
|
-
accum.push(newPath);
|
|
625
|
+
accum.files.push(newPath);
|
|
597
626
|
}
|
|
598
627
|
else if (u.protocol === "http:" || u.protocol === "https:") {
|
|
599
628
|
const newPath = `${process.cwd()}/docs/features/external${u.hostname}${u.pathname}`;
|
|
600
629
|
const body = await this.configs.featureIngestor(featureStringKey);
|
|
601
630
|
writeFileAndCreateDir(newPath, body);
|
|
602
|
-
accum.push(newPath);
|
|
631
|
+
accum.files.push(newPath);
|
|
603
632
|
}
|
|
604
633
|
}
|
|
605
634
|
else {
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
635
|
+
await fs_1.default.promises.mkdir(path_1.default.dirname(featureDestination), {
|
|
636
|
+
recursive: true,
|
|
637
|
+
});
|
|
638
|
+
// const newPath = `${process.cwd()}/docs/features/plain/${await sha256(
|
|
639
|
+
// featureStringKey
|
|
640
|
+
// )}`;
|
|
641
|
+
// writeFileAndCreateDir(
|
|
642
|
+
// `${featureDestination}/${await sha256(featureStringKey)}`,
|
|
643
|
+
// featureStringKey
|
|
644
|
+
// );
|
|
645
|
+
accum.strings.push(featureStringKey);
|
|
609
646
|
}
|
|
610
647
|
return accum;
|
|
611
|
-
}, Promise.resolve([]))
|
|
612
|
-
.then((
|
|
613
|
-
|
|
648
|
+
}, Promise.resolve({ files: [], strings: [] }))
|
|
649
|
+
.then(({ files, strings }) => {
|
|
650
|
+
// writeFileAndCreateDir(`${featureDestination}`, JSON.stringify(strings));
|
|
651
|
+
fs_1.default.writeFileSync(`${destFolder}/featurePrompt.txt`, files
|
|
614
652
|
.map((f) => {
|
|
615
653
|
return `/read ${f}`;
|
|
616
654
|
})
|
|
@@ -624,6 +662,33 @@ class PM_Main extends index_js_1.PM {
|
|
|
624
662
|
this.configs.ports.forEach((element) => {
|
|
625
663
|
this.ports[element] = "true"; // set ports as open
|
|
626
664
|
});
|
|
665
|
+
globalThis["waitForSelector"] = async (pageKey, sel) => {
|
|
666
|
+
console.log("waitForSelector", pageKey, sel);
|
|
667
|
+
const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
|
|
668
|
+
await (page === null || page === void 0 ? void 0 : page.waitForSelector(sel));
|
|
669
|
+
};
|
|
670
|
+
globalThis["screencastStop"] = async (path) => {
|
|
671
|
+
return recorders[path].stop();
|
|
672
|
+
};
|
|
673
|
+
globalThis["closePage"] = async (pageKey) => {
|
|
674
|
+
const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
|
|
675
|
+
return page.close();
|
|
676
|
+
};
|
|
677
|
+
// globalThis["closePage"] = (p) => {
|
|
678
|
+
// console.log("closePage", p);
|
|
679
|
+
// return p.close();
|
|
680
|
+
// };
|
|
681
|
+
globalThis["goto"] = async (pageKey, url) => {
|
|
682
|
+
const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
|
|
683
|
+
await (page === null || page === void 0 ? void 0 : page.goto(url));
|
|
684
|
+
return;
|
|
685
|
+
};
|
|
686
|
+
globalThis["newPage"] = () => {
|
|
687
|
+
return this.browser.newPage();
|
|
688
|
+
};
|
|
689
|
+
globalThis["pages"] = () => {
|
|
690
|
+
return this.browser.pages();
|
|
691
|
+
};
|
|
627
692
|
globalThis["mkdirSync"] = (fp) => {
|
|
628
693
|
if (!fs_1.default.existsSync(fp)) {
|
|
629
694
|
return fs_1.default.mkdirSync(fp, {
|
|
@@ -663,7 +728,31 @@ class PM_Main extends index_js_1.PM {
|
|
|
663
728
|
globalThis["end"] = (uid) => {
|
|
664
729
|
fileStreams3[uid].end();
|
|
665
730
|
};
|
|
666
|
-
|
|
731
|
+
// async (ssOpts: ScreenshotOptions, testName: string) => {
|
|
732
|
+
// const p = ssOpts.path as string;
|
|
733
|
+
// const dir = path.dirname(p);
|
|
734
|
+
// fs.mkdirSync(dir, {
|
|
735
|
+
// recursive: true,
|
|
736
|
+
// });
|
|
737
|
+
// if (!files[testName]) {
|
|
738
|
+
// files[testName] = new Set();
|
|
739
|
+
// }
|
|
740
|
+
// files[testName].add(ssOpts.path as string);
|
|
741
|
+
// const sPromise = page.screenshot({
|
|
742
|
+
// ...ssOpts,
|
|
743
|
+
// path: p,
|
|
744
|
+
// });
|
|
745
|
+
// if (!screenshots[testName]) {
|
|
746
|
+
// screenshots[testName] = [];
|
|
747
|
+
// }
|
|
748
|
+
// screenshots[testName].push(sPromise);
|
|
749
|
+
// // sPromise.then(())
|
|
750
|
+
// await sPromise;
|
|
751
|
+
// return sPromise;
|
|
752
|
+
// // page.evaluate(`window["screenshot done"]`);
|
|
753
|
+
// };
|
|
754
|
+
globalThis["customScreenShot"] = async (opts, pageKey, testName) => {
|
|
755
|
+
const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
|
|
667
756
|
const p = opts.path;
|
|
668
757
|
const dir = path_1.default.dirname(p);
|
|
669
758
|
fs_1.default.mkdirSync(dir, {
|
|
@@ -681,6 +770,17 @@ class PM_Main extends index_js_1.PM {
|
|
|
681
770
|
await sPromise;
|
|
682
771
|
return sPromise;
|
|
683
772
|
};
|
|
773
|
+
globalThis["screencast"] = async (opts, pageKey) => {
|
|
774
|
+
const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
|
|
775
|
+
const p = opts.path;
|
|
776
|
+
const dir = path_1.default.dirname(p);
|
|
777
|
+
fs_1.default.mkdirSync(dir, {
|
|
778
|
+
recursive: true,
|
|
779
|
+
});
|
|
780
|
+
const recorder = await (page === null || page === void 0 ? void 0 : page.screencast(Object.assign(Object.assign({}, opts), { path: p })));
|
|
781
|
+
recorders[opts.path] = recorder;
|
|
782
|
+
return opts.path;
|
|
783
|
+
};
|
|
684
784
|
// globalThis["customclose"] = (p: string, testName: string) => {
|
|
685
785
|
// if (!files[testName]) {
|
|
686
786
|
// files[testName] = new Set();
|
|
@@ -692,13 +792,28 @@ class PM_Main extends index_js_1.PM {
|
|
|
692
792
|
// delete files[testName];
|
|
693
793
|
// };
|
|
694
794
|
}
|
|
795
|
+
customclose() {
|
|
796
|
+
throw new Error("Method not implemented.");
|
|
797
|
+
}
|
|
798
|
+
waitForSelector(p, s) {
|
|
799
|
+
throw new Error("Method not implemented.");
|
|
800
|
+
}
|
|
801
|
+
closePage(p) {
|
|
802
|
+
throw new Error("Method not implemented.");
|
|
803
|
+
}
|
|
804
|
+
newPage() {
|
|
805
|
+
throw new Error("Method not implemented.");
|
|
806
|
+
}
|
|
807
|
+
goto(p, url) {
|
|
808
|
+
throw new Error("Method not implemented.");
|
|
809
|
+
}
|
|
695
810
|
$(selector) {
|
|
696
811
|
throw new Error("Method not implemented.");
|
|
697
812
|
}
|
|
698
813
|
screencast(opts) {
|
|
699
814
|
throw new Error("Method not implemented.");
|
|
700
815
|
}
|
|
701
|
-
customScreenShot(opts) {
|
|
816
|
+
customScreenShot(opts, cdpPage) {
|
|
702
817
|
throw new Error("Method not implemented.");
|
|
703
818
|
}
|
|
704
819
|
end(accessObject) {
|
|
@@ -783,6 +898,9 @@ class PM_Main extends index_js_1.PM {
|
|
|
783
898
|
isDisabled(selector) {
|
|
784
899
|
throw new Error("Method not implemented.");
|
|
785
900
|
}
|
|
901
|
+
screencastStop(s) {
|
|
902
|
+
throw new Error("Method not implemented.");
|
|
903
|
+
}
|
|
786
904
|
////////////////////////////////////////////////////////////////////////////////
|
|
787
905
|
async startPuppeteer(options, destfolder) {
|
|
788
906
|
this.browser = (await puppeteer_core_1.default.launch(options));
|
|
@@ -799,7 +917,7 @@ async function writeFileAndCreateDir(filePath, data) {
|
|
|
799
917
|
const dirPath = path_1.default.dirname(filePath);
|
|
800
918
|
try {
|
|
801
919
|
await fs_1.default.promises.mkdir(dirPath, { recursive: true });
|
|
802
|
-
await fs_1.default.
|
|
920
|
+
await fs_1.default.appendFileSync(filePath, data);
|
|
803
921
|
}
|
|
804
922
|
catch (error) {
|
|
805
923
|
console.error(`Error writing file: ${error}`);
|
|
@@ -14,10 +14,19 @@ class PM_Node extends index_js_1.PM {
|
|
|
14
14
|
this.server = {};
|
|
15
15
|
this.testResourceConfiguration = t;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
waitForSelector(p, s) {
|
|
18
|
+
return globalThis["waitForSelector"](p, s);
|
|
19
|
+
}
|
|
20
|
+
closePage(p) {
|
|
21
|
+
return globalThis["closePage"](p);
|
|
22
|
+
}
|
|
23
|
+
goto(cdpPage, url) {
|
|
24
|
+
return globalThis["goto"](cdpPage.mainFrame()._id, url);
|
|
19
25
|
}
|
|
20
|
-
|
|
26
|
+
newPage() {
|
|
27
|
+
return globalThis["newPage"]();
|
|
28
|
+
}
|
|
29
|
+
$(selector) {
|
|
21
30
|
throw new Error("Method not implemented.");
|
|
22
31
|
}
|
|
23
32
|
isDisabled(selector) {
|
|
@@ -41,8 +50,14 @@ class PM_Node extends index_js_1.PM {
|
|
|
41
50
|
click(selector) {
|
|
42
51
|
return globalThis["click"](selector);
|
|
43
52
|
}
|
|
44
|
-
|
|
45
|
-
return globalThis["
|
|
53
|
+
screencast(opts, page) {
|
|
54
|
+
return globalThis["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), page.mainFrame()._id, this.testResourceConfiguration.name);
|
|
55
|
+
}
|
|
56
|
+
screencastStop(p) {
|
|
57
|
+
return globalThis["screencastStop"](p);
|
|
58
|
+
}
|
|
59
|
+
customScreenShot(opts, cdpPage) {
|
|
60
|
+
return globalThis["customScreenShot"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), cdpPage.mainFrame()._id, this.testResourceConfiguration.name);
|
|
46
61
|
}
|
|
47
62
|
existsSync(destFolder) {
|
|
48
63
|
return globalThis["existsSync"](this.testResourceConfiguration.fs + "/" + destFolder);
|
|
@@ -8,11 +8,26 @@ class PM_Web extends index_js_1.PM {
|
|
|
8
8
|
this.server = {};
|
|
9
9
|
this.testResourceConfiguration = t;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
return window["
|
|
11
|
+
waitForSelector(p, s) {
|
|
12
|
+
return window["waitForSelector"](p, s);
|
|
13
13
|
}
|
|
14
14
|
screencast(opts) {
|
|
15
|
-
|
|
15
|
+
return window["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), this.testResourceConfiguration.name);
|
|
16
|
+
}
|
|
17
|
+
screencastStop(recorder) {
|
|
18
|
+
return window["screencastStop"](recorder);
|
|
19
|
+
}
|
|
20
|
+
closePage(p) {
|
|
21
|
+
return window["closePage"](p);
|
|
22
|
+
}
|
|
23
|
+
goto(p, url) {
|
|
24
|
+
return window["goto"](p, url);
|
|
25
|
+
}
|
|
26
|
+
newPage() {
|
|
27
|
+
return window["newPage"]();
|
|
28
|
+
}
|
|
29
|
+
$(selector) {
|
|
30
|
+
return window["$"](selector);
|
|
16
31
|
}
|
|
17
32
|
isDisabled(selector) {
|
|
18
33
|
return window["isDisabled"](selector);
|
|
@@ -41,7 +56,7 @@ class PM_Web extends index_js_1.PM {
|
|
|
41
56
|
existsSync(destFolder) {
|
|
42
57
|
return window["existsSync"](destFolder);
|
|
43
58
|
}
|
|
44
|
-
mkdirSync() {
|
|
59
|
+
mkdirSync(x) {
|
|
45
60
|
return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
|
|
46
61
|
}
|
|
47
62
|
write(writeObject, contents) {
|
|
@@ -6,10 +6,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const Node_js_1 = __importDefault(require("../../../Node.js"));
|
|
7
7
|
const index_js_1 = require("./index.js");
|
|
8
8
|
exports.default = (testImplementations, testSpecifications, testInput, testInterface = index_js_1.testInterface) => {
|
|
9
|
-
return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, testInterface
|
|
10
|
-
// {
|
|
11
|
-
// ...baseInterface,
|
|
12
|
-
// ...testInterface,
|
|
13
|
-
// }
|
|
14
|
-
);
|
|
9
|
+
return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, testInterface);
|
|
15
10
|
};
|