appium-mac2-driver 4.3.6 → 4.5.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 (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/WebDriverAgentMac/IntegrationTests/AMSessionTests.m +14 -0
  3. package/WebDriverAgentMac/IntegrationTests/AMWindowTests.m +427 -0
  4. package/WebDriverAgentMac/WebDriverAgentLib/Commands/AMWindowCommands.m +63 -0
  5. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBDebugCommands.m +2 -0
  6. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBSessionCommands.m +17 -5
  7. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBCommandStatus.h +3 -0
  8. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBCommandStatus.m +13 -0
  9. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBSession.m +5 -1
  10. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMScreenUtils.h +4 -0
  11. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMScreenUtils.m +23 -0
  12. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSnapshotUtils.h +18 -0
  13. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSnapshotUtils.m +43 -28
  14. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMWindowUtils.h +111 -0
  15. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMWindowUtils.m +780 -0
  16. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMXCTAccessibility.h +61 -0
  17. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMXCTAccessibility.m +108 -0
  18. package/WebDriverAgentMac/WebDriverAgentMac.xcodeproj/project.pbxproj +20 -0
  19. package/build/lib/commands/native-record-screen.d.ts +2 -0
  20. package/build/lib/commands/native-record-screen.d.ts.map +1 -1
  21. package/build/lib/commands/native-record-screen.js.map +1 -1
  22. package/build/lib/commands/windows.d.ts +22 -0
  23. package/build/lib/commands/windows.d.ts.map +1 -0
  24. package/build/lib/commands/windows.js +32 -0
  25. package/build/lib/commands/windows.js.map +1 -0
  26. package/build/lib/driver.d.ts +15 -0
  27. package/build/lib/driver.d.ts.map +1 -1
  28. package/build/lib/driver.js +55 -32
  29. package/build/lib/driver.js.map +1 -1
  30. package/build/lib/execute-method-map.d.ts +9 -0
  31. package/build/lib/execute-method-map.d.ts.map +1 -1
  32. package/build/lib/execute-method-map.js +9 -0
  33. package/build/lib/execute-method-map.js.map +1 -1
  34. package/build/lib/session-claim-handler.d.ts +41 -0
  35. package/build/lib/session-claim-handler.d.ts.map +1 -0
  36. package/build/lib/session-claim-handler.js +236 -0
  37. package/build/lib/session-claim-handler.js.map +1 -0
  38. package/build/lib/types.d.ts +26 -0
  39. package/build/lib/types.d.ts.map +1 -1
  40. package/build/lib/wda-mac.d.ts +6 -2
  41. package/build/lib/wda-mac.d.ts.map +1 -1
  42. package/build/lib/wda-mac.js +39 -9
  43. package/build/lib/wda-mac.js.map +1 -1
  44. package/lib/commands/native-record-screen.ts +2 -0
  45. package/lib/commands/windows.ts +44 -0
  46. package/lib/driver.ts +59 -31
  47. package/lib/execute-method-map.ts +9 -0
  48. package/lib/session-claim-handler.ts +306 -0
  49. package/lib/types.ts +28 -0
  50. package/lib/wda-mac.ts +41 -10
  51. package/node_modules/appium-xcode/CHANGELOG.md +7 -0
  52. package/node_modules/appium-xcode/package.json +4 -4
  53. package/node_modules/async-lock/AUTHORS +21 -0
  54. package/node_modules/async-lock/History.md +132 -0
  55. package/node_modules/async-lock/LICENSE +22 -0
  56. package/node_modules/async-lock/README.md +177 -0
  57. package/node_modules/async-lock/index.js +2 -0
  58. package/node_modules/async-lock/lib/index.js +312 -0
  59. package/node_modules/async-lock/package.json +48 -0
  60. package/node_modules/bare-fs/binding.c +1 -1
  61. package/node_modules/bare-fs/index.js +30 -6
  62. package/node_modules/bare-fs/package.json +1 -1
  63. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  64. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  65. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  66. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  67. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  68. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  69. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  70. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  71. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  72. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  73. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  74. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  75. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  76. package/node_modules/bare-url/README.md +4 -0
  77. package/node_modules/bare-url/index.d.ts +3 -0
  78. package/node_modules/bare-url/index.js +42 -18
  79. package/node_modules/bare-url/lib/errors.js +4 -0
  80. package/node_modules/bare-url/package.json +1 -1
  81. package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  82. package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  83. package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  84. package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  85. package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  86. package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  87. package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  88. package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  89. package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  90. package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  91. package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  92. package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  93. package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  94. package/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
  95. package/node_modules/readable-stream/lib/internal/streams/destroy.js +1 -1
  96. package/node_modules/readable-stream/lib/internal/streams/duplexify.js +1 -1
  97. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +1 -1
  98. package/node_modules/readable-stream/lib/internal/streams/from.js +1 -1
  99. package/node_modules/readable-stream/lib/internal/streams/legacy.js +6 -1
  100. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +1 -1
  101. package/node_modules/readable-stream/lib/internal/streams/readable.js +1 -1
  102. package/node_modules/readable-stream/lib/internal/streams/writable.js +1 -1
  103. package/node_modules/readable-stream/package.json +3 -2
  104. package/node_modules/tar-stream/package.json +7 -7
  105. package/package.json +6 -3
  106. package/scripts/setup-accessibility.mjs +175 -0
@@ -0,0 +1,61 @@
1
+ /*
2
+ * Licensed under the Apache License, Version 2.0 (the "License");
3
+ * you may not use this file except in compliance with the License.
4
+ * See the NOTICE file distributed with this work for additional
5
+ * information regarding copyright ownership.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #import <XCTest/XCTest.h>
18
+
19
+ NS_ASSUME_NONNULL_BEGIN
20
+
21
+ /**
22
+ Access to the accessibility interface that XCTest uses itself. XCTest does not call the
23
+ Accessibility API from the test process, but asks a privileged daemon to do that. Therefore,
24
+ this does not need the Accessibility permission to be granted to the process.
25
+ The interface is a private XCTest API, which is why it is always checked for availability.
26
+ */
27
+ @interface AMXCTAccessibility : NSObject
28
+
29
+ /**
30
+ @returns YES if the XCTest accessibility interface is available in the current Xcode version
31
+ */
32
+ + (BOOL)isAvailable;
33
+
34
+ /**
35
+ @returns The XCTest accessibility element of the snapshot or nil
36
+ */
37
+ + (nullable id)accessibilityElementWithSnapshot:(nullable id)snapshot;
38
+
39
+ /**
40
+ @returns The XCTest accessibility element of the application or nil
41
+ */
42
+ + (nullable id)accessibilityElementWithApplication:(XCUIApplication *)application;
43
+
44
+ /**
45
+ Fetches the accessibility attributes of the element.
46
+
47
+ @param names AX attribute names, for example AXPosition
48
+ @param element XCTest accessibility element
49
+ @returns The attributes dictionary or nil. Position is {X, Y} and size is {Width, Height}
50
+ */
51
+ + (nullable NSDictionary<NSString *, id> *)attributes:(NSArray<NSString *> *)names
52
+ ofElement:(id)element;
53
+
54
+ /**
55
+ Performs the AXPress action on the element
56
+ */
57
+ + (BOOL)pressElement:(id)element error:(NSError **)error;
58
+
59
+ @end
60
+
61
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,108 @@
1
+ /*
2
+ * Licensed under the Apache License, Version 2.0 (the "License");
3
+ * you may not use this file except in compliance with the License.
4
+ * See the NOTICE file distributed with this work for additional
5
+ * information regarding copyright ownership.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #import "AMXCTAccessibility.h"
18
+
19
+ #import <objc/message.h>
20
+
21
+ #import "FBLogger.h"
22
+
23
+ static NSString *const AM_ACCESSIBILITY_INTERFACE_KEY = @"accessibilityInterface";
24
+
25
+ typedef id (*AMFetchAttributesFn)(id, SEL, id, id, NSError **);
26
+ typedef BOOL (*AMPerformActionFn)(id, SEL, id, id, id, NSError **);
27
+
28
+ @implementation AMXCTAccessibility
29
+
30
+ + (nullable id)accessibilityInterface
31
+ {
32
+ @try {
33
+ id interface = [XCUIDevice.sharedDevice valueForKey:AM_ACCESSIBILITY_INTERFACE_KEY];
34
+ return [interface respondsToSelector:NSSelectorFromString(@"attributesForElement:attributes:error:")]
35
+ && [interface respondsToSelector:NSSelectorFromString(@"performAction:onElement:value:error:")]
36
+ ? interface
37
+ : nil;
38
+ } @catch (NSException *e) {
39
+ return nil;
40
+ }
41
+ }
42
+
43
+ + (BOOL)isAvailable
44
+ {
45
+ return nil != [self accessibilityInterface]
46
+ && nil != NSClassFromString(@"XCUIAccessibilityAction");
47
+ }
48
+
49
+ + (nullable id)accessibilityElementWithSnapshot:(nullable id)snapshot
50
+ {
51
+ if (nil == snapshot) {
52
+ return nil;
53
+ }
54
+ @try {
55
+ return [snapshot valueForKey:@"_accessibilityElement"];
56
+ } @catch (NSException *e) {
57
+ return nil;
58
+ }
59
+ }
60
+
61
+ + (nullable id)accessibilityElementWithApplication:(XCUIApplication *)application
62
+ {
63
+ @try {
64
+ return [application valueForKey:@"accessibilityElement"];
65
+ } @catch (NSException *e) {
66
+ return nil;
67
+ }
68
+ }
69
+
70
+ + (nullable NSDictionary<NSString *, id> *)attributes:(NSArray<NSString *> *)names ofElement:(id)element
71
+ {
72
+ id interface = [self accessibilityInterface];
73
+ if (nil == interface || nil == element) {
74
+ return nil;
75
+ }
76
+ @try {
77
+ NSError *error = nil;
78
+ id result = ((AMFetchAttributesFn)objc_msgSend)(interface,
79
+ NSSelectorFromString(@"attributesForElement:attributes:error:"),
80
+ element, names, &error);
81
+ return [result isKindOfClass:NSDictionary.class] ? result : nil;
82
+ } @catch (NSException *e) {
83
+ [FBLogger logFmt:@"Cannot fetch the accessibility attributes %@. Original error: %@", names, e.reason];
84
+ return nil;
85
+ }
86
+ }
87
+
88
+ + (BOOL)pressElement:(id)element error:(NSError **)error
89
+ {
90
+ id interface = [self accessibilityInterface];
91
+ Class actionClass = NSClassFromString(@"XCUIAccessibilityAction");
92
+ if (nil == interface || nil == actionClass || nil == element) {
93
+ return NO;
94
+ }
95
+ @try {
96
+ id action = ((id (*)(id, SEL, id))objc_msgSend)([actionClass alloc],
97
+ NSSelectorFromString(@"initWithActionName:"),
98
+ @"AXPress");
99
+ return ((AMPerformActionFn)objc_msgSend)(interface,
100
+ NSSelectorFromString(@"performAction:onElement:value:error:"),
101
+ action, element, nil, error);
102
+ } @catch (NSException *e) {
103
+ [FBLogger logFmt:@"Cannot press the accessibility element. Original error: %@", e.reason];
104
+ return NO;
105
+ }
106
+ }
107
+
108
+ @end
@@ -77,6 +77,7 @@
77
77
  71336AF42BD1348F00997FF4 /* AMXCUIDeviceWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 71336AF32BD1348F00997FF4 /* AMXCUIDeviceWrapper.m */; };
78
78
  71336AF52BD1348F00997FF4 /* AMXCUIDeviceWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 71336AF22BD1348F00997FF4 /* AMXCUIDeviceWrapper.h */; };
79
79
  71336AF72BD15B4D00997FF4 /* AMDeviceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 71336AF62BD15B4D00997FF4 /* AMDeviceTests.m */; };
80
+ 7A1D0C0B2F5E4B3100A9C1D2 /* AMWindowTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A1D0C0A2F5E4B3100A9C1D2 /* AMWindowTests.m */; };
80
81
  713A9D11256683E900118D07 /* XCUIElementQuery+AMHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 713A9D0F256683E900118D07 /* XCUIElementQuery+AMHelpers.h */; };
81
82
  713A9D12256683E900118D07 /* XCUIElementQuery+AMHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 713A9D10256683E900118D07 /* XCUIElementQuery+AMHelpers.m */; };
82
83
  713A9D1D256696AA00118D07 /* FBCustomCommands.m in Sources */ = {isa = PBXBuildFile; fileRef = 713A9D1B256696AA00118D07 /* FBCustomCommands.m */; };
@@ -191,6 +192,10 @@
191
192
  71B8B684267265D7009CE50C /* AMVariousElementTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 71B8B683267265D7009CE50C /* AMVariousElementTests.m */; };
192
193
  71E109222D55EBD0008A800D /* AMScreenUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E109212D55EBD0008A800D /* AMScreenUtils.m */; };
193
194
  71E109232D55EBD0008A800D /* AMScreenUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E109202D55EBD0008A800D /* AMScreenUtils.h */; };
195
+ 7A1D0C0E2F5E4B3100A9C1D2 /* AMWindowUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A1D0C0C2F5E4B3100A9C1D2 /* AMWindowUtils.h */; };
196
+ 7A1D0C2E2F5E4B3100A9C1D2 /* AMXCTAccessibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A1D0C2C2F5E4B3100A9C1D2 /* AMXCTAccessibility.h */; };
197
+ 7A1D0C2F2F5E4B3100A9C1D2 /* AMXCTAccessibility.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A1D0C2D2F5E4B3100A9C1D2 /* AMXCTAccessibility.m */; };
198
+ 7A1D0C0F2F5E4B3100A9C1D2 /* AMWindowUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A1D0C0D2F5E4B3100A9C1D2 /* AMWindowUtils.m */; };
194
199
  7C7DDBDEEA5313473955510E /* RouteResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 99A3E0766E623F457DF47C5D /* RouteResponse.m */; };
195
200
  9658B1E3C9D26CA3A0404106 /* AMHTTPServer.m in Sources */ = {isa = PBXBuildFile; fileRef = A82A3B74608C4054AD527A2F /* AMHTTPServer.m */; };
196
201
  AA013B2B4F9CF195D153D94C /* RouteResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A5BB9951BC45450114B976DD /* RouteResponse.h */; };
@@ -279,6 +284,7 @@
279
284
  71336AF22BD1348F00997FF4 /* AMXCUIDeviceWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMXCUIDeviceWrapper.h; sourceTree = "<group>"; };
280
285
  71336AF32BD1348F00997FF4 /* AMXCUIDeviceWrapper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMXCUIDeviceWrapper.m; sourceTree = "<group>"; };
281
286
  71336AF62BD15B4D00997FF4 /* AMDeviceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMDeviceTests.m; sourceTree = "<group>"; };
287
+ 7A1D0C0A2F5E4B3100A9C1D2 /* AMWindowTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMWindowTests.m; sourceTree = "<group>"; };
282
288
  713A9D0F256683E900118D07 /* XCUIElementQuery+AMHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "XCUIElementQuery+AMHelpers.h"; sourceTree = "<group>"; };
283
289
  713A9D10256683E900118D07 /* XCUIElementQuery+AMHelpers.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "XCUIElementQuery+AMHelpers.m"; sourceTree = "<group>"; };
284
290
  713A9D1B256696AA00118D07 /* FBCustomCommands.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FBCustomCommands.m; sourceTree = "<group>"; };
@@ -451,6 +457,10 @@
451
457
  71B8B683267265D7009CE50C /* AMVariousElementTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMVariousElementTests.m; sourceTree = "<group>"; };
452
458
  71E109202D55EBD0008A800D /* AMScreenUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMScreenUtils.h; sourceTree = "<group>"; };
453
459
  71E109212D55EBD0008A800D /* AMScreenUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMScreenUtils.m; sourceTree = "<group>"; };
460
+ 7A1D0C0C2F5E4B3100A9C1D2 /* AMWindowUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMWindowUtils.h; sourceTree = "<group>"; };
461
+ 7A1D0C0D2F5E4B3100A9C1D2 /* AMWindowUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMWindowUtils.m; sourceTree = "<group>"; };
462
+ 7A1D0C2C2F5E4B3100A9C1D2 /* AMXCTAccessibility.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMXCTAccessibility.h; sourceTree = "<group>"; };
463
+ 7A1D0C2D2F5E4B3100A9C1D2 /* AMXCTAccessibility.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMXCTAccessibility.m; sourceTree = "<group>"; };
454
464
  99A3E0766E623F457DF47C5D /* RouteResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RouteResponse.m; sourceTree = "<group>"; };
455
465
  A14FCEABDDD9E126A7774B1F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
456
466
  A5BB9951BC45450114B976DD /* RouteResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RouteResponse.h; sourceTree = "<group>"; };
@@ -696,6 +706,10 @@
696
706
  715117512E8C452E00C90122 /* AMPasteboard.m */,
697
707
  71E109202D55EBD0008A800D /* AMScreenUtils.h */,
698
708
  71E109212D55EBD0008A800D /* AMScreenUtils.m */,
709
+ 7A1D0C0C2F5E4B3100A9C1D2 /* AMWindowUtils.h */,
710
+ 7A1D0C0D2F5E4B3100A9C1D2 /* AMWindowUtils.m */,
711
+ 7A1D0C2C2F5E4B3100A9C1D2 /* AMXCTAccessibility.h */,
712
+ 7A1D0C2D2F5E4B3100A9C1D2 /* AMXCTAccessibility.m */,
699
713
  718D2C302567FED3005F533B /* AMSessionCapabilities.h */,
700
714
  718D2C312567FED3005F533B /* AMSessionCapabilities.m */,
701
715
  718D2BF125678B4E005F533B /* AMSnapshotUtils.h */,
@@ -800,6 +814,7 @@
800
814
  718D2C072567A028005F533B /* AMElementAttributesTests.m */,
801
815
  718D2C202567D8A8005F533B /* AMEditElementTests.m */,
802
816
  71336AF62BD15B4D00997FF4 /* AMDeviceTests.m */,
817
+ 7A1D0C0A2F5E4B3100A9C1D2 /* AMWindowTests.m */,
803
818
  71440CE32D54D8C90048EA32 /* AMAccessibilityAuditTests.m */,
804
819
  71440CDF2D54D8C90048EA32 /* AMVideoRecordingTests.m */,
805
820
  71B00E9F2566D9570010DA73 /* AMFindElementTests.m */,
@@ -912,6 +927,8 @@
912
927
  7109C0172565B581006BFD13 /* FBRouteRequest.h in Headers */,
913
928
  7180C216257AA707008FA870 /* XCUIElement+AMHitPoint.h in Headers */,
914
929
  71E109232D55EBD0008A800D /* AMScreenUtils.h in Headers */,
930
+ 7A1D0C0E2F5E4B3100A9C1D2 /* AMWindowUtils.h in Headers */,
931
+ 7A1D0C2E2F5E4B3100A9C1D2 /* AMXCTAccessibility.h in Headers */,
915
932
  719E6A6E25822DB800777988 /* XCUIApplication+AMUIInterruptions.h in Headers */,
916
933
  718D2BF325678B4E005F533B /* AMSnapshotUtils.h in Headers */,
917
934
  7109BFCF2565B517006BFD13 /* FBProtocolHelpers.h in Headers */,
@@ -1157,6 +1174,8 @@
1157
1174
  71440CC82D54AB460048EA32 /* AMVideoCommands.m in Sources */,
1158
1175
  7109BFDC2565B529006BFD13 /* AMSettings.m in Sources */,
1159
1176
  71E109222D55EBD0008A800D /* AMScreenUtils.m in Sources */,
1177
+ 7A1D0C0F2F5E4B3100A9C1D2 /* AMWindowUtils.m in Sources */,
1178
+ 7A1D0C2F2F5E4B3100A9C1D2 /* AMXCTAccessibility.m in Sources */,
1160
1179
  713A9D3D2566AA2300118D07 /* AMGeometryUtils.m in Sources */,
1161
1180
  7109C0312565B5AE006BFD13 /* FBScreenshotCommands.m in Sources */,
1162
1181
  7109BFFA2565B556006BFD13 /* FBExceptions.m in Sources */,
@@ -1235,6 +1254,7 @@
1235
1254
  buildActionMask = 2147483647;
1236
1255
  files = (
1237
1256
  71336AF72BD15B4D00997FF4 /* AMDeviceTests.m in Sources */,
1257
+ 7A1D0C0B2F5E4B3100A9C1D2 /* AMWindowTests.m in Sources */,
1238
1258
  71B00EA62566DBAF0010DA73 /* AMSourceTests.m in Sources */,
1239
1259
  718D2C212567D8A8005F533B /* AMEditElementTests.m in Sources */,
1240
1260
  715117552E8C4C3300C90122 /* AMPasteboardTests.m in Sources */,
@@ -1,6 +1,7 @@
1
1
  import type EventEmitter from 'node:events';
2
2
  import type { AppiumLogger, StringRecord } from '@appium/types';
3
3
  import type { Mac2Driver } from '../driver.js';
4
+ import type { Rect } from '../types.js';
4
5
  interface ActiveVideoInfo {
5
6
  fps: number;
6
7
  codec: number;
@@ -11,6 +12,7 @@ interface ActiveVideoInfo {
11
12
  interface DisplayInfo {
12
13
  id: number;
13
14
  isMain: boolean;
15
+ rect: Rect;
14
16
  }
15
17
  export declare class NativeVideoChunksBroadcaster {
16
18
  private readonly _ee;
@@ -1 +1 @@
1
- {"version":3,"file":"native-record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAI5C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAM9D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAkB7C,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAIzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IAKjE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAc;IACnD,OAAO,CAAC,WAAW,CAAU;gBAEjB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;IAS/C,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhD;;;;;;;;;OASG;YACW,gBAAgB;YA6GhB,KAAK;YAiBL,QAAQ;IAyBtB;;;OAGG;YACW,aAAa;IAQ3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAKzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,UAAU,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,UAAU,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACxC,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC9C,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,MAAM,CAAC,CA6DjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAE5F"}
1
+ {"version":3,"file":"native-record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAI5C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAM9D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAkBtC,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAIzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IAKjE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAc;IACnD,OAAO,CAAC,WAAW,CAAU;gBAEjB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;IAS/C,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhD;;;;;;;;;OASG;YACW,gBAAgB;YA6GhB,KAAK;YAiBL,QAAQ;IAyBtB;;;OAGG;YACW,aAAa;IAQ3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAKzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,UAAU,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,UAAU,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACxC,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC9C,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,MAAM,CAAC,CA6DjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAE5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"native-record-screen.js","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-record-screen.js","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Mac2Driver } from '../driver.js';
2
+ import type { AdjustedWindowInfo, WindowInfo, WindowState } from '../types.js';
3
+ /**
4
+ * Lists the windows of the current application
5
+ *
6
+ * @returns Information about each window, including its element identifier
7
+ */
8
+ export declare function macosListWindows(this: Mac2Driver): Promise<WindowInfo[]>;
9
+ /**
10
+ * Changes the state and/or geometry of an application window, optionally moving it to another display
11
+ *
12
+ * @param windowId - Identifier of the window element. The main window is used by default
13
+ * @param state - The state to put the window into
14
+ * @param x - Horizontal origin. Global, or relative to the display if `displayId` is set
15
+ * @param y - Vertical origin. Global, or relative to the display if `displayId` is set
16
+ * @param width - Window width
17
+ * @param height - Window height
18
+ * @param displayId - Identifier of the display to move the window to
19
+ * @returns The updated window information. `windowId` is null if a minimized window was adjusted
20
+ */
21
+ export declare function macosAdjustWindow(this: Mac2Driver, windowId?: string, state?: WindowState, x?: number, y?: number, width?: number, height?: number, displayId?: number): Promise<AdjustedWindowInfo>;
22
+ //# sourceMappingURL=windows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../lib/commands/windows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAC,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AAE7E;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAE9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,WAAW,EACnB,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Lists the windows of the current application
3
+ *
4
+ * @returns Information about each window, including its element identifier
5
+ */
6
+ export async function macosListWindows() {
7
+ return (await this.wda.proxy.command('/wda/windows', 'GET'));
8
+ }
9
+ /**
10
+ * Changes the state and/or geometry of an application window, optionally moving it to another display
11
+ *
12
+ * @param windowId - Identifier of the window element. The main window is used by default
13
+ * @param state - The state to put the window into
14
+ * @param x - Horizontal origin. Global, or relative to the display if `displayId` is set
15
+ * @param y - Vertical origin. Global, or relative to the display if `displayId` is set
16
+ * @param width - Window width
17
+ * @param height - Window height
18
+ * @param displayId - Identifier of the display to move the window to
19
+ * @returns The updated window information. `windowId` is null if a minimized window was adjusted
20
+ */
21
+ export async function macosAdjustWindow(windowId, state, x, y, width, height, displayId) {
22
+ return (await this.wda.proxy.command('/wda/window/adjust', 'POST', {
23
+ windowId,
24
+ state,
25
+ x,
26
+ y,
27
+ width,
28
+ height,
29
+ displayId,
30
+ }));
31
+ }
32
+ //# sourceMappingURL=windows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../lib/commands/windows.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAiB,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAErC,QAAiB,EACjB,KAAmB,EACnB,CAAU,EACV,CAAU,EACV,KAAc,EACd,MAAe,EACf,SAAkB;IAElB,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE;QACjE,QAAQ;QACR,KAAK;QACL,CAAC;QACD,CAAC;QACD,KAAK;QACL,MAAM;QACN,SAAS;KACV,CAAC,CAAuB,CAAC;AAC5B,CAAC"}
@@ -12,6 +12,7 @@ import * as navigationCommands from './commands/navigation.js';
12
12
  import * as recordScreenCommands from './commands/record-screen.js';
13
13
  import * as screenshotCommands from './commands/screenshots.js';
14
14
  import * as sourceCommands from './commands/source.js';
15
+ import * as windowCommands from './commands/windows.js';
15
16
  import { type Mac2Constraints } from './constraints.js';
16
17
  import { type WDAMacServer } from './wda-mac.js';
17
18
  type W3CMac2DriverCaps = W3CDriverCaps<Mac2Constraints>;
@@ -146,6 +147,15 @@ export declare class Mac2Driver extends BaseDriver<Mac2Constraints, StringRecord
146
147
  readonly optional: readonly ["displayId"];
147
148
  };
148
149
  };
150
+ readonly 'macos: listWindows': {
151
+ readonly command: "macosListWindows";
152
+ };
153
+ readonly 'macos: adjustWindow': {
154
+ readonly command: "macosAdjustWindow";
155
+ readonly params: {
156
+ readonly optional: readonly ["windowId", "state", "x", "y", "width", "height", "displayId"];
157
+ };
158
+ };
149
159
  readonly 'macos: appleScript': {
150
160
  readonly command: "macosExecAppleScript";
151
161
  readonly params: {
@@ -263,11 +273,15 @@ export declare class Mac2Driver extends BaseDriver<Mac2Constraints, StringRecord
263
273
  macosListDisplays: typeof nativeScreenRecordingCommands.macosListDisplays;
264
274
  macosScreenshots: typeof screenshotCommands.macosScreenshots;
265
275
  macosSource: typeof sourceCommands.macosSource;
276
+ macosListWindows: typeof windowCommands.macosListWindows;
277
+ macosAdjustWindow: typeof windowCommands.macosAdjustWindow;
266
278
  _videoChunksBroadcaster: nativeScreenRecordingCommands.NativeVideoChunksBroadcaster;
267
279
  _screenRecorder: recordScreenCommands.ScreenRecorder | null;
268
280
  proxyReqRes: (...args: any) => any;
269
281
  private isProxyActive;
270
282
  private _wda;
283
+ private _wdaSessionId;
284
+ private _hasClaimedHost;
271
285
  constructor(opts?: InitialOpts);
272
286
  get wda(): WDAMacServer;
273
287
  onSettingsUpdate(key: string, value: unknown): Promise<void>;
@@ -279,6 +293,7 @@ export declare class Mac2Driver extends BaseDriver<Mac2Constraints, StringRecord
279
293
  getWindowRect(): Promise<any>;
280
294
  createSession(w3cCaps1: W3CMac2DriverCaps, w3cCaps2?: W3CMac2DriverCaps, w3cCaps3?: W3CMac2DriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<Mac2Constraints>>;
281
295
  deleteSession(): Promise<void>;
296
+ private teardownSession;
282
297
  private resetState;
283
298
  }
284
299
  export default Mac2Driver;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseDriver, DeviceSettings } from 'appium/driver.js';
1
+ import { BaseDriver, DeviceSettings, errors } from 'appium/driver.js';
2
2
  import * as appManagemenetCommands from './commands/app-management.js';
3
3
  import * as appleScriptCommands from './commands/applescript.js';
4
4
  import * as auditCommands from './commands/audit.js';
@@ -11,10 +11,12 @@ import * as navigationCommands from './commands/navigation.js';
11
11
  import * as recordScreenCommands from './commands/record-screen.js';
12
12
  import * as screenshotCommands from './commands/screenshots.js';
13
13
  import * as sourceCommands from './commands/source.js';
14
+ import * as windowCommands from './commands/windows.js';
14
15
  import MAC2_CONSTRAINTS from './constraints.js';
15
16
  import { executeMethodMap } from './execute-method-map.js';
16
17
  import log from './logger.js';
17
18
  import { newMethodMap } from './method-map.js';
19
+ import { sessionClaimHandler } from './session-claim-handler.js';
18
20
  import { WDA_MAC_SERVER } from './wda-mac.js';
19
21
  const NO_PROXY = [
20
22
  ['GET', new RegExp('^/session/[^/]+/appium')],
@@ -65,11 +67,15 @@ export class Mac2Driver extends BaseDriver {
65
67
  macosListDisplays = nativeScreenRecordingCommands.macosListDisplays;
66
68
  macosScreenshots = screenshotCommands.macosScreenshots;
67
69
  macosSource = sourceCommands.macosSource;
70
+ macosListWindows = windowCommands.macosListWindows;
71
+ macosAdjustWindow = windowCommands.macosAdjustWindow;
68
72
  _videoChunksBroadcaster;
69
73
  _screenRecorder = null;
70
74
  proxyReqRes;
71
75
  isProxyActive = false;
72
76
  _wda = null;
77
+ _wdaSessionId = null;
78
+ _hasClaimedHost = false;
73
79
  constructor(opts = {}) {
74
80
  super(opts);
75
81
  this.desiredCapConstraints = structuredClone(MAC2_CONSTRAINTS);
@@ -91,13 +97,18 @@ export class Mac2Driver extends BaseDriver {
91
97
  if (!this._wda) {
92
98
  throw new Error('WDA server is not initialized');
93
99
  }
100
+ // The WDA server is shared and only supports a single session, so a newer
101
+ // session replaces this one. Never send commands on its behalf after that.
102
+ if (this._wdaSessionId && !this._wda.isSessionActive(this._wdaSessionId)) {
103
+ throw new errors.NoSuchDriverError('This session has been replaced by a newer one, because this driver only supports a single session');
104
+ }
94
105
  return this._wda;
95
106
  }
96
107
  async onSettingsUpdate(key, value) {
97
108
  if (!this._wda) {
98
109
  return;
99
110
  }
100
- return await this._wda.proxy.command('/appium/settings', 'POST', {
111
+ return await this.wda.proxy.command('/appium/settings', 'POST', {
101
112
  settings: { [key]: value },
102
113
  });
103
114
  }
@@ -113,10 +124,7 @@ export class Mac2Driver extends BaseDriver {
113
124
  return true;
114
125
  }
115
126
  async proxyCommand(url, method, body = null) {
116
- if (!this._wda) {
117
- throw new Error('WDA server is not initialized');
118
- }
119
- return await this._wda.proxy.command(url, method, body);
127
+ return await this.wda.proxy.command(url, method, body);
120
128
  }
121
129
  async getStatus() {
122
130
  if (!this._wda) {
@@ -126,10 +134,7 @@ export class Mac2Driver extends BaseDriver {
126
134
  }
127
135
  // needed to make image plugin work
128
136
  async getWindowRect() {
129
- if (!this._wda) {
130
- throw new Error('WDA server is not initialized');
131
- }
132
- return await this._wda.proxy.command('/window/rect', 'GET');
137
+ return await this.wda.proxy.command('/window/rect', 'GET');
133
138
  }
134
139
  async createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData) {
135
140
  const [sessionId, caps] = await super.createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData);
@@ -137,34 +142,49 @@ export class Mac2Driver extends BaseDriver {
137
142
  this.caps = caps;
138
143
  // oxlint-disable-next-line no-self-assign -- narrows this.opts' type for the rest of the method
139
144
  this.opts = this.opts;
140
- try {
141
- const prerun = caps.prerun;
142
- if (prerun) {
143
- if (typeof prerun.command !== 'string' && typeof prerun.script !== 'string') {
144
- throw new Error(`'prerun' capability value must either contain 'script' or 'command' entry of string type`);
145
- }
146
- log.info('Executing prerun AppleScript');
147
- const output = await this.macosExecAppleScript(prerun.script, undefined, prerun.command);
148
- if (output.trim()) {
149
- log.info(`Prerun script output: ${output}`);
145
+ // The host supports a single session: the previous one has to quit first
146
+ await sessionClaimHandler.runExclusive(async () => {
147
+ // The session might have been deleted while it was waiting for its turn
148
+ if (!this._wda || !this.sessionId) {
149
+ throw new errors.NoSuchDriverError('The session has been deleted before it could start');
150
+ }
151
+ try {
152
+ await sessionClaimHandler.registerActiveSession(this);
153
+ await sessionClaimHandler.claimHost(this);
154
+ this._hasClaimedHost = true;
155
+ const prerun = caps.prerun;
156
+ if (prerun) {
157
+ if (typeof prerun.command !== 'string' && typeof prerun.script !== 'string') {
158
+ throw new Error(`'prerun' capability value must either contain 'script' or 'command' entry of string type`);
159
+ }
160
+ log.info('Executing prerun AppleScript');
161
+ const output = await this.macosExecAppleScript(prerun.script, undefined, prerun.command);
162
+ if (output.trim()) {
163
+ log.info(`Prerun script output: ${output}`);
164
+ }
150
165
  }
166
+ this._wdaSessionId = await this.wda.startSession(caps, {
167
+ reqBasePath: this.basePath,
168
+ });
151
169
  }
152
- await this._wda.startSession(caps, {
153
- reqBasePath: this.basePath,
154
- });
155
- }
156
- catch (e) {
157
- await this.deleteSession();
158
- throw e;
159
- }
160
- this.proxyReqRes = this.wda.proxy.proxyReqRes.bind(this._wda.proxy);
170
+ catch (e) {
171
+ await this.deleteSession();
172
+ throw e;
173
+ }
174
+ });
175
+ this.proxyReqRes = (...args) => this.wda.proxy.proxyReqRes.apply(this.wda.proxy, args);
161
176
  this.isProxyActive = true;
162
177
  return [sessionId, caps];
163
178
  }
164
179
  async deleteSession() {
180
+ sessionClaimHandler.unregisterActiveSession(this);
181
+ // A new session waits for the teardown to complete before it starts
182
+ await sessionClaimHandler.trackTeardown(async () => await this.teardownSession());
183
+ }
184
+ async teardownSession() {
165
185
  await this._screenRecorder?.stop(true);
166
186
  if (this._videoChunksBroadcaster.hasPublishers) {
167
- if (this._wda) {
187
+ if (this._wda?.isSessionActive(this._wdaSessionId)) {
168
188
  try {
169
189
  await this.wda.proxy.command('/wda/video/stop', 'POST', {});
170
190
  }
@@ -173,9 +193,10 @@ export class Mac2Driver extends BaseDriver {
173
193
  await this._videoChunksBroadcaster.shutdown(5000);
174
194
  }
175
195
  if (this._wda) {
176
- await this.wda.stopSession();
196
+ await this._wda.stopSession(this._wdaSessionId);
177
197
  }
178
- const postrun = this.opts.postrun;
198
+ // Skip postrun if the host was never acquired, as the previous session might still be using it
199
+ const postrun = this._hasClaimedHost ? this.opts.postrun : undefined;
179
200
  if (postrun) {
180
201
  if (typeof postrun.command !== 'string' && typeof postrun.script !== 'string') {
181
202
  log.error(`'postrun' capability value must either contain 'script' or 'command' entry of string type`);
@@ -198,6 +219,8 @@ export class Mac2Driver extends BaseDriver {
198
219
  }
199
220
  resetState() {
200
221
  this._wda = null;
222
+ this._wdaSessionId = null;
223
+ this._hasClaimedHost = false;
201
224
  this.isProxyActive = false;
202
225
  this._videoChunksBroadcaster = new nativeScreenRecordingCommands.NativeVideoChunksBroadcaster(this.eventEmitter, this.log);
203
226
  this._screenRecorder = null;