Previously, our testing framework attempted to interact with widgets at their geometric center only. This resulted in tests failing even though some areas of the widget were in fact interactable.
New Approach: Perform multiple hit tests across the entire renderobject in two phases:
Phase: Check predefined likely interaction points, including the center, corners, and edge midpoints of the widget. This phase quickly identifies interactable areas in most standard cases.
Phase: Zigzag Grid Search: If the initial phase does not find any interactable points, the function systematically searches the entire widget area using a zigzag pattern across an 8px by 8px grid.
Background
Previously, our testing framework attempted to interact with widgets at their geometric center only. This resulted in tests failing even though some areas of the widget were in fact interactable.
New Approach: Perform multiple hit tests across the entire renderobject in two phases: