appium-webdriveragent 9.7.1 → 9.8.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [9.8.0](https://github.com/appium/WebDriverAgent/compare/v9.7.1...v9.8.0) (2025-05-21)
2
+
3
+ ### Features
4
+
5
+ * Add a native frame property of the element ([#1017](https://github.com/appium/WebDriverAgent/issues/1017)) ([09214c4](https://github.com/appium/WebDriverAgent/commit/09214c4228ed5a49c02adead452cb0bb8dd83b6d))
6
+
1
7
  ## [9.7.1](https://github.com/appium/WebDriverAgent/compare/v9.7.0...v9.7.1) (2025-05-21)
2
8
 
3
9
  ### Miscellaneous Chores
@@ -47,7 +47,7 @@ static NSString* const FBExclusionAttributeVisible = @"visible";
47
47
  static NSString* const FBExclusionAttributeAccessible = @"accessible";
48
48
  static NSString* const FBExclusionAttributeFocused = @"focused";
49
49
  static NSString* const FBExclusionAttributePlaceholderValue = @"placeholderValue";
50
-
50
+ static NSString* const FBExclusionAttributeNativeFrame = @"nativeFrame";
51
51
 
52
52
  _Nullable id extractIssueProperty(id issue, NSString *propertyName) {
53
53
  SEL selector = NSSelectorFromString(propertyName);
@@ -205,8 +205,11 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
205
205
 
206
206
  NSDictionary<NSString *, NSString *(^)(void)> *attributeBlocks = [self fb_attributeBlockMapForWrappedSnapshot:wrappedSnapshot];
207
207
 
208
- NSSet *nonPrefixedKeys = [NSSet setWithObjects:FBExclusionAttributeFrame,
209
- FBExclusionAttributePlaceholderValue, nil];
208
+ NSSet *nonPrefixedKeys = [NSSet setWithObjects:
209
+ FBExclusionAttributeFrame,
210
+ FBExclusionAttributePlaceholderValue,
211
+ FBExclusionAttributeNativeFrame,
212
+ nil];
210
213
 
211
214
  for (NSString *key in attributeBlocks) {
212
215
  if (excludedAttributes == nil || ![excludedAttributes containsObject:key]) {
@@ -247,6 +250,9 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
247
250
  [@{
248
251
  FBExclusionAttributeFrame: ^{
249
252
  return NSStringFromCGRect(wrappedSnapshot.wdFrame);
253
+ },
254
+ FBExclusionAttributeNativeFrame: ^{
255
+ return NSStringFromCGRect(wrappedSnapshot.wdNativeFrame);
250
256
  },
251
257
  FBExclusionAttributeEnabled: ^{
252
258
  return [@([wrappedSnapshot isWDEnabled]) stringValue];
@@ -147,6 +147,14 @@
147
147
  : CGRectIntegral(frame);
148
148
  }
149
149
 
150
+ - (CGRect)wdNativeFrame
151
+ {
152
+ // To avoid confusion regarding the frame returned by `wdFrame`,
153
+ // the current property is provided to represent the element's
154
+ // actual rendered frame.
155
+ return self.frame;
156
+ }
157
+
150
158
  - (BOOL)isWDVisible
151
159
  {
152
160
  return self.fb_isVisible;
@@ -15,11 +15,11 @@
15
15
  <key>CFBundlePackageType</key>
16
16
  <string>FMWK</string>
17
17
  <key>CFBundleShortVersionString</key>
18
- <string>9.7.1</string>
18
+ <string>9.8.0</string>
19
19
  <key>CFBundleSignature</key>
20
20
  <string>????</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>9.7.1</string>
22
+ <string>9.8.0</string>
23
23
  <key>NSPrincipalClass</key>
24
24
  <string/>
25
25
  </dict>
@@ -20,6 +20,9 @@ NS_ASSUME_NONNULL_BEGIN
20
20
  /*! Element's frame in normalized (rounded dimensions without Infinity values) CGRect format */
21
21
  @property (nonatomic, readonly, assign) CGRect wdFrame;
22
22
 
23
+ /*! Represents the element's frame as a CGRect, preserving the actual values. */
24
+ @property (nonatomic, readonly, assign) CGRect wdNativeFrame;
25
+
23
26
  /*! Element's wsFrame in NSDictionary format */
24
27
  @property (nonatomic, readonly, copy) NSDictionary *wdRect;
25
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "9.7.1",
3
+ "version": "9.8.0",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",