@samsara-dev/appwright 0.12.0 → 0.13.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/CHANGELOG.md +14 -0
- package/dist/device/index.d.ts +7 -0
- package/dist/device/index.d.ts.map +1 -1
- package/dist/device/index.js +9 -0
- package/dist/gptDriver/index.d.ts +23 -0
- package/dist/gptDriver/index.d.ts.map +1 -1
- package/dist/gptDriver/index.js +43 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# appwright
|
|
2
2
|
|
|
3
|
+
## 0.13.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d318ac5: Add `gptDriver.setTestId()` for explicit session attribution
|
|
8
|
+
|
|
9
|
+
Worker-scoped fixtures (e.g. login) previously inherited the testId from
|
|
10
|
+
whichever Playwright test triggered the worker first, causing MobileBoost
|
|
11
|
+
sessions to be mis-attributed. `setTestId(id)` lets callers tag these
|
|
12
|
+
shared sessions with a descriptive ID (e.g. "worker-login-setup").
|
|
13
|
+
|
|
14
|
+
The override takes priority over `testIdFormat` and `test.info().testId`,
|
|
15
|
+
and is cleared automatically on `reset()`.
|
|
16
|
+
|
|
3
17
|
## 0.12.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/dist/device/index.d.ts
CHANGED
|
@@ -100,6 +100,13 @@ export declare class Device {
|
|
|
100
100
|
assertBulk: (conditions: string[]) => Promise<void>;
|
|
101
101
|
checkBulk: (conditions: string[]) => Promise<Record<string, boolean>>;
|
|
102
102
|
extract: (extractions: string[]) => Promise<Record<string, any>>;
|
|
103
|
+
/**
|
|
104
|
+
* Override the testId for the current GPT Driver session.
|
|
105
|
+
* Use in worker-scoped fixtures to tag shared sessions (e.g. login)
|
|
106
|
+
* with a descriptive ID instead of inheriting a random test's ID.
|
|
107
|
+
* Cleared automatically on reset().
|
|
108
|
+
*/
|
|
109
|
+
setTestId: (testId: string) => void;
|
|
103
110
|
/**
|
|
104
111
|
* Reset the GPT Driver session so the next call creates a fresh instance.
|
|
105
112
|
* Call between tests in persistent device fixtures for per-test isolation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/device/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,cAAc,CAAC;AAIxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,qBAAa,MAAM;IASf,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,gBAAgB,CAAC;IAd3B,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAAkC;gBAGlD,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,cAAc,EAC/B,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC7B,gBAAgB,CAAC,EAAE,eAAe,YAAA;IAM5C,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIpD,0BAA0B,IAAI,IAAI;IAIlC;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB/D,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,aAAa;YAQP,QAAQ;IAetB;;OAEG;IACH,qBAAqB,CACnB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,iBAAiB,GACzB,IAAI;IAQP;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,OAAO,CAAC,EACN,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC/B,GAAG,gBAAgB;IAWpB,OAAO,CAAC,MAAM;IAId,IAAI;sBAEQ,MAAM,YACJ;YACR,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,SAAS,CAAC,EAAE;gBACV,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;aACjB,CAAC;SACH,KACA,OAAO,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;gBAItB,CAAC,SAAS,CAAC,CAAC,OAAO,UACvB,MAAM,YACJ;YACR,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,KAAK,CAAC,EAAE,QAAQ,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE;gBACV,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;aACjB,CAAC;SACH,KACA,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;MAG1B;IAEF,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS;iCAEQ,MAAM,YACT,gBAAgB,KACzB,OAAO,CAAC,IAAI,CAAC;4BAGU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;iCAGjB,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;gCAIzC,MAAM,EAAE,KACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;+BAGN,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAGpE;;;WAGG;qBACQ,IAAI;MAGf;IAEF;;;;;;;OAOG;IACG,KAAK;IA0BX;;;;;;;;;;;OAWG;IAEG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAoB5C;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,EAAE,KAAa,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAC1C,gBAAgB;IAsCnB;;;;;;;;;;;;OAYG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,EAAE,KAAa,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAC1C,gBAAgB;IAiBnB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAS1C,OAAO,CAAC,iBAAiB;IAczB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAI3C;;;;;;;;;OASG;IACH,WAAW,IAAI,QAAQ;IAMjB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM;IAc9B,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM;IAanC;;;;;;;;;;;;;;;;;OAiBG;IAEG,aAAa,CAAC,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD;;;;;;;;;;;;;;;;OAgBG;IAEG,oBAAoB,CAAC,OAAO,EAAE;QAClC,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjB;;;;;;;;;;OAUG;IAEG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAqBzC;;;;;;;;;;;OAWG;IAEG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnD,KAAK;IAkBL,cAAc,CAAC,OAAO,EAAE,MAAM;IAIpC;;OAEG;IAEG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAI5C;;OAEG;IAEG,aAAa,IAAI,OAAO,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAIF;;OAEG;IAEG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;;;;;OAUG;IAEG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7B;;;OAGG;IAEG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlD;;;;;;;;;;;;;;;;;OAiBG;IAEU,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE;;;;;;;;;;;;;OAaG;IAEU,wBAAwB,CACnC,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAIhB,eAAe;IACf,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAe9B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/device/index.ts"],"names":[],"mappings":"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"}
|
package/dist/device/index.js
CHANGED
|
@@ -282,6 +282,15 @@ let Device = (() => {
|
|
|
282
282
|
extract: async (extractions) => {
|
|
283
283
|
return await this.gptDriverProvider().extract(extractions);
|
|
284
284
|
},
|
|
285
|
+
/**
|
|
286
|
+
* Override the testId for the current GPT Driver session.
|
|
287
|
+
* Use in worker-scoped fixtures to tag shared sessions (e.g. login)
|
|
288
|
+
* with a descriptive ID instead of inheriting a random test's ID.
|
|
289
|
+
* Cleared automatically on reset().
|
|
290
|
+
*/
|
|
291
|
+
setTestId: (testId) => {
|
|
292
|
+
this.gptDriverProvider().setTestId(testId);
|
|
293
|
+
},
|
|
285
294
|
/**
|
|
286
295
|
* Reset the GPT Driver session so the next call creates a fresh instance.
|
|
287
296
|
* Call between tests in persistent device fixtures for per-test isolation.
|
|
@@ -27,6 +27,10 @@ export interface GptDriverApi {
|
|
|
27
27
|
setSessionSucceeded(): Promise<void>;
|
|
28
28
|
/** Mark the MobileBoost session as failed. Call after test fails. */
|
|
29
29
|
setSessionFailed(): Promise<void>;
|
|
30
|
+
/** Override the testId for the current GPT Driver session. */
|
|
31
|
+
setTestId(testId: string): void;
|
|
32
|
+
/** Reset the GPT Driver session so the next call creates a fresh instance. */
|
|
33
|
+
reset(): void;
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
32
36
|
* GptDriverProvider wraps the gpt-driver-node SDK for AI-powered test automation.
|
|
@@ -43,6 +47,7 @@ export declare class GptDriverProvider implements GptDriverApi {
|
|
|
43
47
|
private options?;
|
|
44
48
|
private driver;
|
|
45
49
|
private testIdWarned;
|
|
50
|
+
private testIdOverride?;
|
|
46
51
|
constructor(webDriverClient: WebDriverClient, options?: GptDriverConfig | undefined);
|
|
47
52
|
/**
|
|
48
53
|
* Reset the underlying GptDriver instance so the next call creates a fresh
|
|
@@ -52,6 +57,24 @@ export declare class GptDriverProvider implements GptDriverApi {
|
|
|
52
57
|
* without recreating the Device or WebDriver connection.
|
|
53
58
|
*/
|
|
54
59
|
reset(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Override the testId used for the next GPT Driver session.
|
|
62
|
+
*
|
|
63
|
+
* When set, this value takes priority over both `testIdFormat` and
|
|
64
|
+
* Playwright's `testInfo.testId`. Cleared on `reset()` so each test
|
|
65
|
+
* can set its own override independently.
|
|
66
|
+
*
|
|
67
|
+
* Typical use: tag a worker-scoped login fixture with a descriptive ID
|
|
68
|
+
* (e.g. "worker-login-setup") so MobileBoost sessions aren't
|
|
69
|
+
* mis-attributed to whichever test triggered the worker first.
|
|
70
|
+
*/
|
|
71
|
+
setTestId(testId: string): void;
|
|
72
|
+
/**
|
|
73
|
+
* Mutate the underlying gpt-driver-node testId at runtime.
|
|
74
|
+
* gpt-driver-node declares testId as private in TS but it's a plain
|
|
75
|
+
* JS property at runtime — safe to mutate directly.
|
|
76
|
+
*/
|
|
77
|
+
private applyDriverTestId;
|
|
55
78
|
/**
|
|
56
79
|
* Resolve the testId for the current test context.
|
|
57
80
|
* Uses the custom testIdFormat callback if configured, otherwise falls back
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gptDriver/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,UAAU,CAAC;AAK5D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,yEAAyE;IACzE,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,qEAAqE;IACrE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gptDriver/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,UAAU,CAAC;AAK5D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,yEAAyE;IACzE,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,qEAAqE;IACrE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,8DAA8D;IAC9D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAMlD,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO,CAAC;IANlB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;gBAGtB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,eAAe,YAAA;IAGnC;;;;;;OAMG;IACH,KAAK,IAAI,IAAI;IAMb;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,SAAS;IA6BjB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,aAAa;IAMf,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;IAgBV,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAajE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAY5D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYpC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAWxC"}
|
package/dist/gptDriver/index.js
CHANGED
|
@@ -79,6 +79,7 @@ let GptDriverProvider = (() => {
|
|
|
79
79
|
options;
|
|
80
80
|
driver = null;
|
|
81
81
|
testIdWarned = false;
|
|
82
|
+
testIdOverride;
|
|
82
83
|
constructor(webDriverClient, options) {
|
|
83
84
|
this.webDriverClient = webDriverClient;
|
|
84
85
|
this.options = options;
|
|
@@ -93,6 +94,34 @@ let GptDriverProvider = (() => {
|
|
|
93
94
|
reset() {
|
|
94
95
|
this.driver = null;
|
|
95
96
|
this.testIdWarned = false;
|
|
97
|
+
this.testIdOverride = undefined;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Override the testId used for the next GPT Driver session.
|
|
101
|
+
*
|
|
102
|
+
* When set, this value takes priority over both `testIdFormat` and
|
|
103
|
+
* Playwright's `testInfo.testId`. Cleared on `reset()` so each test
|
|
104
|
+
* can set its own override independently.
|
|
105
|
+
*
|
|
106
|
+
* Typical use: tag a worker-scoped login fixture with a descriptive ID
|
|
107
|
+
* (e.g. "worker-login-setup") so MobileBoost sessions aren't
|
|
108
|
+
* mis-attributed to whichever test triggered the worker first.
|
|
109
|
+
*/
|
|
110
|
+
setTestId(testId) {
|
|
111
|
+
this.testIdOverride = testId;
|
|
112
|
+
this.applyDriverTestId(testId);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Mutate the underlying gpt-driver-node testId at runtime.
|
|
116
|
+
* gpt-driver-node declares testId as private in TS but it's a plain
|
|
117
|
+
* JS property at runtime — safe to mutate directly.
|
|
118
|
+
*/
|
|
119
|
+
applyDriverTestId(testId) {
|
|
120
|
+
if (this.driver && "testId" in this.driver) {
|
|
121
|
+
this.driver.testId = testId;
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
96
125
|
}
|
|
97
126
|
/**
|
|
98
127
|
* Resolve the testId for the current test context.
|
|
@@ -131,7 +160,9 @@ let GptDriverProvider = (() => {
|
|
|
131
160
|
driver: this.webDriverClient,
|
|
132
161
|
serverConfig: { url: this.getAppiumUrl() },
|
|
133
162
|
cachingMode: "INTERACTION_REGION",
|
|
134
|
-
testId: this.
|
|
163
|
+
testId: this.testIdOverride ??
|
|
164
|
+
this.resolveTestId(test_1.default.info()) ??
|
|
165
|
+
`test-${Date.now()}`,
|
|
135
166
|
...(this.options?.additionalUserContext != null && {
|
|
136
167
|
additionalUserContext: this.options.additionalUserContext,
|
|
137
168
|
}),
|
|
@@ -147,18 +178,17 @@ let GptDriverProvider = (() => {
|
|
|
147
178
|
}
|
|
148
179
|
// Update testId to current test context so persistent device fixtures
|
|
149
180
|
// report the correct test in GPT Driver API calls.
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
this.testIdWarned = true;
|
|
181
|
+
// Skip when a manual override is active — the caller owns the testId.
|
|
182
|
+
if (!this.testIdOverride) {
|
|
183
|
+
const currentTestId = this.resolveTestId(test_1.default.info());
|
|
184
|
+
if (currentTestId) {
|
|
185
|
+
if (!this.applyDriverTestId(currentTestId) && !this.testIdWarned) {
|
|
186
|
+
console.warn("[GptDriver] Cannot update testId — property not found on driver instance. " +
|
|
187
|
+
"GPT Driver sessions may be attributed to the wrong test. " +
|
|
188
|
+
"Check if gpt-driver-node renamed or removed the testId field.");
|
|
189
|
+
this.testIdWarned = true;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
162
192
|
}
|
|
163
193
|
return driver;
|
|
164
194
|
}
|