appium-webdriveragent 16.2.2 → 16.3.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/PrivateHeaders/XCTest/XCSynthesizedEventRecord.h +3 -3
  3. package/PrivateHeaders/XCTest/XCUIApplication.h +1 -1
  4. package/PrivateHeaders/XCTest/XCUIElement.h +1 -1
  5. package/Scripts/build.sh +6 -0
  6. package/WebDriverAgent.xcodeproj/project.pbxproj +1482 -2
  7. package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp_watchOS.xcscheme +76 -0
  8. package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_watchOS.xcscheme +86 -0
  9. package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib_watchOS.xcscheme +85 -0
  10. package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner.xcscheme +1 -1
  11. package/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner_watchOS.xcscheme +128 -0
  12. package/WebDriverAgentLib/Categories/XCUIApplication+FBAlert.m +5 -0
  13. package/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.m +2 -0
  14. package/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.m +1 -1
  15. package/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.m +4 -4
  16. package/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.h +1 -1
  17. package/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.m +1 -1
  18. package/WebDriverAgentLib/Categories/XCUIElement+FBPickerWheel.m +1 -1
  19. package/WebDriverAgentLib/Categories/XCUIElement+FBTyping.m +11 -0
  20. package/WebDriverAgentLib/Commands/FBCustomCommands.m +19 -4
  21. package/WebDriverAgentLib/Commands/FBElementCommands.m +6 -5
  22. package/WebDriverAgentLib/Commands/FBOrientationCommands.m +1 -1
  23. package/WebDriverAgentLib/Commands/FBSessionCommands.m +29 -5
  24. package/WebDriverAgentLib/Info.plist +2 -2
  25. package/WebDriverAgentLib/Routing/FBTCPSocket.h +70 -0
  26. package/WebDriverAgentLib/Routing/FBTCPSocket.m +199 -0
  27. package/WebDriverAgentLib/Routing/FBWebServer.m +33 -3
  28. package/WebDriverAgentLib/Routing/WatchOS/FBWatchHTTPServer.h +68 -0
  29. package/WebDriverAgentLib/Routing/WatchOS/FBWatchHTTPServer.m +376 -0
  30. package/WebDriverAgentLib/Routing/WatchOS/RouteRequest.h +30 -0
  31. package/WebDriverAgentLib/Routing/WatchOS/RouteRequest.m +25 -0
  32. package/WebDriverAgentLib/Routing/WatchOS/RouteResponse.h +30 -0
  33. package/WebDriverAgentLib/Routing/WatchOS/RouteResponse.m +54 -0
  34. package/WebDriverAgentLib/Utilities/FBActiveAppDetectionPoint.m +8 -0
  35. package/WebDriverAgentLib/Utilities/FBBaseActionsSynthesizer.h +1 -1
  36. package/WebDriverAgentLib/Utilities/FBBaseActionsSynthesizer.m +1 -1
  37. package/WebDriverAgentLib/Utilities/FBConfiguration.h +1 -1
  38. package/WebDriverAgentLib/Utilities/FBConfiguration.m +3 -3
  39. package/WebDriverAgentLib/Utilities/FBImageProcessor.m +7 -2
  40. package/WebDriverAgentLib/Utilities/FBMacros.h +14 -5
  41. package/WebDriverAgentLib/Utilities/FBMathUtils.h +1 -1
  42. package/WebDriverAgentLib/Utilities/FBMathUtils.m +1 -1
  43. package/WebDriverAgentLib/Utilities/FBPasteboard.h +1 -1
  44. package/WebDriverAgentLib/Utilities/FBPasteboard.m +1 -1
  45. package/WebDriverAgentLib/Utilities/FBSettingsHandler.m +2 -2
  46. package/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.h +1 -1
  47. package/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.m +1 -1
  48. package/WebDriverAgentTests/IntegrationApp_watchOS/ContentView.swift +31 -0
  49. package/WebDriverAgentTests/IntegrationApp_watchOS/WatchSpikeApp.swift +18 -0
  50. package/WebDriverAgentTests/IntegrationTests/FBForceTouchTests.m +3 -0
  51. package/WebDriverAgentTests/IntegrationTests/FBPasteboardTests.m +3 -2
  52. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAAlertIntegrationTests.swift +23 -0
  53. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAAppLifecycleIntegrationTests.swift +57 -0
  54. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAClickIntegrationTests.swift +31 -0
  55. package/WebDriverAgentTests/IntegrationTests_watchOS/WDADeviceIntegrationTests.swift +50 -0
  56. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAElementAttributeIntegrationTests.swift +57 -0
  57. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAFindIntegrationTests.swift +126 -0
  58. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAScreenshotAndSourceIntegrationTests.swift +52 -0
  59. package/WebDriverAgentTests/IntegrationTests_watchOS/WDASessionIntegrationTests.swift +72 -0
  60. package/WebDriverAgentTests/IntegrationTests_watchOS/WDATypingIntegrationTests.swift +57 -0
  61. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAUnknownCommandIntegrationTests.swift +24 -0
  62. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAWatchHTTPClient.swift +95 -0
  63. package/WebDriverAgentTests/IntegrationTests_watchOS/WDAWatchIntegrationTestCase.swift +61 -0
  64. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [16.3.0](https://github.com/appium/WebDriverAgent/compare/v16.2.2...v16.3.0) (2026-08-18)
2
+
3
+ ### Features
4
+
5
+ * Add WatchOS support ([#1209](https://github.com/appium/WebDriverAgent/issues/1209)) ([90b443c](https://github.com/appium/WebDriverAgent/commit/90b443c543346a4d12c5a5b69f4532c84cf2ae8f))
6
+
1
7
  ## [16.2.2](https://github.com/appium/WebDriverAgent/compare/v16.2.1...v16.2.2) (2026-08-18)
2
8
 
3
9
  ### Reverts
@@ -17,7 +17,7 @@
17
17
  @property (readonly) NSArray *eventPaths;
18
18
  @property (readonly, copy) NSString *name;
19
19
  @property (readonly) double maximumOffset;
20
- #if !TARGET_OS_TV
20
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
21
21
  @property (readonly) UIInterfaceOrientation interfaceOrientation;
22
22
  #endif
23
23
  @property long long targetProcessID;
@@ -34,13 +34,13 @@
34
34
 
35
35
  /* instance methods */
36
36
  - (_Bool)synthesizeWithError:(id *)error;
37
- #if !TARGET_OS_TV
37
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
38
38
  - (id)initWithName:(id)name displayID:(unsigned long long)id interfaceOrientation:(long long)orientation;
39
39
  - (void)unsetInterfaceOrientation;
40
40
  #endif
41
41
  - (id)initWithName:(id)name;
42
42
  - (id)initWithName:(id)name displayID:(unsigned long long)id;
43
- #if !TARGET_OS_TV
43
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
44
44
  - (id)initWithName:(id)name interfaceOrientation:(long long)orientation;
45
45
  #endif
46
46
  - (id)initWithCoder:(id)coder;
@@ -44,7 +44,7 @@
44
44
  @property (readonly) _Bool hasAutomationSession;
45
45
  @property _Bool idleAnimationWaitEnabled;
46
46
  @property (readonly) _Bool fauxCollectionViewCellsEnabled;
47
- #if !TARGET_OS_TV
47
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
48
48
  @property (readonly, nonatomic) UIInterfaceOrientation interfaceOrientation;
49
49
  #endif
50
50
  @property (nonatomic) unsigned long long crashBehavior;
@@ -32,7 +32,7 @@
32
32
  @property (readonly, copy) XCUIElement *elementBoundByAccessibilityElement;
33
33
  @property _Bool safeQueryResolutionEnabled;
34
34
  @property (readonly) long long displayID;
35
- #if !TARGET_OS_TV
35
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
36
36
  @property (readonly, nonatomic) UIInterfaceOrientation interfaceOrientation;
37
37
  #endif
38
38
  @property (readonly) _Bool hasBannerNotificationIsStickyAttribute;
package/Scripts/build.sh CHANGED
@@ -17,6 +17,8 @@ function define_xc_macros() {
17
17
  "runner" ) XC_TARGET="WebDriverAgentRunner";;
18
18
  "tv_lib" ) XC_TARGET="WebDriverAgentLib_tvOS";;
19
19
  "tv_runner" ) XC_TARGET="WebDriverAgentRunner_tvOS";;
20
+ "watch_lib" ) XC_TARGET="WebDriverAgentLib_watchOS";;
21
+ "watch_runner" ) XC_TARGET="WebDriverAgentRunner_watchOS";;
20
22
  *) echo "Unknown TARGET"; exit 1 ;;
21
23
  esac
22
24
 
@@ -24,8 +26,10 @@ function define_xc_macros() {
24
26
  "iphone" ) XC_DESTINATION="platform=iOS Simulator,name=`echo $IPHONE_MODEL | tr -d "'"`,OS=$IOS_VERSION";;
25
27
  "ipad" ) XC_DESTINATION="platform=iOS Simulator,name=`echo $IPAD_MODEL | tr -d "'"`,OS=$IOS_VERSION";;
26
28
  "tv" ) XC_DESTINATION="platform=tvOS Simulator,name=`echo $TV_MODEL | tr -d "'"`,OS=$TV_VERSION";;
29
+ "watch" ) XC_DESTINATION="platform=watchOS Simulator,name=`echo $WATCH_MODEL | tr -d "'"`,OS=$WATCH_VERSION";;
27
30
  "generic" ) XC_DESTINATION="generic/platform=iOS";;
28
31
  "tv_generic" ) XC_DESTINATION="generic/platform=tvOS" XC_MACROS="${XC_MACROS} ARCHS=arm64";; # tvOS only supports arm64
32
+ "watch_generic" ) XC_DESTINATION="generic/platform=watchOS" XC_MACROS="${XC_MACROS} ARCHS=arm64";; # watchOS only supports arm64
29
33
  esac
30
34
 
31
35
  case "$ACTION" in
@@ -43,6 +47,8 @@ function define_xc_macros() {
43
47
  "device" ) XC_SDK="iphoneos";;
44
48
  "tv_sim" ) XC_SDK="appletvsimulator";;
45
49
  "tv_device" ) XC_SDK="appletvos";;
50
+ "watch_sim" ) XC_SDK="watchsimulator";;
51
+ "watch_device" ) XC_SDK="watchos";;
46
52
  *) echo "Unknown SDK"; exit 1 ;;
47
53
  esac
48
54