@cotestdev/ai-runner-fake 0.0.10 → 0.0.12
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/runner.d.ts +1 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +11 -3
- package/dist/runner.js.map +1 -1
- package/package.json +4 -1
- package/src/runner.ts +12 -4
package/dist/runner.d.ts
CHANGED
|
@@ -20,5 +20,6 @@ export declare class Runner {
|
|
|
20
20
|
private loadTestScript;
|
|
21
21
|
runScript(testId: string, script: string): Promise<Record<string, unknown>>;
|
|
22
22
|
reuseTest(useTestCaseId: string, description?: string): Promise<Record<string, unknown>>;
|
|
23
|
+
private log;
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=runner.d.ts.map
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAYA,qBAAa,MAAM;IACjB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO;IAMP,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,GAAG,MAAM;IAK1F,IAAI;IAIJ,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIzC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAYA,qBAAa,MAAM;IACjB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO;IAMP,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,GAAG,MAAM;IAK1F,IAAI;IAIJ,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIzC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAW1D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAQrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IASzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIjC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI5C,OAAO,CAAC,cAAc;IAKhB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAwB3E,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAS9F,OAAO,CAAC,GAAG;CAGZ"}
|
package/dist/runner.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.Runner = void 0;
|
|
|
4
4
|
const path_1 = require("path");
|
|
5
5
|
const os_1 = require("os");
|
|
6
6
|
const fs_1 = require("fs");
|
|
7
|
+
const test_1 = require("@playwright/test");
|
|
7
8
|
class Runner {
|
|
8
9
|
constructor(projectId, testCaseId) {
|
|
9
10
|
this.exteralContext = {};
|
|
@@ -31,9 +32,12 @@ class Runner {
|
|
|
31
32
|
}
|
|
32
33
|
async runStep(description, fn) {
|
|
33
34
|
try {
|
|
35
|
+
this.log(`Starting step: ${description}`);
|
|
34
36
|
await fn();
|
|
37
|
+
this.log(`Step successful: ${description}`);
|
|
35
38
|
}
|
|
36
39
|
catch (error) {
|
|
40
|
+
this.log(`Step failed: ${description}, error: ${error}`);
|
|
37
41
|
throw error;
|
|
38
42
|
}
|
|
39
43
|
}
|
|
@@ -73,18 +77,19 @@ class Runner {
|
|
|
73
77
|
async runScript(testId, script) {
|
|
74
78
|
const reuseRunner = Runner.NewInstance(this.projectId, testId);
|
|
75
79
|
await reuseRunner.init(this.state.page, this.state.context, { ...this.getAll() });
|
|
76
|
-
|
|
80
|
+
this.log(`Starting to execute reusable test case: ${testId}`);
|
|
77
81
|
try {
|
|
78
82
|
const executeScript = new Function('runner', 'page', 'context', 'expect', ...Object.keys(this.exteralContext), `
|
|
79
83
|
return (async () => {
|
|
80
84
|
${script}
|
|
81
85
|
})();
|
|
82
86
|
`);
|
|
83
|
-
await executeScript(reuseRunner, this.state.page, this.state.context, ...Object.values(this.exteralContext));
|
|
84
|
-
|
|
87
|
+
await executeScript(reuseRunner, this.state.page, this.state.context, test_1.expect, ...Object.values(this.exteralContext));
|
|
88
|
+
this.log(`Reusable test case executed successfully`);
|
|
85
89
|
return { ...reuseRunner.state?.variables || {} };
|
|
86
90
|
}
|
|
87
91
|
catch (error) {
|
|
92
|
+
this.log(`reuseTest execution failed, error: ${error}`);
|
|
88
93
|
throw new Error(`reuseTest execution failed, error: ${error instanceof Error ? error.message : String(error)}`);
|
|
89
94
|
}
|
|
90
95
|
}
|
|
@@ -95,6 +100,9 @@ class Runner {
|
|
|
95
100
|
}
|
|
96
101
|
return this.runScript(useTestCaseId, scriptContent);
|
|
97
102
|
}
|
|
103
|
+
log(msg, ...other) {
|
|
104
|
+
console.log(`[Runner] ${msg}`, ...other);
|
|
105
|
+
}
|
|
98
106
|
}
|
|
99
107
|
exports.Runner = Runner;
|
|
100
108
|
//# sourceMappingURL=runner.js.map
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,2BAA6B;AAC7B,2BAAkC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,2BAA6B;AAC7B,2BAAkC;AAClC,2CAA0C;AAS1C,MAAa,MAAM;IAOjB,YAAoB,SAAiB,EAAE,UAAkB;QAFjD,mBAAc,GAAwB,EAAE,CAAC;QAG/C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAiB,EAAE,UAAkB,EAAE,UAAmB,IAAI;QAC/E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,kBAAkB,CAAC,OAA4B;QAC7C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAS,EAAE,OAAY,EAAE,IAA0B;QAC5D,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,IAAI,IAAI,EAAE;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,EAAuB;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,gBAAgB,WAAW,YAAY,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,IAAI,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO,OAAO,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,KAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,KAAM,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,KAAM,CAAC,SAAS,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,SAA8B;QACnC,IAAI,CAAC,KAAM,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,KAAM,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;IACrE,CAAC;IAEO,cAAc,CAAC,UAAkB;QACvC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC;QAC5G,OAAO,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAc;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAM,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,GAAG,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;;YAEzG,MAAM;;OAEX,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,KAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAM,CAAC,OAAO,EAAE,aAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAEvH,IAAI,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAErD,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,WAAoB;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,aAAa,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAEO,GAAG,CAAC,GAAW,EAAE,GAAG,KAAU;QACpC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;CACF;AA5HD,wBA4HC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotestdev/ai-runner-fake",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "AI-powered self-healing SDK for Playwright test scripts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,5 +27,8 @@
|
|
|
27
27
|
"@types/node": "^25.0.10",
|
|
28
28
|
"ts-node": "^10.9.2",
|
|
29
29
|
"typescript": "^5.0.0"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@playwright/test": "^1.58.1"
|
|
30
33
|
}
|
|
31
34
|
}
|
package/src/runner.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { join } from 'path';
|
|
2
2
|
import { homedir } from 'os';
|
|
3
3
|
import { readFileSync } from 'fs';
|
|
4
|
-
|
|
4
|
+
import { expect } from '@playwright/test';
|
|
5
5
|
|
|
6
6
|
interface State {
|
|
7
7
|
context: any;
|
|
@@ -47,8 +47,11 @@ export class Runner {
|
|
|
47
47
|
|
|
48
48
|
async runStep(description: string, fn: () => Promise<void>) {
|
|
49
49
|
try {
|
|
50
|
+
this.log(`Starting step: ${description}`);
|
|
50
51
|
await fn();
|
|
52
|
+
this.log(`Step successful: ${description}`);
|
|
51
53
|
} catch (error) {
|
|
54
|
+
this.log(`Step failed: ${description}, error: ${error}`);
|
|
52
55
|
throw error;
|
|
53
56
|
}
|
|
54
57
|
}
|
|
@@ -99,7 +102,7 @@ export class Runner {
|
|
|
99
102
|
const reuseRunner = Runner.NewInstance(this.projectId, testId);
|
|
100
103
|
await reuseRunner.init(this.state!.page, this.state!.context, { ...this.getAll() });
|
|
101
104
|
|
|
102
|
-
|
|
105
|
+
this.log(`Starting to execute reusable test case: ${testId}`);
|
|
103
106
|
|
|
104
107
|
try {
|
|
105
108
|
const executeScript = new Function('runner', 'page', 'context', 'expect', ...Object.keys(this.exteralContext), `
|
|
@@ -108,12 +111,13 @@ export class Runner {
|
|
|
108
111
|
})();
|
|
109
112
|
`);
|
|
110
113
|
|
|
111
|
-
await executeScript(reuseRunner, this.state!.page, this.state!.context, ...Object.values(this.exteralContext));
|
|
114
|
+
await executeScript(reuseRunner, this.state!.page, this.state!.context, expect, ...Object.values(this.exteralContext));
|
|
112
115
|
|
|
113
|
-
|
|
116
|
+
this.log(`Reusable test case executed successfully`);
|
|
114
117
|
|
|
115
118
|
return { ...reuseRunner.state?.variables || {} };
|
|
116
119
|
} catch (error) {
|
|
120
|
+
this.log(`reuseTest execution failed, error: ${error}`);
|
|
117
121
|
throw new Error(`reuseTest execution failed, error: ${error instanceof Error ? error.message : String(error)}`);
|
|
118
122
|
}
|
|
119
123
|
}
|
|
@@ -126,4 +130,8 @@ export class Runner {
|
|
|
126
130
|
|
|
127
131
|
return this.runScript(useTestCaseId, scriptContent);
|
|
128
132
|
}
|
|
133
|
+
|
|
134
|
+
private log(msg: string, ...other: any) {
|
|
135
|
+
console.log(`[Runner] ${msg}`, ...other);
|
|
136
|
+
}
|
|
129
137
|
}
|