Skip to content

Commit 554c16c

Browse files
committed
option to disable visual stability check, disable by default
1 parent e5c63f3 commit 554c16c

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

packages/magnitude-core/src/web/harness.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export class WebHarness { // implements StateComponent
3333
//this.page = page;
3434
this.context = context;
3535
this.options = options;
36-
this.stability = new PageStabilityAnalyzer();
36+
this.stability = new PageStabilityAnalyzer({ disableVisualStability: true });
3737
this.visualizer = new ActionVisualizer(this.context, this.options.visuals ?? {});
3838
this.transformer = new DOMTransformer();
3939
this.tabs = new TabManager(context);

packages/magnitude-core/src/web/stability.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ export interface PageStabilityOptions {
3434
waitForNetworkIdleTime?: number;
3535
/** Maximum time to wait for page load before proceeding anyway */
3636
maximumWaitPageLoadTime?: number;
37+
/** Whether to disable visual stability checking */
38+
disableVisualStability?: boolean;
3739
}
3840

3941
/**
@@ -53,7 +55,8 @@ export class PageStabilityAnalyzer {
5355
checkInterval: options.checkInterval ?? 100, // 200ms
5456
minimumWaitPageLoadTime: options.minimumWaitPageLoadTime ?? DEFAULT_MINIMUM_WAIT_PAGE_LOAD_TIME,
5557
waitForNetworkIdleTime: options.waitForNetworkIdleTime ?? DEFAULT_WAIT_FOR_NETWORK_IDLE_TIME,
56-
maximumWaitPageLoadTime: options.maximumWaitPageLoadTime ?? DEFAULT_MAXIMUM_WAIT_PAGE_LOAD_TIME
58+
maximumWaitPageLoadTime: options.maximumWaitPageLoadTime ?? DEFAULT_MAXIMUM_WAIT_PAGE_LOAD_TIME,
59+
disableVisualStability: options.disableVisualStability ?? false
5760
};
5861
this.lastStart = Date.now();
5962
this.logger = logger.child(
@@ -360,9 +363,11 @@ export class PageStabilityAnalyzer {
360363
}
361364

362365
// Wait for visual stability with whatever time remains, but don't exceed max wait time
363-
const remainingForVisual = Math.max(0, maxWaitDeadline - Date.now());
364-
if (remainingForVisual > 0) {
365-
await this.waitForVisualStability(remainingForVisual);
366+
if (!this.options.disableVisualStability) {
367+
const remainingForVisual = Math.max(0, maxWaitDeadline - Date.now());
368+
if (remainingForVisual > 0) {
369+
await this.waitForVisualStability(remainingForVisual);
370+
}
366371
}
367372

368373
// Ensure we've waited at least the minimum time

0 commit comments

Comments
 (0)