Skip to content

feat: Add includeHittableInSource setting for including real hittable attribute in XML source#1026

Merged
mykola-mokhnach merged 7 commits into
appium:masterfrom
ikharebashviliGD:feat/add-native-hittable-to-xml
Jun 3, 2025
Merged

feat: Add includeHittableInSource setting for including real hittable attribute in XML source#1026
mykola-mokhnach merged 7 commits into
appium:masterfrom
ikharebashviliGD:feat/add-native-hittable-to-xml

Conversation

@ikharebashviliGD
Copy link
Copy Markdown

@ikharebashviliGD ikharebashviliGD commented May 30, 2025

Description:
This PR introduces support for a new includeHittableInSource setting.

  • Generate the element tree using native snapshots (to calculate correct isHittable values)
  • Include the hittable attribute in the resulting XML with accurate data

By default, the attribute is excluded due to performance cost and unreliable values from non-native snapshots.

Why not JSON?
Previously, I attempted to expose isHittable in the JSON response as part of [this PR], but due to snapshot limitations and performance concerns, it was not feasible. This XML-based solution respects performance by remaining opt-in via a dedicated flag.

Comment thread WebDriverAgentLib/Commands/FBDebugCommands.m Outdated
Comment thread WebDriverAgentLib/Utilities/FBXPath-Private.h Outdated
@mykola-mokhnach
Copy link
Copy Markdown

Please also check and update failing unit tests

@ikharebashviliGD ikharebashviliGD changed the title feat: Add useNativeHittable option for including real hittable attribute in XML source feat: Add includeHittableInSource setting for including real hittable attribute in XML source Jun 2, 2025
Comment thread WebDriverAgentLib/Utilities/FBXPath.m Outdated
@mykola-mokhnach
Copy link
Copy Markdown

Please do not forget to add the new setting into https://github.com/appium/appium-xcuitest-driver/blob/master/docs/reference/settings.md after this PR is published

Comment thread WebDriverAgentLib/Utilities/FBSettings.m Outdated
@ikharebashviliGD
Copy link
Copy Markdown
Author

@mykola-mokhnach @KazuCocoa
Are there any other changes that need to be made or can this PR be merged?

@mykola-mokhnach mykola-mokhnach merged commit 0fa4e74 into appium:master Jun 3, 2025
40 of 42 checks passed
github-actions Bot pushed a commit that referenced this pull request Jun 3, 2025
## [9.11.0](v9.10.1...v9.11.0) (2025-06-03)

### Features

* Add includeHittableInSource setting for including real hittable attribute in XML source ([#1026](#1026)) ([0fa4e74](0fa4e74))
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2025

🎉 This PR is included in version 9.11.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@KazuCocoa KazuCocoa added size:S contribution size: S and removed size:S contribution size: S labels Jul 3, 2025
manabuaota added a commit to manabuaota/airtest-netease that referenced this pull request Feb 14, 2026
## [9.11.0](appium/WebDriverAgent@v9.10.1...v9.11.0) (2025-06-03)

### Features

* Add includeHittableInSource setting for including real hittable attribute in XML source ([#1026](appium/WebDriverAgent#1026)) ([0fa4e74](appium/WebDriverAgent@0fa4e74))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants