@testchimp/playwright 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/mobile-screen-transport-resync.d.ts.map +1 -1
- package/dist/mobile-screen-transport-resync.js +0 -5
- package/dist/mobile-screen-transport-resync.js.map +1 -1
- package/dist/rum-automation-mobile.d.ts +5 -2
- package/dist/rum-automation-mobile.d.ts.map +1 -1
- package/dist/rum-automation-mobile.js +9 -15
- package/dist/rum-automation-mobile.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -184,7 +184,7 @@ Retries are tracked; with `reportOnlyFinalAttempt: true` only the last attempt i
|
|
|
184
184
|
- **RUM events not linked to tests / missing `ci_test_info` (mobile)**
|
|
185
185
|
Use `export const test = installTestChimp(base, { uiFixture: 'screen' })` from a Mobilewright fixtures barrel and import `test` from there. Set `use.platform` on Mobilewright projects and handle `testchimp-rum://truecoverage/...` in the app (`TestChimpRum.handleAutomationURL` on iOS, `TestChimpRum.handleAutomationUri` on Android).
|
|
186
186
|
**Android SDK:** use **testchimp-rum-android ≥ 0.1.7** (automation **`/v1/set`** on caller thread; **`/v1/flush`** drains buffered events when the runner opens that URL).
|
|
187
|
-
**Runner:** `installTestChimp` extends the **`device`** fixture so **`
|
|
187
|
+
**Runner:** `installTestChimp(..., { uiFixture: 'screen' })` extends the **`device`** fixture so one **`v1/set`** runs right after Mobilewright’s **`launchApp`** (before **`screen`**), then settle (**`TESTCHIMP_RUM_AUTOMATION_POST_SET_SETTLE_MS`**, default **100** ms). **`afterEach`** (mobile projects only) sends a trailing **`set` + `v1/flush`**. **Does not** send `/v1/clear` between tests by default (avoids null `ci-test-info`). Opt in to legacy clear-first with **`TESTCHIMP_RUM_AUTOMATION_CLEAR_BETWEEN_TESTS=1`**, or **`TESTCHIMP_RUM_AUTOMATION_SUITE_TEARDOWN_CLEAR=1`** for `afterAll` `clear`+`flush` after each spec file. **Re-sends `set` after likely transport failures** on `screen` API calls. Disable resync with **`TESTCHIMP_RUM_TRANSPORT_RESYNC=0`**. Optional URL overrides: **`TESTCHIMP_RUM_AUTOMATION_FLUSH_URL`**. If **`device.openUrl`** wedges (mobilecli), set **`TESTCHIMP_RUM_AUTOMATION_OPEN_URL_TIMEOUT_MS`** (default **25000**, clamp **100–120000**). Use **`@testchimp/playwright` ≥ 0.2.3** (restores 0.1.43 device SET behaviour; 0.2.0–0.2.2 could skip SET when `platformFromTestInfo` was `web` at fixture time).
|
|
188
188
|
|
|
189
189
|
- **RUM events not linked to tests (web)**
|
|
190
190
|
Same `installTestChimp` barrel; web uses `__TC_CI_TEST_INFO` on `page` for `@testchimp/rum-js`.
|
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export { TestChimpApiClient } from './api-client';
|
|
|
37
37
|
export * from './types';
|
|
38
38
|
export * from './utils';
|
|
39
39
|
export { buildCiTestInfoJson, buildCiTestInfoObject, type CiTestInfo, type TestInfoForCi } from './ci-test-info';
|
|
40
|
-
export { attachMobileRumAutomationHooks, buildAutomationSetOpenUrl, clearBetweenTestsEnabled, suiteTeardownClearEnabled, extendMobileTestWithTrueCoverageDevice, getMobileRumAutomationUrls, isLikelyMobileTransportFailure, resyncTrueCoverageSetForCurrentTest, transportResyncDisabled, type MobileDeviceWorkerFixtures, type MobileRumAutomationUrls, } from './rum-automation-mobile';
|
|
40
|
+
export { attachMobileRumAutomationHooks, buildAutomationSetOpenUrl, clearBetweenTestsEnabled, suiteTeardownClearEnabled, extendMobileTestWithTrueCoverageDevice, getMobileRumAutomationUrls, isLikelyMobileTransportFailure, resyncTrueCoverageSetForCurrentTest, resolvePostSetSettleMs, transportResyncDisabled, type MobileDeviceWorkerFixtures, type MobileRumAutomationUrls, } from './rum-automation-mobile';
|
|
41
41
|
export { attachMobileScreenTransportResync, wrapScreenForTransportResync, } from './mobile-screen-transport-resync';
|
|
42
42
|
/** ExploreChimp / agents.proto JSON mirrors (camelCase). */
|
|
43
43
|
export type * from './explorechimp/agents-explorechimp-json';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,sCAAsC,EACtC,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,4DAA4D;AAC5D,mBAAmB,yCAAyC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,eAAe,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,sCAAsC,EACtC,0BAA0B,EAC1B,8BAA8B,EAC9B,mCAAmC,EACnC,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iCAAiC,EACjC,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,4DAA4D;AAC5D,mBAAmB,yCAAyC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,eAAe,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -48,7 +48,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
48
48
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
49
49
|
};
|
|
50
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.DataSourceEnum = exports.wrapScreenForTransportResync = exports.attachMobileScreenTransportResync = exports.transportResyncDisabled = exports.resyncTrueCoverageSetForCurrentTest = exports.isLikelyMobileTransportFailure = exports.getMobileRumAutomationUrls = exports.extendMobileTestWithTrueCoverageDevice = exports.suiteTeardownClearEnabled = exports.clearBetweenTestsEnabled = exports.buildAutomationSetOpenUrl = exports.attachMobileRumAutomationHooks = exports.buildCiTestInfoObject = exports.buildCiTestInfoJson = exports.TestChimpApiClient = exports.TestChimpReporter = void 0;
|
|
51
|
+
exports.DataSourceEnum = exports.wrapScreenForTransportResync = exports.attachMobileScreenTransportResync = exports.transportResyncDisabled = exports.resolvePostSetSettleMs = exports.resyncTrueCoverageSetForCurrentTest = exports.isLikelyMobileTransportFailure = exports.getMobileRumAutomationUrls = exports.extendMobileTestWithTrueCoverageDevice = exports.suiteTeardownClearEnabled = exports.clearBetweenTestsEnabled = exports.buildAutomationSetOpenUrl = exports.attachMobileRumAutomationHooks = exports.buildCiTestInfoObject = exports.buildCiTestInfoJson = exports.TestChimpApiClient = exports.TestChimpReporter = void 0;
|
|
52
52
|
var testchimp_reporter_1 = require("./testchimp-reporter");
|
|
53
53
|
Object.defineProperty(exports, "TestChimpReporter", { enumerable: true, get: function () { return testchimp_reporter_1.TestChimpReporter; } });
|
|
54
54
|
var api_client_1 = require("./api-client");
|
|
@@ -67,6 +67,7 @@ Object.defineProperty(exports, "extendMobileTestWithTrueCoverageDevice", { enume
|
|
|
67
67
|
Object.defineProperty(exports, "getMobileRumAutomationUrls", { enumerable: true, get: function () { return rum_automation_mobile_1.getMobileRumAutomationUrls; } });
|
|
68
68
|
Object.defineProperty(exports, "isLikelyMobileTransportFailure", { enumerable: true, get: function () { return rum_automation_mobile_1.isLikelyMobileTransportFailure; } });
|
|
69
69
|
Object.defineProperty(exports, "resyncTrueCoverageSetForCurrentTest", { enumerable: true, get: function () { return rum_automation_mobile_1.resyncTrueCoverageSetForCurrentTest; } });
|
|
70
|
+
Object.defineProperty(exports, "resolvePostSetSettleMs", { enumerable: true, get: function () { return rum_automation_mobile_1.resolvePostSetSettleMs; } });
|
|
70
71
|
Object.defineProperty(exports, "transportResyncDisabled", { enumerable: true, get: function () { return rum_automation_mobile_1.transportResyncDisabled; } });
|
|
71
72
|
var mobile_screen_transport_resync_1 = require("./mobile-screen-transport-resync");
|
|
72
73
|
Object.defineProperty(exports, "attachMobileScreenTransportResync", { enumerable: true, get: function () { return mobile_screen_transport_resync_1.attachMobileScreenTransportResync; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;;;;;;;;;;;;;;;AAEH,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,+CAAiH;AAAxG,mHAAA,mBAAmB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AACnD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;;;;;;;;;;;;;;;AAEH,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,+CAAiH;AAAxG,mHAAA,mBAAmB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AACnD,iEAaiC;AAZ/B,uIAAA,8BAA8B,OAAA;AAC9B,kIAAA,yBAAyB,OAAA;AACzB,iIAAA,wBAAwB,OAAA;AACxB,kIAAA,yBAAyB,OAAA;AACzB,+IAAA,sCAAsC,OAAA;AACtC,mIAAA,0BAA0B,OAAA;AAC1B,uIAAA,8BAA8B,OAAA;AAC9B,4IAAA,mCAAmC,OAAA;AACnC,+HAAA,sBAAsB,OAAA;AACtB,gIAAA,uBAAuB,OAAA;AAIzB,mFAG0C;AAFxC,mJAAA,iCAAiC,OAAA;AACjC,8IAAA,4BAA4B,OAAA;AAI9B,oFAAyE;AAAhE,0HAAA,cAAc,OAAA;AAEvB,uDAAuD;AACvD,6DAAyD;AACzD,kBAAe,sCAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-screen-transport-resync.d.ts","sourceRoot":"","sources":["../src/mobile-screen-transport-resync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mobile-screen-transport-resync.d.ts","sourceRoot":"","sources":["../src/mobile-screen-transport-resync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAmCF;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAmB9F;AAED;;GAEG;AAEH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAWpE"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.wrapScreenForTransportResync = wrapScreenForTransportResync;
|
|
4
4
|
exports.attachMobileScreenTransportResync = attachMobileScreenTransportResync;
|
|
5
|
-
const project_type_1 = require("./project-type");
|
|
6
5
|
const rum_automation_mobile_1 = require("./rum-automation-mobile");
|
|
7
6
|
function isThenable(v) {
|
|
8
7
|
return v != null && typeof v.then === 'function';
|
|
@@ -66,10 +65,6 @@ function attachMobileScreenTransportResync(testType) {
|
|
|
66
65
|
return testType.extend({
|
|
67
66
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
68
67
|
screen: async ({ screen, device }, use, testInfo) => {
|
|
69
|
-
if (!(0, project_type_1.isMobilePlatform)((0, project_type_1.platformFromTestInfo)(testInfo))) {
|
|
70
|
-
await use(screen);
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
68
|
const ctx = { device, testInfo };
|
|
74
69
|
await use(wrapScreenForTransportResync(screen, ctx));
|
|
75
70
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-screen-transport-resync.js","sourceRoot":"","sources":["../src/mobile-screen-transport-resync.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"mobile-screen-transport-resync.js","sourceRoot":"","sources":["../src/mobile-screen-transport-resync.ts"],"names":[],"mappings":";;AAiDA,oEAmBC;AAMD,8EAWC;AApFD,mEAKiC;AAOjC,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,CAAC,IAAI,IAAI,IAAI,OAAQ,CAAwB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAI,EAAoB,EAAE,GAAuB;IACpF,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAA,sDAA8B,EAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAyE,CAAC;QAC1F,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAA,2DAAmC,EACvC,GAAwD,EACxD,GAAG,CAAC,QAAQ,CACb,CAAC;YACF,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,2HAA2H,CAC5H,CAAC;QACJ,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7E,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAAC,MAAe,EAAE,GAAuB;IACnF,IAAI,IAAA,+CAAuB,GAAE,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,MAAgB,EAAE;QACjC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ;YACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC5B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAiC,EAAE,MAAgB,EAAE,IAAI,CAAC,CAAC;gBACrF,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,OAAO,sBAAsB,CAAC,GAAG,EAAE,CAAC,GAAuB,EAAE,GAAG,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,8DAA8D;AAC9D,SAAgB,iCAAiC,CAAC,QAAa;IAC7D,IAAI,IAAA,+CAAuB,GAAE,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrB,8DAA8D;QAC9D,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAyC,EAAE,GAAQ,EAAE,QAAuB,EAAE,EAAE;YAC7G,MAAM,GAAG,GAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC,4BAA4B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type TestInfoForCi } from './ci-test-info';
|
|
2
|
+
/** Optional pause (ms) after the last `set` so the app can process the VIEW intent before the next Playwright step. */
|
|
3
|
+
export declare function resolvePostSetSettleMs(): number;
|
|
2
4
|
export interface MobileRumAutomationUrls {
|
|
3
5
|
setUrlPrefix: string;
|
|
4
6
|
clearUrl: string;
|
|
@@ -46,7 +48,8 @@ export declare function buildAutomationSetOpenUrl(setUrlPrefix: string, ciJson:
|
|
|
46
48
|
/**
|
|
47
49
|
* Wrap Mobilewright `test` so TrueCoverage SET runs in the `device` fixture immediately after
|
|
48
50
|
* Mobilewright's own `launchApp`, before fixtures that depend on `device` (e.g. `screen`).
|
|
49
|
-
*
|
|
51
|
+
* Wired only from {@link installTrueCoverage} when `uiFixture: 'screen'`.
|
|
52
|
+
* No platform gate here (0.1.43 parity): SET runs whenever `device.openUrl` exists.
|
|
50
53
|
*/
|
|
51
54
|
export declare function extendMobileTestWithTrueCoverageDevice(test: any): any;
|
|
52
55
|
/**
|
|
@@ -57,7 +60,7 @@ export declare function resyncTrueCoverageSetForCurrentTest(device: MobileDevice
|
|
|
57
60
|
/**
|
|
58
61
|
* Register `afterEach` (and optionally `afterAll`) on the given Playwright `TestType` for mobile TrueCoverage.
|
|
59
62
|
* **SET + settle + optional `/v1/clear`** run in the extended `device` fixture from {@link extendMobileTestWithTrueCoverageDevice}
|
|
60
|
-
* (wired by `installTrueCoverage` when `
|
|
63
|
+
* (wired by `installTrueCoverage` when `uiFixture: 'screen'`).
|
|
61
64
|
*
|
|
62
65
|
* By default, **`/v1/clear` is not sent** between tests unless `TESTCHIMP_RUM_AUTOMATION_CLEAR_BETWEEN_TESTS=1`
|
|
63
66
|
* (handled in the device fixture). **`afterEach`:** trailing `SET` then `/v1/flush`. **`afterAll`:** only when
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rum-automation-mobile.d.ts","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"rum-automation-mobile.d.ts","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAazE,uHAAuH;AACvH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C;AAyBD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oHAAoH;AACpH,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACjD,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,0HAA0H;AAC1H,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAepE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAS1G;AA0DD;;;;;GAKG;AAEH,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAwBrE;AAED;;;GAGG;AACH,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAC5C,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED;;;;;;;;GAQG;AAEH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAyBjE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePostSetSettleMs = resolvePostSetSettleMs;
|
|
3
4
|
exports.transportResyncDisabled = transportResyncDisabled;
|
|
4
5
|
exports.clearBetweenTestsEnabled = clearBetweenTestsEnabled;
|
|
5
6
|
exports.suiteTeardownClearEnabled = suiteTeardownClearEnabled;
|
|
@@ -147,12 +148,6 @@ async function openUrlAutomationWithRetries(device, url) {
|
|
|
147
148
|
// eslint-disable-next-line no-console
|
|
148
149
|
console.warn(`[TestChimp] TrueCoverage device.openUrl failed after ${SET_OPEN_URL_MAX_ATTEMPTS} attempts (non-fatal): ${msg}`);
|
|
149
150
|
}
|
|
150
|
-
async function pushSetUrlRepeats(device, url, repeats) {
|
|
151
|
-
const total = Math.max(1, repeats);
|
|
152
|
-
for (let i = 0; i < total; i++) {
|
|
153
|
-
await openUrlAutomationWithRetries(device, url);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
151
|
let warnedMobileAutomationOnce = false;
|
|
157
152
|
async function pushTrueCoverageSetForCurrentTest(device, testInfo, setUrlPrefix, repeatBurst) {
|
|
158
153
|
const project = testInfo.project;
|
|
@@ -167,13 +162,17 @@ async function pushTrueCoverageSetForCurrentTest(device, testInfo, setUrlPrefix,
|
|
|
167
162
|
}
|
|
168
163
|
return false;
|
|
169
164
|
}
|
|
170
|
-
|
|
165
|
+
const total = Math.max(1, repeatBurst);
|
|
166
|
+
for (let i = 0; i < total; i++) {
|
|
167
|
+
await openUrlAutomationWithRetries(device, built);
|
|
168
|
+
}
|
|
171
169
|
return true;
|
|
172
170
|
}
|
|
173
171
|
/**
|
|
174
172
|
* Wrap Mobilewright `test` so TrueCoverage SET runs in the `device` fixture immediately after
|
|
175
173
|
* Mobilewright's own `launchApp`, before fixtures that depend on `device` (e.g. `screen`).
|
|
176
|
-
*
|
|
174
|
+
* Wired only from {@link installTrueCoverage} when `uiFixture: 'screen'`.
|
|
175
|
+
* No platform gate here (0.1.43 parity): SET runs whenever `device.openUrl` exists.
|
|
177
176
|
*/
|
|
178
177
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
179
178
|
function extendMobileTestWithTrueCoverageDevice(test) {
|
|
@@ -181,10 +180,6 @@ function extendMobileTestWithTrueCoverageDevice(test) {
|
|
|
181
180
|
return test.extend({
|
|
182
181
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
183
182
|
device: async ({ device }, use, testInfo) => {
|
|
184
|
-
if (!(0, project_type_1.isMobilePlatform)((0, project_type_1.platformFromTestInfo)(testInfo))) {
|
|
185
|
-
await use(device);
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
183
|
const d = device;
|
|
189
184
|
if (!d || typeof d.openUrl !== 'function') {
|
|
190
185
|
await use(device);
|
|
@@ -212,14 +207,13 @@ async function resyncTrueCoverageSetForCurrentTest(device, testInfo) {
|
|
|
212
207
|
if (!device || typeof device.openUrl !== 'function') {
|
|
213
208
|
return false;
|
|
214
209
|
}
|
|
215
|
-
const d = device;
|
|
216
210
|
const { setUrlPrefix } = getMobileRumAutomationUrls();
|
|
217
|
-
return pushTrueCoverageSetForCurrentTest(
|
|
211
|
+
return pushTrueCoverageSetForCurrentTest(device, testInfo, setUrlPrefix, 1);
|
|
218
212
|
}
|
|
219
213
|
/**
|
|
220
214
|
* Register `afterEach` (and optionally `afterAll`) on the given Playwright `TestType` for mobile TrueCoverage.
|
|
221
215
|
* **SET + settle + optional `/v1/clear`** run in the extended `device` fixture from {@link extendMobileTestWithTrueCoverageDevice}
|
|
222
|
-
* (wired by `installTrueCoverage` when `
|
|
216
|
+
* (wired by `installTrueCoverage` when `uiFixture: 'screen'`).
|
|
223
217
|
*
|
|
224
218
|
* By default, **`/v1/clear` is not sent** between tests unless `TESTCHIMP_RUM_AUTOMATION_CLEAR_BETWEEN_TESTS=1`
|
|
225
219
|
* (handled in the device fixture). **`afterEach`:** trailing `SET` then `/v1/flush`. **`afterAll`:** only when
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rum-automation-mobile.js","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"rum-automation-mobile.js","sourceRoot":"","sources":["../src/rum-automation-mobile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED