appium-mac2-driver 1.4.5 → 1.4.7
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 +9 -0
- package/README.md +2 -2
- package/WebDriverAgentMac/WebDriverAgentLib/Categories/XCUIElementQuery+AMHelpers.m +2 -2
- package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBSessionCommands.m +3 -2
- package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBSession.h +8 -0
- package/WebDriverAgentMac/WebDriverAgentLib/Utilities/FBConfiguration.h +0 -8
- package/WebDriverAgentMac/WebDriverAgentLib/Utilities/FBConfiguration.m +0 -12
- package/build/lib/commands/app-management.js +1 -5
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/applescript.js +1 -3
- package/build/lib/commands/applescript.js.map +1 -1
- package/build/lib/commands/find.js +1 -2
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/gestures.js +1 -16
- package/build/lib/commands/gestures.js.map +1 -1
- package/build/lib/commands/index.js +2 -3
- package/build/lib/commands/index.js.map +1 -1
- package/build/lib/commands/record-screen.js +1 -3
- package/build/lib/commands/record-screen.js.map +1 -1
- package/build/lib/commands/screenshots.js +1 -3
- package/build/lib/commands/screenshots.js.map +1 -1
- package/build/lib/commands/source.js +1 -2
- package/build/lib/commands/source.js.map +1 -1
- package/build/lib/utils.js +1 -3
- package/build/lib/utils.js.map +1 -1
- package/build/lib/wda-mac.js +1 -3
- package/build/lib/wda-mac.js.map +1 -1
- package/npm-shrinkwrap.json +430 -357
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
+
## [1.4.7](https://github.com/appium/appium-mac2-driver/compare/v1.4.6...v1.4.7) (2022-12-01)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Miscellaneous Chores
|
|
5
|
+
|
|
6
|
+
* update releaserc ([#175](https://github.com/appium/appium-mac2-driver/issues/175)) ([4ca7259](https://github.com/appium/appium-mac2-driver/commit/4ca72598913be1bb0c5852521530a99838d37f97))
|
|
7
|
+
|
|
8
|
+
## [1.4.6](https://github.com/appium/appium-mac2-driver/compare/v1.4.5...v1.4.6) (2022-11-29)
|
|
9
|
+
|
|
1
10
|
## [1.4.5](https://github.com/appium/appium-mac2-driver/compare/v1.4.4...v1.4.5) (2022-11-06)
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ The original idea and parts of the source code are borrowed from the Facebook's
|
|
|
13
13
|
|
|
14
14
|
> **Note**
|
|
15
15
|
>
|
|
16
|
-
> Since version 1.0.0 Mac2 driver has dropped the support of Appium 1, and is only compatible to Appium 2. Use the `appium driver install mac2`
|
|
16
|
+
> Since version 1.0.0 Mac2 driver has dropped the support of Appium 1, and is only compatible to Appium 2. Use the `appium driver install mac2`
|
|
17
17
|
> command to add it to your Appium 2 dist.
|
|
18
18
|
|
|
19
19
|
|
|
@@ -22,6 +22,7 @@ The original idea and parts of the source code are borrowed from the Facebook's
|
|
|
22
22
|
On top of standard Appium requirements Mac2 driver also expects the following prerequisites:
|
|
23
23
|
|
|
24
24
|
- macOS 10.15 or later
|
|
25
|
+
- macOS 11.3 or later and less than macOS 12, and Xcode 12 combination does not work as the build failure
|
|
25
26
|
- Xcode 12 or later should be installed
|
|
26
27
|
- Xcode Helper app should be enabled for Accessibility access. The app itself could be usually found at `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/Xcode Helper.app`. In order to enable Accessibility access for it simply open the parent folder in Finder: `open /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/` and drag & drop the `Xcode Helper` app to `Security & Privacy -> Privacy -> Accessibility` list of your `System Preferences`. This action must only be done once.
|
|
27
28
|
- `testmanagerd` proccess requires UIAutomation authentication since macOS 12. `automationmodetool enable-automationmode-without-authentication` command may help to disable it. This may be particularly useful in CI environments. [Apple forum thread](https://developer.apple.com/forums/thread/693850).
|
|
@@ -701,4 +702,3 @@ Execute `npm run test` to run unit tests and `npm run e2e-test` to run integrati
|
|
|
701
702
|
## Notes
|
|
702
703
|
|
|
703
704
|
- W3C actions support is limited (only mouse actions are supported). You could also use `macos:` extension APIs to cover your test scenarios
|
|
704
|
-
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
#import "XCUIElementQuery+AMHelpers.h"
|
|
18
18
|
|
|
19
|
-
#import "
|
|
19
|
+
#import "FBSession.h"
|
|
20
20
|
|
|
21
21
|
@implementation XCUIElementQuery (AMHelpers)
|
|
22
22
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
- (NSArray<XCUIElement *> *)am_allMatches
|
|
29
29
|
{
|
|
30
|
-
return
|
|
30
|
+
return FBSession.activeSession.boundElementsByIndex
|
|
31
31
|
? self.allElementsBoundByIndex
|
|
32
32
|
: self.allElementsBoundByAccessibilityElement;
|
|
33
33
|
}
|
|
@@ -110,6 +110,7 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
|
|
|
110
110
|
} else {
|
|
111
111
|
session.skipAppTermination = noReset;
|
|
112
112
|
}
|
|
113
|
+
session.boundElementsByIndex = NO;
|
|
113
114
|
|
|
114
115
|
return FBResponseWithObject(FBSessionCommands.sessionInformation);
|
|
115
116
|
}
|
|
@@ -176,7 +177,7 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
|
|
|
176
177
|
XCUIApplication *application = FBSession.activeSession.currentApplication;
|
|
177
178
|
return FBResponseWithObject(
|
|
178
179
|
@{
|
|
179
|
-
AM_BOUND_ELEMENTS_BY_INDEX_SETTING: @(
|
|
180
|
+
AM_BOUND_ELEMENTS_BY_INDEX_SETTING: @(FBSession.activeSession.boundElementsByIndex),
|
|
180
181
|
AM_USE_DEFAULT_UI_INTERRUPTIONS_HANDLING_SETTING: @(!application.am_doesNotHandleUIInterruptions),
|
|
181
182
|
}
|
|
182
183
|
);
|
|
@@ -187,7 +188,7 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
|
|
|
187
188
|
NSDictionary* settings = [request requireDictionaryArgumentWithName:@"settings"];
|
|
188
189
|
|
|
189
190
|
if (nil != [settings objectForKey:AM_BOUND_ELEMENTS_BY_INDEX_SETTING]) {
|
|
190
|
-
|
|
191
|
+
FBSession.activeSession.boundElementsByIndex = [[settings objectForKey:AM_BOUND_ELEMENTS_BY_INDEX_SETTING] boolValue];
|
|
191
192
|
}
|
|
192
193
|
if (nil != [settings objectForKey:AM_USE_DEFAULT_UI_INTERRUPTIONS_HANDLING_SETTING]) {
|
|
193
194
|
XCUIApplication *application = FBSession.activeSession.currentApplication;
|
|
@@ -33,6 +33,14 @@ extern NSString *const FINDER_BUNDLE_ID;
|
|
|
33
33
|
/*! Whether to avoid app under test killing on session termination */
|
|
34
34
|
@property (nonatomic) BOOL skipAppTermination;
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Whether to bound the lookup results by index.
|
|
38
|
+
* By default this is disabled and bounding by accessibility is used.
|
|
39
|
+
* Read https://stackoverflow.com/questions/49307513/meaning-of-allelementsboundbyaccessibilityelement
|
|
40
|
+
* for more details on these two bounding methods.
|
|
41
|
+
*/
|
|
42
|
+
@property (nonatomic) BOOL boundElementsByIndex;
|
|
43
|
+
|
|
36
44
|
+ (nullable instancetype)activeSession;
|
|
37
45
|
|
|
38
46
|
/**
|
|
@@ -47,14 +47,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
47
47
|
*/
|
|
48
48
|
@property (readonly) BOOL verboseLoggingEnabled;
|
|
49
49
|
|
|
50
|
-
/**
|
|
51
|
-
* Whether to bound the lookup results by index.
|
|
52
|
-
* By default this is disabled and bounding by accessibility is used.
|
|
53
|
-
* Read https://stackoverflow.com/questions/49307513/meaning-of-allelementsboundbyaccessibilityelement
|
|
54
|
-
* for more details on these two bounding methods.
|
|
55
|
-
*/
|
|
56
|
-
@property BOOL boundElementsByIndex;
|
|
57
|
-
|
|
58
50
|
/**
|
|
59
51
|
* Extract switch value from arguments
|
|
60
52
|
*
|
|
@@ -12,8 +12,6 @@
|
|
|
12
12
|
static NSUInteger const DefaultStartingPort = 10100;
|
|
13
13
|
static NSUInteger const DefaultPortRange = 100;
|
|
14
14
|
|
|
15
|
-
static BOOL FBShouldBoundElementsByIndex = NO;
|
|
16
|
-
|
|
17
15
|
@implementation FBConfiguration
|
|
18
16
|
|
|
19
17
|
static FBConfiguration *instance;
|
|
@@ -97,16 +95,6 @@ static FBConfiguration *instance;
|
|
|
97
95
|
return [NSProcessInfo.processInfo.environment[@"VERBOSE_LOGGING"] boolValue];
|
|
98
96
|
}
|
|
99
97
|
|
|
100
|
-
- (void)setBoundElementsByIndex:(BOOL)enabled
|
|
101
|
-
{
|
|
102
|
-
FBShouldBoundElementsByIndex = enabled;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
- (BOOL)boundElementsByIndex
|
|
106
|
-
{
|
|
107
|
-
return FBShouldBoundElementsByIndex;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
98
|
#pragma mark Private
|
|
111
99
|
|
|
112
100
|
+ (NSString*)valueFromArguments: (NSArray<NSString *> *)arguments forKey: (NSString*)key
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
require("source-map-support/register");
|
|
8
8
|
const commands = {};
|
|
9
|
-
|
|
10
9
|
commands.macosLaunchApp = async function macosLaunchApp(opts = {}) {
|
|
11
10
|
const {
|
|
12
11
|
bundleId,
|
|
@@ -18,7 +17,6 @@ commands.macosLaunchApp = async function macosLaunchApp(opts = {}) {
|
|
|
18
17
|
bundleId
|
|
19
18
|
});
|
|
20
19
|
};
|
|
21
|
-
|
|
22
20
|
commands.macosActivateApp = async function macosActivateApp(opts = {}) {
|
|
23
21
|
const {
|
|
24
22
|
bundleId
|
|
@@ -27,7 +25,6 @@ commands.macosActivateApp = async function macosActivateApp(opts = {}) {
|
|
|
27
25
|
bundleId
|
|
28
26
|
});
|
|
29
27
|
};
|
|
30
|
-
|
|
31
28
|
commands.macosTerminateApp = async function macosTerminateApp(opts = {}) {
|
|
32
29
|
const {
|
|
33
30
|
bundleId
|
|
@@ -36,7 +33,6 @@ commands.macosTerminateApp = async function macosTerminateApp(opts = {}) {
|
|
|
36
33
|
bundleId
|
|
37
34
|
});
|
|
38
35
|
};
|
|
39
|
-
|
|
40
36
|
commands.macosQueryAppState = async function macosQueryAppState(opts = {}) {
|
|
41
37
|
const {
|
|
42
38
|
bundleId
|
|
@@ -47,4 +43,4 @@ commands.macosQueryAppState = async function macosQueryAppState(opts = {}) {
|
|
|
47
43
|
};
|
|
48
44
|
var _default = commands;
|
|
49
45
|
exports.default = _default;
|
|
50
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1hY29zTGF1bmNoQXBwIiwib3B0cyIsImJ1bmRsZUlkIiwiZW52aXJvbm1lbnQiLCJ3ZGEiLCJwcm94eSIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJtYWNvc0FjdGl2YXRlQXBwIiwibWFjb3NUZXJtaW5hdGVBcHAiLCJtYWNvc1F1ZXJ5QXBwU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLW1hbmFnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMYXVuY2hBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgbGF1bmNoZWRcbiAqIG9yIGFjdGl2YXRlZFxuICogQHByb3BlcnR5IHs/
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1hY29zTGF1bmNoQXBwIiwib3B0cyIsImJ1bmRsZUlkIiwiZW52aXJvbm1lbnQiLCJ3ZGEiLCJwcm94eSIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJtYWNvc0FjdGl2YXRlQXBwIiwibWFjb3NUZXJtaW5hdGVBcHAiLCJtYWNvc1F1ZXJ5QXBwU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLW1hbmFnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMYXVuY2hBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgbGF1bmNoZWRcbiAqIG9yIGFjdGl2YXRlZFxuICogQHByb3BlcnR5IHs/QXJyYXk8c3RyaW5nPn0gYXJndW1lbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHNcbiAqIGZvciB0aGUgYXBwIHRvIGJlIGJlIGxhdW5jaGVkIHdpdGguIFRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQgaWYgdGhlIGFwcFxuICogaXMgYWxyZWFkeSBydW5uaW5nLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudmlyb25tZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyBtYXBwaW5nLiBDdXN0b21cbiAqIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQgcHJvY2VzcyBlbnZpcm9ubWVudC5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyIG9yIGFjdGl2YXRlcyBpdFxuICogaWYgdGhlIGFwcCBpcyBhbHJlYWR5IHJ1bm5pbmcuIEFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlXG4gKiBhcHAgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllciBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hBcHBPcHRpb25zfSBvcHRzXG4gKi9cbmNvbW1hbmRzLm1hY29zTGF1bmNoQXBwID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NMYXVuY2hBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkLCBlbnZpcm9ubWVudCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9sYXVuY2gnLCAnUE9TVCcsIHtcbiAgICBhcmd1bWVudHM6IG9wdHMuYXJndW1lbnRzLFxuICAgIGVudmlyb25tZW50LFxuICAgIGJ1bmRsZUlkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQWN0aXZhdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgYWN0aXZhdGVkXG4gKi9cblxuLyoqXG4gKiBBY3RpdmF0ZSBhbiBhcHAgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQgb3IgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHBhcmFtIHtBY3RpdmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqL1xuY29tbWFuZHMubWFjb3NBY3RpdmF0ZUFwcCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zQWN0aXZhdGVBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkIH0gPSBvcHRzO1xuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZCgnL3dkYS9hcHBzL2FjdGl2YXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXJtaW5hdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgdGVybWluYXRlZFxuICovXG5cbi8qKlxuICogVGVybWluYXRlIGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyLiBBbiBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZVxuICogYXBwIGNhbm5vdCBiZSBmb3VuZC5cbiAqXG4gKiBAcGFyYW0ge1Rlcm1pbmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIGFwcCB3YXMgcnVubmluZyBhbmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZWQuXG4gKiBgZmFsc2VgIGlmIHRoZSBhcHAgd2FzIG5vdCBydW5uaW5nIGJlZm9yZS5cbiAqL1xuY29tbWFuZHMubWFjb3NUZXJtaW5hdGVBcHAgPSBhc3luYyBmdW5jdGlvbiBtYWNvc1Rlcm1pbmF0ZUFwcCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHsgYnVuZGxlSWQgfSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLndkYS5wcm94eS5jb21tYW5kKCcvd2RhL2FwcHMvdGVybWluYXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBRdWVyeUFwcFN0YXRlT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBidW5kbGVJZCBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgYXBwIHdob3NlIHN0YXRlIHNob3VsZCBiZSBxdWVyaWVkXG4gKi9cblxuLyoqXG4gKiBRdWVyeSBhbiBhcHAgc3RhdGUgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtRdWVyeUFwcFN0YXRlT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge251bWJlcn0gVGhlIGFwcGxpY2F0aW9uIHN0YXRlIGNvZGUuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWlhcHBsaWNhdGlvbnN0YXRlP2xhbmd1YWdlPW9iamNcbiAqIGZvciBtb3JlIGRldGFpbHNcbiAqL1xuY29tbWFuZHMubWFjb3NRdWVyeUFwcFN0YXRlID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NRdWVyeUFwcFN0YXRlIChvcHRzID0ge30pIHtcbiAgY29uc3QgeyBidW5kbGVJZCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9zdGF0ZScsICdQT1NUJywgeyBidW5kbGVJZCB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQW9CbkJBLFFBQVEsQ0FBQ0MsY0FBYyxHQUFHLGVBQWVBLGNBQWMsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ2xFLE1BQU07SUFBRUMsUUFBUTtJQUFFQztFQUFZLENBQUMsR0FBR0YsSUFBSTtFQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDRyxHQUFHLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRTtJQUM5REMsU0FBUyxFQUFFTixJQUFJLENBQUNNLFNBQVM7SUFDekJKLFdBQVc7SUFDWEQ7RUFDRixDQUFDLENBQUM7QUFDSixDQUFDO0FBYURILFFBQVEsQ0FBQ1MsZ0JBQWdCLEdBQUcsZUFBZUEsZ0JBQWdCLENBQUVQLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUN0RSxNQUFNO0lBQUVDO0VBQVMsQ0FBQyxHQUFHRCxJQUFJO0VBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUNHLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFO0lBQUVKO0VBQVMsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFlREgsUUFBUSxDQUFDVSxpQkFBaUIsR0FBRyxlQUFlQSxpQkFBaUIsQ0FBRVIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3hFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQWdCREgsUUFBUSxDQUFDVyxrQkFBa0IsR0FBRyxlQUFlQSxrQkFBa0IsQ0FBRVQsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQzFFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUFDLGVBRWFILFFBQVE7QUFBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-management.js","names":["commands","macosLaunchApp","opts","bundleId","environment","wda","proxy","command","arguments","macosActivateApp","macosTerminateApp","macosQueryAppState"],"sources":["../../../lib/commands/app-management.js"],"sourcesContent":["const commands = {};\n\n/**\n * @typedef {Object} LaunchAppOptions\n * @property {!string} bundleId bundle identifier of the app to be launched\n * or activated\n * @property {?Array<string>} arguments the list of command line arguments\n * for the app to be be launched with. This parameter is ignored if the app\n * is already running.\n * @property {Object} environment environment variables mapping. Custom\n * variables are added to the default process environment.\n */\n\n/**\n * Start an app with given bundle identifier or activates it\n * if the app is already running. An exception is thrown if the\n * app with the given identifier cannot be found.\n *\n * @param {LaunchAppOptions} opts\n */\ncommands.macosLaunchApp = async function macosLaunchApp (opts = {}) {\n const { bundleId, environment } = opts;\n return await this.wda.proxy.command('/wda/apps/launch', 'POST', {\n arguments: opts.arguments,\n environment,\n bundleId,\n });\n};\n\n/**\n * @typedef {Object} ActivateAppOptions\n * @property {!string} bundleId bundle identifier of the app to be activated\n */\n\n/**\n * Activate an app with given bundle identifier. An exception is thrown if the\n * app cannot be found or is not running.\n *\n * @param {ActivateAppOptions} opts\n */\ncommands.macosActivateApp = async function macosActivateApp (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/activate', 'POST', { bundleId });\n};\n\n/**\n * @typedef {Object} TerminateAppOptions\n * @property {!string} bundleId bundle identifier of the app to be terminated\n */\n\n/**\n * Terminate an app with given bundle identifier. An exception is thrown if the\n * app cannot be found.\n *\n * @param {TerminateAppOptions} opts\n * @returns {boolean} `true` if the app was running and has been successfully terminated.\n * `false` if the app was not running before.\n */\ncommands.macosTerminateApp = async function macosTerminateApp (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/terminate', 'POST', { bundleId });\n};\n\n/**\n * @typedef {Object} QueryAppStateOptions\n * @property {!string} bundleId bundle identifier of the app whose state should be queried\n */\n\n/**\n * Query an app state with given bundle identifier. An exception is thrown if the\n * app cannot be found.\n *\n * @param {QueryAppStateOptions} opts\n * @returns {number} The application state code. See\n * https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc\n * for more details\n */\ncommands.macosQueryAppState = async function macosQueryAppState (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/state', 'POST', { bundleId });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"app-management.js","names":["commands","macosLaunchApp","opts","bundleId","environment","wda","proxy","command","arguments","macosActivateApp","macosTerminateApp","macosQueryAppState"],"sources":["../../../lib/commands/app-management.js"],"sourcesContent":["const commands = {};\n\n/**\n * @typedef {Object} LaunchAppOptions\n * @property {!string} bundleId bundle identifier of the app to be launched\n * or activated\n * @property {?Array<string>} arguments the list of command line arguments\n * for the app to be be launched with. This parameter is ignored if the app\n * is already running.\n * @property {Object} environment environment variables mapping. Custom\n * variables are added to the default process environment.\n */\n\n/**\n * Start an app with given bundle identifier or activates it\n * if the app is already running. An exception is thrown if the\n * app with the given identifier cannot be found.\n *\n * @param {LaunchAppOptions} opts\n */\ncommands.macosLaunchApp = async function macosLaunchApp (opts = {}) {\n const { bundleId, environment } = opts;\n return await this.wda.proxy.command('/wda/apps/launch', 'POST', {\n arguments: opts.arguments,\n environment,\n bundleId,\n });\n};\n\n/**\n * @typedef {Object} ActivateAppOptions\n * @property {!string} bundleId bundle identifier of the app to be activated\n */\n\n/**\n * Activate an app with given bundle identifier. An exception is thrown if the\n * app cannot be found or is not running.\n *\n * @param {ActivateAppOptions} opts\n */\ncommands.macosActivateApp = async function macosActivateApp (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/activate', 'POST', { bundleId });\n};\n\n/**\n * @typedef {Object} TerminateAppOptions\n * @property {!string} bundleId bundle identifier of the app to be terminated\n */\n\n/**\n * Terminate an app with given bundle identifier. An exception is thrown if the\n * app cannot be found.\n *\n * @param {TerminateAppOptions} opts\n * @returns {boolean} `true` if the app was running and has been successfully terminated.\n * `false` if the app was not running before.\n */\ncommands.macosTerminateApp = async function macosTerminateApp (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/terminate', 'POST', { bundleId });\n};\n\n/**\n * @typedef {Object} QueryAppStateOptions\n * @property {!string} bundleId bundle identifier of the app whose state should be queried\n */\n\n/**\n * Query an app state with given bundle identifier. An exception is thrown if the\n * app cannot be found.\n *\n * @param {QueryAppStateOptions} opts\n * @returns {number} The application state code. See\n * https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc\n * for more details\n */\ncommands.macosQueryAppState = async function macosQueryAppState (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/state', 'POST', { bundleId });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAoBnBA,QAAQ,CAACC,cAAc,GAAG,eAAeA,cAAc,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAClE,MAAM;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGF,IAAI;EACtC,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE;IAC9DC,SAAS,EAAEN,IAAI,CAACM,SAAS;IACzBJ,WAAW;IACXD;EACF,CAAC,CAAC;AACJ,CAAC;AAaDH,QAAQ,CAACS,gBAAgB,GAAG,eAAeA,gBAAgB,CAAEP,IAAI,GAAG,CAAC,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE;IAAEJ;EAAS,CAAC,CAAC;AACjF,CAAC;AAeDH,QAAQ,CAACU,iBAAiB,GAAG,eAAeA,iBAAiB,CAAER,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE;IAAEJ;EAAS,CAAC,CAAC;AAClF,CAAC;AAgBDH,QAAQ,CAACW,kBAAkB,GAAG,eAAeA,kBAAkB,CAAET,IAAI,GAAG,CAAC,CAAC,EAAE;EAC1E,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE;IAAEJ;EAAS,CAAC,CAAC;AAC9E,CAAC;AAAC,eAEaH,QAAQ;AAAA"}
|
|
@@ -13,9 +13,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
13
13
|
const OSASCRIPT = 'osascript';
|
|
14
14
|
const APPLE_SCRIPT_FEATURE = 'apple_script';
|
|
15
15
|
const commands = {};
|
|
16
|
-
|
|
17
16
|
exports.commands = commands;
|
|
18
|
-
|
|
19
17
|
commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
|
|
20
18
|
this.ensureFeatureEnabled(APPLE_SCRIPT_FEATURE);
|
|
21
19
|
const {
|
|
@@ -66,4 +64,4 @@ commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
|
|
|
66
64
|
};
|
|
67
65
|
var _default = commands;
|
|
68
66
|
exports.default = _default;
|
|
69
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPU0FTQ1JJUFQiLCJBUFBMRV9TQ1JJUFRfRkVBVFVSRSIsImNvbW1hbmRzIiwibWFjb3NFeGVjQXBwbGVTY3JpcHQiLCJvcHRzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJzY3JpcHQiLCJsYW5ndWFnZSIsImNvbW1hbmQiLCJjd2QiLCJ0aW1lb3V0IiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsInRlc3QiLCJzaG91bGRSdW5TY3JpcHQiLCJhcmdzIiwicHVzaCIsInRtcFJvb3QiLCJ0ZW1wRGlyIiwib3BlbkRpciIsInRtcFNjcmlwdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwid3JpdGVGaWxlIiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsInN0ZG91dCIsImV4ZWMiLCJlIiwiRXJyb3IiLCJzdGRlcnIiLCJtZXNzYWdlIiwicmltcmFmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FwcGxlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCB0ZW1wRGlyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgT1NBU0NSSVBUID0gJ29zYXNjcmlwdCc7XG5jb25zdCBBUFBMRV9TQ1JJUFRfRkVBVFVSRSA9ICdhcHBsZV9zY3JpcHQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNBcHBsZVNjcmlwdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gc2NyaXB0IEEgdmFsaWQgQXBwbGVTY3JpcHQgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBsYW5ndWFnZSBPdmVycmlkZXMgdGhlIHNjcmlwdGluZyBsYW5ndWFnZS4gQmFzaWNhbGx5LCBzZXRzIHRoZSB2YWx1ZSBvZiBgLWxgIGNvbW1hbmRcbiAqIGxpbmUgYXJndW1lbnQgb2YgYG9zYXNjcmlwdGAgdG9vbC4gSWYgdW5zZXQgdGhlIEFwcGxlU2NyaXB0IGxhbmd1YWdlIGlzIGFzc3VtZWQuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGNvbW1hbmQgQSB2YWxpZCBBcHBsZVNjcmlwdCBhcyBhIHNpbmdsZSBjb21tYW5kIChubyBsaW5lIGJyZWFrcykgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyMDAwMF0gVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgdW50aWwgYSBsb25nLXJ1bm5pbmcgY29tbWFuZCBpc1xuICogZmluaXNoZWQuIEFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgY29tbWFuZCBpcyBzdGlsbCBydW5uaW5nIGFmdGVyIHRoaXMgdGltZW91dCBleHBpcmVzLlxuICogQHByb3BlcnR5IHs/
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPU0FTQ1JJUFQiLCJBUFBMRV9TQ1JJUFRfRkVBVFVSRSIsImNvbW1hbmRzIiwibWFjb3NFeGVjQXBwbGVTY3JpcHQiLCJvcHRzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJzY3JpcHQiLCJsYW5ndWFnZSIsImNvbW1hbmQiLCJjd2QiLCJ0aW1lb3V0IiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsInRlc3QiLCJzaG91bGRSdW5TY3JpcHQiLCJhcmdzIiwicHVzaCIsInRtcFJvb3QiLCJ0ZW1wRGlyIiwib3BlbkRpciIsInRtcFNjcmlwdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwid3JpdGVGaWxlIiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsInN0ZG91dCIsImV4ZWMiLCJlIiwiRXJyb3IiLCJzdGRlcnIiLCJtZXNzYWdlIiwicmltcmFmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FwcGxlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCB0ZW1wRGlyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgT1NBU0NSSVBUID0gJ29zYXNjcmlwdCc7XG5jb25zdCBBUFBMRV9TQ1JJUFRfRkVBVFVSRSA9ICdhcHBsZV9zY3JpcHQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNBcHBsZVNjcmlwdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gc2NyaXB0IEEgdmFsaWQgQXBwbGVTY3JpcHQgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBsYW5ndWFnZSBPdmVycmlkZXMgdGhlIHNjcmlwdGluZyBsYW5ndWFnZS4gQmFzaWNhbGx5LCBzZXRzIHRoZSB2YWx1ZSBvZiBgLWxgIGNvbW1hbmRcbiAqIGxpbmUgYXJndW1lbnQgb2YgYG9zYXNjcmlwdGAgdG9vbC4gSWYgdW5zZXQgdGhlIEFwcGxlU2NyaXB0IGxhbmd1YWdlIGlzIGFzc3VtZWQuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGNvbW1hbmQgQSB2YWxpZCBBcHBsZVNjcmlwdCBhcyBhIHNpbmdsZSBjb21tYW5kIChubyBsaW5lIGJyZWFrcykgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyMDAwMF0gVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgdW50aWwgYSBsb25nLXJ1bm5pbmcgY29tbWFuZCBpc1xuICogZmluaXNoZWQuIEFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgY29tbWFuZCBpcyBzdGlsbCBydW5uaW5nIGFmdGVyIHRoaXMgdGltZW91dCBleHBpcmVzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBjd2QgVGhlIHBhdGggdG8gYW4gZXhpc3RpbmcgZm9sZGVyLCB3aGljaCBpcyBnb2luZyB0byBiZSBzZXQgYXMgdGhlXG4gKiB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQvc2NyaXB0IGJlaW5nIGV4ZWN1dGVkLlxuICovXG5cbi8qKlxuICogRXhlY3V0ZXMgdGhlIGdpdmVuIEFwcGxlU2NyaXB0IGNvbW1hbmQgb3IgYSB3aG9sZSBzY3JpcHQgYmFzZWQgb24gdGhlXG4gKiBnaXZlbiBvcHRpb25zLiBFaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBtdXN0IGJlIHByb3ZpZGVkLiBJZiBib3RoIGFyZSBwcm92aWRlZFxuICogdGhlbiB0aGUgYGNvbW1hbmRgIG9uZSBnZXRzIHRoZSBwcmlvcml0eS5cbiAqIE5vdGUgdGhhdCBBcHBsZVNjcmlwdCBjb21tYW5kIGNhbm5vdCBjb250YWluIGxpbmUgYnJlYWtzLiBDb25zaWRlciBtYWtpbmcgaXRcbiAqIHRvIGEgc2NyaXB0IGluIHN1Y2ggY2FzZS5cbiAqIE5vdGUgdGhhdCBieSBkZWZhdWx0IEFwcGxlU2NyaXB0IGVuZ2luZSBibG9ja3MgY29tbWFuZHMvc2NyaXB0cyBleGVjdXRpb24gaWYgeW91ciBzY3JpcHRcbiAqIGlzIHRyeWluZyB0byBhY2Nlc3Mgc29tZSBwcml2YXRlIGVudGl0aWVzLCBsaWtlIGNhbWVyYXMgb3IgdGhlIGRlc2t0b3Agc2NyZWVuXG4gKiBhbmQgbm8gcGVybWlzc2lvbnMgdG8gZG8gaXQgYXJlIGdpdmVuIHRvIHRoZSBwYXJlbnQgKGZvciBleGFtcGxlLCBBcHBpdW0gb3IgVGVybWluYWwpXG4gKiBwcm9jZXNzIGluIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiBQcml2YWN5IGxpc3QuXG4gKlxuICogQHBhcmFtIHshRXhlY0FwcGxlU2NyaXB0T3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFjdHVhbCBzdGRvdXQgb2YgdGhlIGdpdmVuIGNvbW1hbmQvc2NyaXB0XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGV4aXQgY29kZSBvZiB0aGUgZ2l2ZW4gY29tbWFuZC9zY3JpcHQgaXMgbm90IHplcm8uXG4gKiBUaGUgYWN0dWFsIHN0ZGVyciBvdXRwdXQgaXMgc2V0IHRvIHRoZSBlcnJvciBtZXNzYWdlIHZhbHVlLlxuICovXG5jb21tYW5kcy5tYWNvc0V4ZWNBcHBsZVNjcmlwdCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zRXhlY0FwcGxlU2NyaXB0IChvcHRzID0ge30pIHtcbiAgdGhpcy5lbnN1cmVGZWF0dXJlRW5hYmxlZChBUFBMRV9TQ1JJUFRfRkVBVFVSRSk7XG5cbiAgY29uc3Qge1xuICAgIHNjcmlwdCxcbiAgICBsYW5ndWFnZSxcbiAgICBjb21tYW5kLFxuICAgIGN3ZCxcbiAgICB0aW1lb3V0LFxuICB9ID0gb3B0cztcbiAgaWYgKCFzY3JpcHQgJiYgIWNvbW1hbmQpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQXBwbGVTY3JpcHQgc2NyaXB0L2NvbW1hbmQgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxuICBpZiAoL1xcbi8udGVzdChjb21tYW5kKSkge1xuICAgIGxvZy5lcnJvckFuZFRocm93KCdBcHBsZVNjcmlwdCBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBsaW5lIGJyZWFrcycpO1xuICB9XG4gIC8vICdjb21tYW5kJyBoYXMgcHJpb3JpdHkgb3ZlciAnc2NyaXB0J1xuICBjb25zdCBzaG91bGRSdW5TY3JpcHQgPSAhY29tbWFuZDtcblxuICBjb25zdCBhcmdzID0gW107XG4gIGlmIChsYW5ndWFnZSkge1xuICAgIGFyZ3MucHVzaCgnLWwnLCBsYW5ndWFnZSk7XG4gIH1cbiAgbGV0IHRtcFJvb3Q7XG4gIHRyeSB7XG4gICAgaWYgKHNob3VsZFJ1blNjcmlwdCkge1xuICAgICAgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICAgICAgY29uc3QgdG1wU2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSh0bXBSb290LCAnYXBwaXVtX3NjcmlwdC5zY3B0Jyk7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUodG1wU2NyaXB0UGF0aCwgc2NyaXB0LCAndXRmOCcpO1xuICAgICAgYXJncy5wdXNoKHRtcFNjcmlwdFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmdzLnB1c2goJy1lJywgY29tbWFuZCk7XG4gICAgfVxuICAgIGxvZy5pbmZvKGBSdW5uaW5nICR7T1NBU0NSSVBUfSB3aXRoIGFyZ3VtZW50czogJHt1dGlsLnF1b3RlKGFyZ3MpfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoT1NBU0NSSVBULCBhcmdzLCB7Y3dkLCB0aW1lb3V0fSk7XG4gICAgICByZXR1cm4gc3Rkb3V0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlLnN0ZGVyciB8fCBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodG1wUm9vdCkge1xuICAgICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsTUFBTUEsU0FBUyxHQUFHLFdBQVc7QUFDN0IsTUFBTUMsb0JBQW9CLEdBQUcsY0FBYztBQUUzQyxNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQUM7QUE4QnBCQSxRQUFRLENBQUNDLG9CQUFvQixHQUFHLGVBQWVBLG9CQUFvQixDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDOUUsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0osb0JBQW9CLENBQUM7RUFFL0MsTUFBTTtJQUNKSyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsT0FBTztJQUNQQyxHQUFHO0lBQ0hDO0VBQ0YsQ0FBQyxHQUFHTixJQUFJO0VBQ1IsSUFBSSxDQUFDRSxNQUFNLElBQUksQ0FBQ0UsT0FBTyxFQUFFO0lBQ3ZCRyxlQUFHLENBQUNDLGFBQWEsQ0FBQyw4Q0FBOEMsQ0FBQztFQUNuRTtFQUNBLElBQUksSUFBSSxDQUFDQyxJQUFJLENBQUNMLE9BQU8sQ0FBQyxFQUFFO0lBQ3RCRyxlQUFHLENBQUNDLGFBQWEsQ0FBQyxpREFBaUQsQ0FBQztFQUN0RTtFQUVBLE1BQU1FLGVBQWUsR0FBRyxDQUFDTixPQUFPO0VBRWhDLE1BQU1PLElBQUksR0FBRyxFQUFFO0VBQ2YsSUFBSVIsUUFBUSxFQUFFO0lBQ1pRLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQUksRUFBRVQsUUFBUSxDQUFDO0VBQzNCO0VBQ0EsSUFBSVUsT0FBTztFQUNYLElBQUk7SUFDRixJQUFJSCxlQUFlLEVBQUU7TUFDbkJHLE9BQU8sR0FBRyxNQUFNQyxnQkFBTyxDQUFDQyxPQUFPLEVBQUU7TUFDakMsTUFBTUMsYUFBYSxHQUFHQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0wsT0FBTyxFQUFFLG9CQUFvQixDQUFDO01BQ2pFLE1BQU1NLFdBQUUsQ0FBQ0MsU0FBUyxDQUFDSixhQUFhLEVBQUVkLE1BQU0sRUFBRSxNQUFNLENBQUM7TUFDakRTLElBQUksQ0FBQ0MsSUFBSSxDQUFDSSxhQUFhLENBQUM7SUFDMUIsQ0FBQyxNQUFNO01BQ0xMLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQUksRUFBRVIsT0FBTyxDQUFDO0lBQzFCO0lBQ0FHLGVBQUcsQ0FBQ2MsSUFBSSxDQUFFLFdBQVV6QixTQUFVLG9CQUFtQjBCLGFBQUksQ0FBQ0MsS0FBSyxDQUFDWixJQUFJLENBQUUsRUFBQyxDQUFDO0lBQ3BFLElBQUk7TUFDRixNQUFNO1FBQUNhO01BQU0sQ0FBQyxHQUFHLE1BQU0sSUFBQUMsa0JBQUksRUFBQzdCLFNBQVMsRUFBRWUsSUFBSSxFQUFFO1FBQUNOLEdBQUc7UUFBRUM7TUFBTyxDQUFDLENBQUM7TUFDNUQsT0FBT2tCLE1BQU07SUFDZixDQUFDLENBQUMsT0FBT0UsQ0FBQyxFQUFFO01BQ1YsTUFBTSxJQUFJQyxLQUFLLENBQUNELENBQUMsQ0FBQ0UsTUFBTSxJQUFJRixDQUFDLENBQUNHLE9BQU8sQ0FBQztJQUN4QztFQUNGLENBQUMsU0FBUztJQUNSLElBQUloQixPQUFPLEVBQUU7TUFDWCxNQUFNTSxXQUFFLENBQUNXLE1BQU0sQ0FBQ2pCLE9BQU8sQ0FBQztJQUMxQjtFQUNGO0FBQ0YsQ0FBQztBQUFDLGVBR2FmLFFBQVE7QUFBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applescript.js","names":["OSASCRIPT","APPLE_SCRIPT_FEATURE","commands","macosExecAppleScript","opts","ensureFeatureEnabled","script","language","command","cwd","timeout","log","errorAndThrow","test","shouldRunScript","args","push","tmpRoot","tempDir","openDir","tmpScriptPath","path","resolve","fs","writeFile","info","util","quote","stdout","exec","e","Error","stderr","message","rimraf"],"sources":["../../../lib/commands/applescript.js"],"sourcesContent":["import { fs, tempDir, util } from 'appium/support';\nimport { exec } from 'teen_process';\nimport log from '../logger';\nimport path from 'path';\n\nconst OSASCRIPT = 'osascript';\nconst APPLE_SCRIPT_FEATURE = 'apple_script';\n\nconst commands = {};\n\n/**\n * @typedef {Object} ExecAppleScriptOptions\n * @property {?string} script A valid AppleScript to execute\n * @property {?string} language Overrides the scripting language. Basically, sets the value of `-l` command\n * line argument of `osascript` tool. If unset the AppleScript language is assumed.\n * @property {?string} command A valid AppleScript as a single command (no line breaks) to execute\n * @property {?number} timeout [20000] The number of seconds to wait until a long-running command is\n * finished. An error is thrown if the command is still running after this timeout expires.\n * @property {?string} cwd The path to an existing folder, which is going to be set as the\n * working directory for the command/script being executed.\n */\n\n/**\n * Executes the given AppleScript command or a whole script based on the\n * given options. Either of these options must be provided. If both are provided\n * then the `command` one gets the priority.\n * Note that AppleScript command cannot contain line breaks. Consider making it\n * to a script in such case.\n * Note that by default AppleScript engine blocks commands/scripts execution if your script\n * is trying to access some private entities, like cameras or the desktop screen\n * and no permissions to do it are given to the parent (for example, Appium or Terminal)\n * process in System Preferences -> Privacy list.\n *\n * @param {!ExecAppleScriptOptions} opts\n * @returns {string} The actual stdout of the given command/script\n * @throws {Error} If the exit code of the given command/script is not zero.\n * The actual stderr output is set to the error message value.\n */\ncommands.macosExecAppleScript = async function macosExecAppleScript (opts = {}) {\n this.ensureFeatureEnabled(APPLE_SCRIPT_FEATURE);\n\n const {\n script,\n language,\n command,\n cwd,\n timeout,\n } = opts;\n if (!script && !command) {\n log.errorAndThrow('AppleScript script/command must not be empty');\n }\n if (/\\n/.test(command)) {\n log.errorAndThrow('AppleScript commands cannot contain line breaks');\n }\n // 'command' has priority over 'script'\n const shouldRunScript = !command;\n\n const args = [];\n if (language) {\n args.push('-l', language);\n }\n let tmpRoot;\n try {\n if (shouldRunScript) {\n tmpRoot = await tempDir.openDir();\n const tmpScriptPath = path.resolve(tmpRoot, 'appium_script.scpt');\n await fs.writeFile(tmpScriptPath, script, 'utf8');\n args.push(tmpScriptPath);\n } else {\n args.push('-e', command);\n }\n log.info(`Running ${OSASCRIPT} with arguments: ${util.quote(args)}`);\n try {\n const {stdout} = await exec(OSASCRIPT, args, {cwd, timeout});\n return stdout;\n } catch (e) {\n throw new Error(e.stderr || e.message);\n }\n } finally {\n if (tmpRoot) {\n await fs.rimraf(tmpRoot);\n }\n }\n};\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,MAAMA,SAAS,GAAG,WAAW;AAC7B,MAAMC,oBAAoB,GAAG,cAAc;AAE3C,MAAMC,QAAQ,GAAG,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"applescript.js","names":["OSASCRIPT","APPLE_SCRIPT_FEATURE","commands","macosExecAppleScript","opts","ensureFeatureEnabled","script","language","command","cwd","timeout","log","errorAndThrow","test","shouldRunScript","args","push","tmpRoot","tempDir","openDir","tmpScriptPath","path","resolve","fs","writeFile","info","util","quote","stdout","exec","e","Error","stderr","message","rimraf"],"sources":["../../../lib/commands/applescript.js"],"sourcesContent":["import { fs, tempDir, util } from 'appium/support';\nimport { exec } from 'teen_process';\nimport log from '../logger';\nimport path from 'path';\n\nconst OSASCRIPT = 'osascript';\nconst APPLE_SCRIPT_FEATURE = 'apple_script';\n\nconst commands = {};\n\n/**\n * @typedef {Object} ExecAppleScriptOptions\n * @property {?string} script A valid AppleScript to execute\n * @property {?string} language Overrides the scripting language. Basically, sets the value of `-l` command\n * line argument of `osascript` tool. If unset the AppleScript language is assumed.\n * @property {?string} command A valid AppleScript as a single command (no line breaks) to execute\n * @property {?number} timeout [20000] The number of seconds to wait until a long-running command is\n * finished. An error is thrown if the command is still running after this timeout expires.\n * @property {?string} cwd The path to an existing folder, which is going to be set as the\n * working directory for the command/script being executed.\n */\n\n/**\n * Executes the given AppleScript command or a whole script based on the\n * given options. Either of these options must be provided. If both are provided\n * then the `command` one gets the priority.\n * Note that AppleScript command cannot contain line breaks. Consider making it\n * to a script in such case.\n * Note that by default AppleScript engine blocks commands/scripts execution if your script\n * is trying to access some private entities, like cameras or the desktop screen\n * and no permissions to do it are given to the parent (for example, Appium or Terminal)\n * process in System Preferences -> Privacy list.\n *\n * @param {!ExecAppleScriptOptions} opts\n * @returns {string} The actual stdout of the given command/script\n * @throws {Error} If the exit code of the given command/script is not zero.\n * The actual stderr output is set to the error message value.\n */\ncommands.macosExecAppleScript = async function macosExecAppleScript (opts = {}) {\n this.ensureFeatureEnabled(APPLE_SCRIPT_FEATURE);\n\n const {\n script,\n language,\n command,\n cwd,\n timeout,\n } = opts;\n if (!script && !command) {\n log.errorAndThrow('AppleScript script/command must not be empty');\n }\n if (/\\n/.test(command)) {\n log.errorAndThrow('AppleScript commands cannot contain line breaks');\n }\n // 'command' has priority over 'script'\n const shouldRunScript = !command;\n\n const args = [];\n if (language) {\n args.push('-l', language);\n }\n let tmpRoot;\n try {\n if (shouldRunScript) {\n tmpRoot = await tempDir.openDir();\n const tmpScriptPath = path.resolve(tmpRoot, 'appium_script.scpt');\n await fs.writeFile(tmpScriptPath, script, 'utf8');\n args.push(tmpScriptPath);\n } else {\n args.push('-e', command);\n }\n log.info(`Running ${OSASCRIPT} with arguments: ${util.quote(args)}`);\n try {\n const {stdout} = await exec(OSASCRIPT, args, {cwd, timeout});\n return stdout;\n } catch (e) {\n throw new Error(e.stderr || e.message);\n }\n } finally {\n if (tmpRoot) {\n await fs.rimraf(tmpRoot);\n }\n }\n};\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,MAAMA,SAAS,GAAG,WAAW;AAC7B,MAAMC,oBAAoB,GAAG,cAAc;AAE3C,MAAMC,QAAQ,GAAG,CAAC,CAAC;AAAC;AA8BpBA,QAAQ,CAACC,oBAAoB,GAAG,eAAeA,oBAAoB,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAC9E,IAAI,CAACC,oBAAoB,CAACJ,oBAAoB,CAAC;EAE/C,MAAM;IACJK,MAAM;IACNC,QAAQ;IACRC,OAAO;IACPC,GAAG;IACHC;EACF,CAAC,GAAGN,IAAI;EACR,IAAI,CAACE,MAAM,IAAI,CAACE,OAAO,EAAE;IACvBG,eAAG,CAACC,aAAa,CAAC,8CAA8C,CAAC;EACnE;EACA,IAAI,IAAI,CAACC,IAAI,CAACL,OAAO,CAAC,EAAE;IACtBG,eAAG,CAACC,aAAa,CAAC,iDAAiD,CAAC;EACtE;EAEA,MAAME,eAAe,GAAG,CAACN,OAAO;EAEhC,MAAMO,IAAI,GAAG,EAAE;EACf,IAAIR,QAAQ,EAAE;IACZQ,IAAI,CAACC,IAAI,CAAC,IAAI,EAAET,QAAQ,CAAC;EAC3B;EACA,IAAIU,OAAO;EACX,IAAI;IACF,IAAIH,eAAe,EAAE;MACnBG,OAAO,GAAG,MAAMC,gBAAO,CAACC,OAAO,EAAE;MACjC,MAAMC,aAAa,GAAGC,aAAI,CAACC,OAAO,CAACL,OAAO,EAAE,oBAAoB,CAAC;MACjE,MAAMM,WAAE,CAACC,SAAS,CAACJ,aAAa,EAAEd,MAAM,EAAE,MAAM,CAAC;MACjDS,IAAI,CAACC,IAAI,CAACI,aAAa,CAAC;IAC1B,CAAC,MAAM;MACLL,IAAI,CAACC,IAAI,CAAC,IAAI,EAAER,OAAO,CAAC;IAC1B;IACAG,eAAG,CAACc,IAAI,CAAE,WAAUzB,SAAU,oBAAmB0B,aAAI,CAACC,KAAK,CAACZ,IAAI,CAAE,EAAC,CAAC;IACpE,IAAI;MACF,MAAM;QAACa;MAAM,CAAC,GAAG,MAAM,IAAAC,kBAAI,EAAC7B,SAAS,EAAEe,IAAI,EAAE;QAACN,GAAG;QAAEC;MAAO,CAAC,CAAC;MAC5D,OAAOkB,MAAM;IACf,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,MAAM,IAAIC,KAAK,CAACD,CAAC,CAACE,MAAM,IAAIF,CAAC,CAACG,OAAO,CAAC;IACxC;EACF,CAAC,SAAS;IACR,IAAIhB,OAAO,EAAE;MACX,MAAMM,WAAE,CAACW,MAAM,CAACjB,OAAO,CAAC;IAC1B;EACF;AACF,CAAC;AAAC,eAGaf,QAAQ;AAAA"}
|
|
@@ -7,7 +7,6 @@ exports.default = exports.commands = void 0;
|
|
|
7
7
|
require("source-map-support/register");
|
|
8
8
|
var _support = require("appium/support");
|
|
9
9
|
const commands = {};
|
|
10
|
-
|
|
11
10
|
exports.commands = commands;
|
|
12
11
|
commands.findElOrEls = async function findElOrEls(strategy, selector, mult, context) {
|
|
13
12
|
context = _support.util.unwrapElement(context);
|
|
@@ -24,4 +23,4 @@ commands.findElOrEls = async function findElOrEls(strategy, selector, mult, cont
|
|
|
24
23
|
};
|
|
25
24
|
var _default = commands;
|
|
26
25
|
exports.default = _default;
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsIndkYSIsInByb3h5IiwiY29tbWFuZCIsInVzaW5nIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgbG9va3VwIGJ5IGltYWdlIHdvcmtpbmdcbmNvbW1hbmRzLmZpbmRFbE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gZmluZEVsT3JFbHMgKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gdXRpbC51bndyYXBFbGVtZW50KGNvbnRleHQpO1xuICBjb25zdCBlbmRwb2ludCA9IGAvZWxlbWVudCR7Y29udGV4dCA/IGAvJHtjb250ZXh0fS9lbGVtZW50YCA6ICcnfSR7bXVsdCA/
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsIndkYSIsInByb3h5IiwiY29tbWFuZCIsInVzaW5nIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgbG9va3VwIGJ5IGltYWdlIHdvcmtpbmdcbmNvbW1hbmRzLmZpbmRFbE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gZmluZEVsT3JFbHMgKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gdXRpbC51bndyYXBFbGVtZW50KGNvbnRleHQpO1xuICBjb25zdCBlbmRwb2ludCA9IGAvZWxlbWVudCR7Y29udGV4dCA/IGAvJHtjb250ZXh0fS9lbGVtZW50YCA6ICcnfSR7bXVsdCA/ICdzJyA6ICcnfWA7XG5cbiAgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBwcmVkaWNhdGUgc3RyaW5nJykge1xuICAgIHN0cmF0ZWd5ID0gJ3ByZWRpY2F0ZSBzdHJpbmcnO1xuICB9IGVsc2UgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBjbGFzcyBjaGFpbicpIHtcbiAgICBzdHJhdGVneSA9ICdjbGFzcyBjaGFpbic7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZChlbmRwb2ludCwgJ1BPU1QnLCB7XG4gICAgdXNpbmc6IHN0cmF0ZWd5LFxuICAgIHZhbHVlOiBzZWxlY3RvcixcbiAgfSk7XG59O1xuXG5cbmV4cG9ydCB7IGNvbW1hbmRzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUFDO0FBR3BCQSxRQUFRLENBQUNDLFdBQVcsR0FBRyxlQUFlQSxXQUFXLENBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtFQUNwRkEsT0FBTyxHQUFHQyxhQUFJLENBQUNDLGFBQWEsQ0FBQ0YsT0FBTyxDQUFDO0VBQ3JDLE1BQU1HLFFBQVEsR0FBSSxXQUFVSCxPQUFPLEdBQUksSUFBR0EsT0FBUSxVQUFTLEdBQUcsRUFBRyxHQUFFRCxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUcsRUFBQztFQUVwRixJQUFJRixRQUFRLEtBQUssdUJBQXVCLEVBQUU7SUFDeENBLFFBQVEsR0FBRyxrQkFBa0I7RUFDL0IsQ0FBQyxNQUFNLElBQUlBLFFBQVEsS0FBSyxrQkFBa0IsRUFBRTtJQUMxQ0EsUUFBUSxHQUFHLGFBQWE7RUFDMUI7RUFFQSxPQUFPLE1BQU0sSUFBSSxDQUFDTyxHQUFHLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSCxRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ3BESSxLQUFLLEVBQUVWLFFBQVE7SUFDZlcsS0FBSyxFQUFFVjtFQUNULENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxlQUlhSCxRQUFRO0FBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","names":["commands","findElOrEls","strategy","selector","mult","context","util","unwrapElement","endpoint","wda","proxy","command","using","value"],"sources":["../../../lib/commands/find.js"],"sourcesContent":["import { util } from 'appium/support';\n\n\nconst commands = {};\n\n// This is needed to make lookup by image working\ncommands.findElOrEls = async function findElOrEls (strategy, selector, mult, context) {\n context = util.unwrapElement(context);\n const endpoint = `/element${context ? `/${context}/element` : ''}${mult ? 's' : ''}`;\n\n if (strategy === '-ios predicate string') {\n strategy = 'predicate string';\n } else if (strategy === '-ios class chain') {\n strategy = 'class chain';\n }\n\n return await this.wda.proxy.command(endpoint, 'POST', {\n using: strategy,\n value: selector,\n });\n};\n\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAGA,MAAMA,QAAQ,GAAG,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"find.js","names":["commands","findElOrEls","strategy","selector","mult","context","util","unwrapElement","endpoint","wda","proxy","command","using","value"],"sources":["../../../lib/commands/find.js"],"sourcesContent":["import { util } from 'appium/support';\n\n\nconst commands = {};\n\n// This is needed to make lookup by image working\ncommands.findElOrEls = async function findElOrEls (strategy, selector, mult, context) {\n context = util.unwrapElement(context);\n const endpoint = `/element${context ? `/${context}/element` : ''}${mult ? 's' : ''}`;\n\n if (strategy === '-ios predicate string') {\n strategy = 'predicate string';\n } else if (strategy === '-ios class chain') {\n strategy = 'class chain';\n }\n\n return await this.wda.proxy.command(endpoint, 'POST', {\n using: strategy,\n value: selector,\n });\n};\n\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAGA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAAC;AAGpBA,QAAQ,CAACC,WAAW,GAAG,eAAeA,WAAW,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAE;EACpFA,OAAO,GAAGC,aAAI,CAACC,aAAa,CAACF,OAAO,CAAC;EACrC,MAAMG,QAAQ,GAAI,WAAUH,OAAO,GAAI,IAAGA,OAAQ,UAAS,GAAG,EAAG,GAAED,IAAI,GAAG,GAAG,GAAG,EAAG,EAAC;EAEpF,IAAIF,QAAQ,KAAK,uBAAuB,EAAE;IACxCA,QAAQ,GAAG,kBAAkB;EAC/B,CAAC,MAAM,IAAIA,QAAQ,KAAK,kBAAkB,EAAE;IAC1CA,QAAQ,GAAG,aAAa;EAC1B;EAEA,OAAO,MAAM,IAAI,CAACO,GAAG,CAACC,KAAK,CAACC,OAAO,CAACH,QAAQ,EAAE,MAAM,EAAE;IACpDI,KAAK,EAAEV,QAAQ;IACfW,KAAK,EAAEV;EACT,CAAC,CAAC;AACJ,CAAC;AAAC,eAIaH,QAAQ;AAAA"}
|