@validate.qa/runner 1.0.22 → 1.0.23
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/cli.js +15 -7
- package/dist/cli.mjs +15 -7
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -328483,7 +328483,7 @@ var require_package4 = __commonJS({
|
|
|
328483
328483
|
"package.json"(exports2, module2) {
|
|
328484
328484
|
module2.exports = {
|
|
328485
328485
|
name: "@validate.qa/runner",
|
|
328486
|
-
version: "1.0.
|
|
328486
|
+
version: "1.0.23",
|
|
328487
328487
|
description: "validate local test runner - execute Playwright tests on your machine, connected to validate.qa cloud.",
|
|
328488
328488
|
bin: {
|
|
328489
328489
|
"validate-runner": "dist/cli.js"
|
|
@@ -330256,6 +330256,7 @@ var MOBILE_NEW_COMMAND_TIMEOUT_SECONDS = (() => {
|
|
|
330256
330256
|
const raw = Number(process.env.VALIDATEQA_MOBILE_NEW_COMMAND_TIMEOUT);
|
|
330257
330257
|
return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : 600;
|
|
330258
330258
|
})();
|
|
330259
|
+
var COLD_BOOT_ENTRY_TIMEOUT_MS = 3e4;
|
|
330259
330260
|
var VERIFICATION_ACTIONS = /* @__PURE__ */ new Set(["assertVisible", "assertText", "waitForElement"]);
|
|
330260
330261
|
var WD_SESSION_CREATE_TIMEOUT_MS = 12e4;
|
|
330261
330262
|
var WD_ACTION_TIMEOUT_MS = 3e4;
|
|
@@ -330490,18 +330491,24 @@ async function freshLaunchTargetApp(sessionId, platform3, appId, log2) {
|
|
|
330490
330491
|
}
|
|
330491
330492
|
async function waitForColdBootContent(sessionId, log2, timeoutMs = 2e4) {
|
|
330492
330493
|
const deadline = Date.now() + timeoutMs;
|
|
330493
|
-
const MIN_ELEMENTS =
|
|
330494
|
+
const MIN_ELEMENTS = 12;
|
|
330494
330495
|
let lastCount = 0;
|
|
330496
|
+
let stableFrames = 0;
|
|
330495
330497
|
while (Date.now() < deadline) {
|
|
330496
330498
|
try {
|
|
330497
330499
|
const res = await wdRequest(`/session/${sessionId}/source`);
|
|
330498
330500
|
const xml = typeof res?.value === "string" ? res.value : "";
|
|
330499
330501
|
const count = (xml.match(/<(android\.|XCUIElementType)/g) ?? []).length;
|
|
330500
|
-
|
|
330501
|
-
|
|
330502
|
-
|
|
330503
|
-
|
|
330502
|
+
if (count >= MIN_ELEMENTS && count === lastCount) {
|
|
330503
|
+
stableFrames++;
|
|
330504
|
+
if (stableFrames >= 2) {
|
|
330505
|
+
log2(` Cold-boot ready: UI tree settled at ${count} node(s).`);
|
|
330506
|
+
return;
|
|
330507
|
+
}
|
|
330508
|
+
} else {
|
|
330509
|
+
stableFrames = 0;
|
|
330504
330510
|
}
|
|
330511
|
+
lastCount = count;
|
|
330505
330512
|
} catch {
|
|
330506
330513
|
}
|
|
330507
330514
|
await new Promise((r) => setTimeout(r, 750));
|
|
@@ -331186,7 +331193,8 @@ async function executeMobileTest(options) {
|
|
|
331186
331193
|
);
|
|
331187
331194
|
if (entryStep) {
|
|
331188
331195
|
try {
|
|
331189
|
-
|
|
331196
|
+
const entryTimeout = recordedFromClearedState ? Math.max(DEFAULT_STEP_TIMEOUT_MS, COLD_BOOT_ENTRY_TIMEOUT_MS) : DEFAULT_STEP_TIMEOUT_MS;
|
|
331197
|
+
await findElement(sessionId, entryStep.target, entryTimeout, { identityOnly: true, platform: runPlatform });
|
|
331190
331198
|
} catch (err) {
|
|
331191
331199
|
if (isTransportError(err)) throw err;
|
|
331192
331200
|
entryDrift = true;
|
package/dist/cli.mjs
CHANGED
|
@@ -328488,7 +328488,7 @@ var require_package4 = __commonJS({
|
|
|
328488
328488
|
"package.json"(exports, module) {
|
|
328489
328489
|
module.exports = {
|
|
328490
328490
|
name: "@validate.qa/runner",
|
|
328491
|
-
version: "1.0.
|
|
328491
|
+
version: "1.0.23",
|
|
328492
328492
|
description: "validate local test runner - execute Playwright tests on your machine, connected to validate.qa cloud.",
|
|
328493
328493
|
bin: {
|
|
328494
328494
|
"validate-runner": "dist/cli.js"
|
|
@@ -330264,6 +330264,7 @@ var MOBILE_NEW_COMMAND_TIMEOUT_SECONDS = (() => {
|
|
|
330264
330264
|
const raw = Number(process.env.VALIDATEQA_MOBILE_NEW_COMMAND_TIMEOUT);
|
|
330265
330265
|
return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : 600;
|
|
330266
330266
|
})();
|
|
330267
|
+
var COLD_BOOT_ENTRY_TIMEOUT_MS = 3e4;
|
|
330267
330268
|
var VERIFICATION_ACTIONS = /* @__PURE__ */ new Set(["assertVisible", "assertText", "waitForElement"]);
|
|
330268
330269
|
var WD_SESSION_CREATE_TIMEOUT_MS = 12e4;
|
|
330269
330270
|
var WD_ACTION_TIMEOUT_MS = 3e4;
|
|
@@ -330498,18 +330499,24 @@ async function freshLaunchTargetApp(sessionId, platform3, appId, log2) {
|
|
|
330498
330499
|
}
|
|
330499
330500
|
async function waitForColdBootContent(sessionId, log2, timeoutMs = 2e4) {
|
|
330500
330501
|
const deadline = Date.now() + timeoutMs;
|
|
330501
|
-
const MIN_ELEMENTS =
|
|
330502
|
+
const MIN_ELEMENTS = 12;
|
|
330502
330503
|
let lastCount = 0;
|
|
330504
|
+
let stableFrames = 0;
|
|
330503
330505
|
while (Date.now() < deadline) {
|
|
330504
330506
|
try {
|
|
330505
330507
|
const res = await wdRequest(`/session/${sessionId}/source`);
|
|
330506
330508
|
const xml = typeof res?.value === "string" ? res.value : "";
|
|
330507
330509
|
const count = (xml.match(/<(android\.|XCUIElementType)/g) ?? []).length;
|
|
330508
|
-
|
|
330509
|
-
|
|
330510
|
-
|
|
330511
|
-
|
|
330510
|
+
if (count >= MIN_ELEMENTS && count === lastCount) {
|
|
330511
|
+
stableFrames++;
|
|
330512
|
+
if (stableFrames >= 2) {
|
|
330513
|
+
log2(` Cold-boot ready: UI tree settled at ${count} node(s).`);
|
|
330514
|
+
return;
|
|
330515
|
+
}
|
|
330516
|
+
} else {
|
|
330517
|
+
stableFrames = 0;
|
|
330512
330518
|
}
|
|
330519
|
+
lastCount = count;
|
|
330513
330520
|
} catch {
|
|
330514
330521
|
}
|
|
330515
330522
|
await new Promise((r) => setTimeout(r, 750));
|
|
@@ -331194,7 +331201,8 @@ async function executeMobileTest(options) {
|
|
|
331194
331201
|
);
|
|
331195
331202
|
if (entryStep) {
|
|
331196
331203
|
try {
|
|
331197
|
-
|
|
331204
|
+
const entryTimeout = recordedFromClearedState ? Math.max(DEFAULT_STEP_TIMEOUT_MS, COLD_BOOT_ENTRY_TIMEOUT_MS) : DEFAULT_STEP_TIMEOUT_MS;
|
|
331205
|
+
await findElement(sessionId, entryStep.target, entryTimeout, { identityOnly: true, platform: runPlatform });
|
|
331198
331206
|
} catch (err) {
|
|
331199
331207
|
if (isTransportError(err)) throw err;
|
|
331200
331208
|
entryDrift = true;
|
package/package.json
CHANGED