From 5ce98e3c4f59a13d45577ce49ff829d347c9ac8a Mon Sep 17 00:00:00 2001 From: Le Vivilet Date: Wed, 25 Feb 2026 15:08:26 +0100 Subject: [PATCH 1/2] feature: enhance mouseEvent to calculate center position and set clientX/clientY --- .../src/parts/TestFrameWork/ElementActions.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts b/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts index 0b3590b..8922c51 100644 --- a/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts +++ b/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts @@ -2,7 +2,19 @@ import * as DomEventType from '../DomEventType/DomEventType.ts' import * as GetEventClass from '../GetEventClass/GetEventClass.ts' export const mouseEvent = (element, eventType, options) => { - const event = new MouseEvent(eventType, options) + // Get the element's bounding rect and calculate center position + const rect = element.getBoundingClientRect() + const centerX = rect.left + rect.width / 2 + const centerY = rect.top + rect.height / 2 + + // Ensure clientX and clientY are set if not provided + const eventOptions = { + ...options, + clientX: options?.clientX ?? centerX, + clientY: options?.clientY ?? centerY, + } + + const event = new MouseEvent(eventType, eventOptions) element.dispatchEvent(event) } From 268be3fba198096f060a0f94828dd83e5b18c437 Mon Sep 17 00:00:00 2001 From: Le Vivilet Date: Wed, 25 Feb 2026 15:09:27 +0100 Subject: [PATCH 2/2] fix --- .../src/parts/TestFrameWork/ElementActions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts b/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts index 8922c51..4841bc8 100644 --- a/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts +++ b/packages/renderer-process/src/parts/TestFrameWork/ElementActions.ts @@ -6,14 +6,14 @@ export const mouseEvent = (element, eventType, options) => { const rect = element.getBoundingClientRect() const centerX = rect.left + rect.width / 2 const centerY = rect.top + rect.height / 2 - + // Ensure clientX and clientY are set if not provided const eventOptions = { ...options, clientX: options?.clientX ?? centerX, clientY: options?.clientY ?? centerY, } - + const event = new MouseEvent(eventType, eventOptions) element.dispatchEvent(event) }