@appium/base-driver 9.3.14 → 9.3.15
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/build/lib/basedriver/commands/index.d.ts +0 -1
- package/build/lib/basedriver/commands/index.d.ts.map +1 -1
- package/build/lib/basedriver/commands/index.js +0 -1
- package/build/lib/basedriver/commands/index.js.map +1 -1
- package/build/lib/basedriver/commands/log.d.ts +1 -1
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js.map +1 -1
- package/build/lib/basedriver/core.d.ts +35 -111
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +21 -75
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/basedriver/desired-caps.d.ts +2 -2
- package/build/lib/basedriver/desired-caps.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.d.ts +4 -3
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +5 -2
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/driver.d.ts +8 -7
- package/build/lib/basedriver/driver.d.ts.map +1 -1
- package/build/lib/basedriver/driver.js +22 -10
- package/build/lib/basedriver/driver.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts +1 -1
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/constants.d.ts +9 -8
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js.map +1 -1
- package/build/lib/express/middleware.d.ts +1 -1
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/server.d.ts +3 -3
- package/build/lib/index.d.ts +2 -2
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +2 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts +6 -5
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +1 -0
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/protocol/errors.d.ts +2 -2
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +1 -0
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.d.ts +2 -2
- package/build/lib/protocol/helpers.d.ts.map +1 -1
- package/build/lib/protocol/index.d.ts +17 -17
- package/build/lib/protocol/index.d.ts.map +1 -1
- package/build/lib/protocol/protocol.d.ts +2 -2
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/routes.d.ts +1 -1
- package/lib/basedriver/commands/index.ts +0 -1
- package/lib/basedriver/commands/log.ts +3 -3
- package/lib/basedriver/{core.js → core.ts} +74 -149
- package/lib/basedriver/device-settings.js +6 -2
- package/lib/basedriver/driver.ts +45 -28
- package/lib/{constants.js → constants.ts} +2 -1
- package/lib/index.js +1 -1
- package/lib/jsonwp-proxy/proxy.js +1 -0
- package/lib/protocol/errors.js +1 -0
- package/package.json +6 -6
- package/build/lib/basedriver/commands/settings.d.ts +0 -6
- package/build/lib/basedriver/commands/settings.d.ts.map +0 -1
- package/build/lib/basedriver/commands/settings.js +0 -19
- package/build/lib/basedriver/commands/settings.js.map +0 -1
- package/lib/basedriver/commands/settings.ts +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.ts"],"names":[],"mappings":";;AAAA,mBAAiB;AACjB,kBAAgB;AAChB,iBAAe;AACf,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.ts"],"names":[],"mappings":";;AAAA,mBAAiB;AACjB,kBAAgB;AAChB,iBAAe;AACf,qBAAmB;AACnB,qBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAU,YAAY,EAAC,MAAM,eAAe,CAAC;AAKrE,OAAO,QAAQ,WAAW,CAAC;IAEzB,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,YAAY;KAAG;CACpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":";;;;;AACA,oDAAuB;AAEvB,mCAA8B;AAO9B,MAAM,WAAW,GAAiB;IAChC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":";;;;;AACA,oDAAuB;AAEvB,mCAA8B;AAO9B,MAAM,WAAW,GAAiB;IAChC,iBAAiB,EAAE,EAAE;IAErB,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAyC,OAAe;QAClE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACxC,MAAM,yBAAyB,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YACrF,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,OAAO,CAAC,KAAK;gBAC3C,oBAAoB,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAClE,CAAC;SACH;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC"}
|
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export
|
|
8
|
-
export type Core<C extends import("@appium/types").Constraints, S extends StringRecord = StringRecord> = import('@appium/types').Core<C, S>;
|
|
9
|
-
export type DriverOpts<C extends import("@appium/types").Constraints> = import('@appium/types').DriverOpts<C>;
|
|
10
|
-
/**
|
|
11
|
-
* @template {Constraints} C
|
|
12
|
-
* @template {StringRecord} [Settings=StringRecord]
|
|
13
|
-
* @implements {Core<C, Settings>}
|
|
14
|
-
*/
|
|
15
|
-
export class DriverCore<C extends import("@appium/types").Constraints, Settings extends StringRecord = StringRecord> implements Core<C, Settings> {
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import type { AppiumLogger, Constraints, Core, Driver, DriverOpts, EventHistory, HTTPMethod, InitialOpts, Protocol, RouteMatcher, StringRecord } from '@appium/types';
|
|
4
|
+
import AsyncLock from 'async-lock';
|
|
5
|
+
import DeviceSettings from './device-settings';
|
|
6
|
+
import helpers from './helpers';
|
|
7
|
+
export declare class DriverCore<const C extends Constraints, Settings extends StringRecord = StringRecord> implements Core<C, Settings> {
|
|
16
8
|
/**
|
|
17
9
|
* Make the basedriver version available so for any driver which inherits from this package, we
|
|
18
10
|
* know which version of basedriver it inherited from
|
|
19
11
|
*/
|
|
20
12
|
static baseVersion: string;
|
|
21
|
-
/**
|
|
22
|
-
* @param {DriverOpts<C>} opts
|
|
23
|
-
* @param {boolean} [shouldValidateCaps]
|
|
24
|
-
*/
|
|
25
|
-
constructor(opts?: DriverOpts<C>, shouldValidateCaps?: boolean | undefined);
|
|
26
|
-
/**
|
|
27
|
-
* @type {string?}
|
|
28
|
-
*/
|
|
29
13
|
sessionId: string | null;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*/
|
|
33
|
-
opts: import('@appium/types').DriverOpts<C>;
|
|
34
|
-
/**
|
|
35
|
-
* @type {import('@appium/types').DriverOpts<C>}
|
|
36
|
-
*/
|
|
37
|
-
initialOpts: import('@appium/types').DriverOpts<C>;
|
|
38
|
-
/** @type {typeof helpers} */
|
|
14
|
+
opts: DriverOpts<C>;
|
|
15
|
+
initialOpts: InitialOpts;
|
|
39
16
|
helpers: typeof helpers;
|
|
40
17
|
/**
|
|
41
18
|
* basePath is used for several purposes, for example in setting up
|
|
@@ -44,63 +21,42 @@ export class DriverCore<C extends import("@appium/types").Constraints, Settings
|
|
|
44
21
|
* initially but it is automatically updated during any actual program
|
|
45
22
|
* execution by the routeConfiguringFunction, which is necessarily run as
|
|
46
23
|
* the entrypoint for any Appium server
|
|
47
|
-
* @type {string}
|
|
48
24
|
*/
|
|
49
25
|
basePath: string;
|
|
50
|
-
/** @type {boolean} */
|
|
51
26
|
relaxedSecurityEnabled: boolean;
|
|
52
|
-
/** @type {string[]} */
|
|
53
27
|
allowInsecure: string[];
|
|
54
|
-
/** @type {string[]} */
|
|
55
28
|
denyInsecure: string[];
|
|
56
|
-
/** @type {number} */
|
|
57
29
|
newCommandTimeoutMs: number;
|
|
58
|
-
/** @type {number} */
|
|
59
30
|
implicitWaitMs: number;
|
|
60
|
-
/** @type {string[]} */
|
|
61
31
|
locatorStrategies: string[];
|
|
62
|
-
/** @type {string[]} */
|
|
63
32
|
webLocatorStrategies: string[];
|
|
64
|
-
/** @type {Driver[]} */
|
|
65
33
|
managedDrivers: Driver[];
|
|
66
|
-
/** @type {NodeJS.Timeout?} */
|
|
67
34
|
noCommandTimer: NodeJS.Timeout | null;
|
|
68
|
-
|
|
69
|
-
_eventHistory: EventHistory;
|
|
70
|
-
/** @type {NodeJS.EventEmitter} */
|
|
35
|
+
protected _eventHistory: EventHistory;
|
|
71
36
|
eventEmitter: NodeJS.EventEmitter;
|
|
72
37
|
/**
|
|
73
|
-
* @
|
|
74
|
-
*/
|
|
75
|
-
_log: AppiumLogger;
|
|
76
|
-
/**
|
|
77
|
-
* @type {boolean}
|
|
38
|
+
* @privateRemarks XXX: unsure why this is wrapped in a getter when nothing else is
|
|
78
39
|
*/
|
|
40
|
+
protected _log: AppiumLogger;
|
|
79
41
|
shutdownUnexpectedly: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* @type {boolean}
|
|
82
|
-
*/
|
|
83
42
|
shouldValidateCaps: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* @protected
|
|
86
|
-
* @type {AsyncLock}
|
|
87
|
-
*/
|
|
88
43
|
protected commandsQueueGuard: AsyncLock;
|
|
89
44
|
/**
|
|
90
45
|
* settings should be instantiated by drivers which extend BaseDriver, but
|
|
91
46
|
* we set it to an empty DeviceSettings instance here to make sure that the
|
|
92
47
|
* default settings are applied even if an extending driver doesn't utilize
|
|
93
48
|
* the settings functionality itself
|
|
94
|
-
* @type {DeviceSettings<Settings>}
|
|
95
49
|
*/
|
|
96
50
|
settings: DeviceSettings<Settings>;
|
|
97
|
-
|
|
51
|
+
protocol?: Protocol;
|
|
52
|
+
constructor(opts?: InitialOpts, shouldValidateCaps?: boolean);
|
|
53
|
+
get log(): AppiumLogger;
|
|
98
54
|
/**
|
|
99
55
|
* Set a callback handler if needed to execute a custom piece of code
|
|
100
56
|
* when the driver is shut down unexpectedly. Multiple calls to this method
|
|
101
57
|
* will cause the handler to be executed mutiple times
|
|
102
58
|
*
|
|
103
|
-
* @param
|
|
59
|
+
* @param handler The code to be executed on unexpected shutdown.
|
|
104
60
|
* The function may accept one argument, which is the actual error instance, which
|
|
105
61
|
* caused the driver to shut down.
|
|
106
62
|
*/
|
|
@@ -111,23 +67,22 @@ export class DriverCore<C extends import("@appium/types").Constraints, Settings
|
|
|
111
67
|
* properties for driver instances running in parallel.
|
|
112
68
|
* Override it in inherited driver classes if necessary.
|
|
113
69
|
*/
|
|
114
|
-
get driverData():
|
|
70
|
+
get driverData(): {};
|
|
115
71
|
/**
|
|
116
72
|
* This property controls the way the `executeCommand` method
|
|
117
73
|
* handles new driver commands received from the client.
|
|
118
74
|
* Override it for inherited classes only in special cases.
|
|
119
75
|
*
|
|
120
|
-
* @return
|
|
76
|
+
* @return If the returned value is true (default) then all the commands
|
|
121
77
|
* received by the particular driver instance are going to be put into the queue,
|
|
122
78
|
* so each following command will not be executed until the previous command
|
|
123
79
|
* execution is completed. False value disables that queue, so each driver command
|
|
124
80
|
* is executed independently and does not wait for anything.
|
|
125
81
|
*/
|
|
126
82
|
get isCommandsQueueEnabled(): boolean;
|
|
127
|
-
get eventHistory():
|
|
83
|
+
get eventHistory(): EventHistory;
|
|
128
84
|
/**
|
|
129
85
|
* API method for driver developers to log timings for important events
|
|
130
|
-
* @param {string} eventName
|
|
131
86
|
*/
|
|
132
87
|
logEvent(eventName: string): void;
|
|
133
88
|
/**
|
|
@@ -138,35 +93,28 @@ export class DriverCore<C extends import("@appium/types").Constraints, Settings
|
|
|
138
93
|
/**
|
|
139
94
|
* method required by MJSONWP in order to determine whether it should
|
|
140
95
|
* respond with an invalid session response
|
|
141
|
-
* @param {string} [sessionId]
|
|
142
|
-
* @returns {boolean}
|
|
143
96
|
*/
|
|
144
|
-
sessionExists(sessionId
|
|
97
|
+
sessionExists(sessionId: string): boolean;
|
|
145
98
|
/**
|
|
146
99
|
* method required by MJSONWP in order to determine if the command should
|
|
147
100
|
* be proxied directly to the driver
|
|
148
|
-
* @param {string} sessionId
|
|
149
|
-
* @returns {Core<C> | null}
|
|
150
101
|
*/
|
|
151
|
-
driverForSession(sessionId: string): Core<
|
|
102
|
+
driverForSession(sessionId: string): Core<Constraints> | null;
|
|
152
103
|
isMjsonwpProtocol(): boolean;
|
|
153
104
|
isW3CProtocol(): boolean;
|
|
154
105
|
setProtocolMJSONWP(): void;
|
|
155
|
-
protocol: string | undefined;
|
|
156
106
|
setProtocolW3C(): void;
|
|
157
107
|
/**
|
|
158
108
|
* Check whether a given feature is enabled via its name
|
|
159
109
|
*
|
|
160
|
-
* @param
|
|
161
|
-
*
|
|
162
|
-
* @returns {Boolean}
|
|
110
|
+
* @param name - name of feature/command
|
|
163
111
|
*/
|
|
164
112
|
isFeatureEnabled(name: string): boolean;
|
|
165
113
|
/**
|
|
166
114
|
* Assert that a given feature is enabled and throw a helpful error if it's
|
|
167
115
|
* not
|
|
168
116
|
*
|
|
169
|
-
* @param
|
|
117
|
+
* @param name - name of feature/command
|
|
170
118
|
* @deprecated
|
|
171
119
|
*/
|
|
172
120
|
ensureFeatureEnabled(name: string): void;
|
|
@@ -174,57 +122,33 @@ export class DriverCore<C extends import("@appium/types").Constraints, Settings
|
|
|
174
122
|
* Assert that a given feature is enabled and throw a helpful error if it's
|
|
175
123
|
* not
|
|
176
124
|
*
|
|
177
|
-
* @param
|
|
125
|
+
* @param name - name of feature/command
|
|
178
126
|
*/
|
|
179
127
|
assertFeatureEnabled(name: string): void;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
*/
|
|
185
|
-
validateLocatorStrategy(strategy: string, webContext?: boolean | undefined): void;
|
|
186
|
-
/**
|
|
187
|
-
*
|
|
188
|
-
* @param {string} [sessionId]
|
|
189
|
-
* @returns {boolean}
|
|
190
|
-
*/
|
|
191
|
-
proxyActive(sessionId?: string | undefined): boolean;
|
|
192
|
-
/**
|
|
193
|
-
*
|
|
194
|
-
* @param {string} sessionId
|
|
195
|
-
* @returns {import('@appium/types').RouteMatcher[]}
|
|
196
|
-
*/
|
|
197
|
-
getProxyAvoidList(sessionId: string): import('@appium/types').RouteMatcher[];
|
|
198
|
-
/**
|
|
199
|
-
*
|
|
200
|
-
* @param {string} [sessionId]
|
|
201
|
-
* @returns {boolean}
|
|
202
|
-
*/
|
|
203
|
-
canProxy(sessionId?: string | undefined): boolean;
|
|
128
|
+
validateLocatorStrategy(strategy: string, webContext?: boolean): void;
|
|
129
|
+
proxyActive(sessionId: string): boolean;
|
|
130
|
+
getProxyAvoidList(sessionId: string): RouteMatcher[];
|
|
131
|
+
canProxy(sessionId: string): boolean;
|
|
204
132
|
/**
|
|
205
133
|
* Whether a given command route (expressed as method and url) should not be
|
|
206
134
|
* proxied according to this driver
|
|
207
135
|
*
|
|
208
|
-
* @param
|
|
136
|
+
* @param sessionId - the current sessionId (in case the driver runs
|
|
209
137
|
* multiple session ids and requires it). This is not used in this method but
|
|
210
138
|
* should be made available to overridden methods.
|
|
211
|
-
* @param
|
|
212
|
-
* @param
|
|
213
|
-
* @param
|
|
139
|
+
* @param method - HTTP method of the route
|
|
140
|
+
* @param url - url of the route
|
|
141
|
+
* @param [body] - webdriver request body
|
|
214
142
|
*
|
|
215
|
-
* @returns
|
|
143
|
+
* @returns whether the route should be avoided
|
|
216
144
|
*/
|
|
217
|
-
proxyRouteIsAvoided(sessionId: string, method:
|
|
145
|
+
proxyRouteIsAvoided(sessionId: string, method: HTTPMethod, url: string, body?: any): boolean;
|
|
218
146
|
/**
|
|
219
147
|
*
|
|
220
148
|
* @param {Driver} driver
|
|
221
149
|
*/
|
|
222
150
|
addManagedDriver(driver: Driver): void;
|
|
223
|
-
getManagedDrivers():
|
|
151
|
+
getManagedDrivers(): Driver<Constraints, StringRecord, StringRecord, import("@appium/types").DefaultCreateSessionResult<Constraints>, void, StringRecord>[];
|
|
224
152
|
clearNewCommandTimeout(): Promise<void>;
|
|
225
153
|
}
|
|
226
|
-
import helpers from "./helpers";
|
|
227
|
-
import { EventEmitter } from "events";
|
|
228
|
-
import AsyncLock from "async-lock";
|
|
229
|
-
import DeviceSettings from "./device-settings";
|
|
230
154
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/core.
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/core.ts"],"names":[],"mappings":";;AAIA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,OAAyB,MAAM,WAAW,CAAC;AAMlD,qBAAa,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,SAAS,YAAY,GAAG,YAAY,CAC/F,YAAW,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,WAAW,SAAkB;IAEpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAEpB,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,EAAE,OAAO,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,sBAAsB,EAAE,OAAO,CAAC;IAEhC,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,cAAc,EAAE,MAAM,CAAC;IAEvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IAGtC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;IAE7B,oBAAoB,EAAE,OAAO,CAAC;IAE9B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEnC,QAAQ,CAAC,EAAE,QAAQ,CAAC;gBAER,IAAI,GAAE,WAA6B,EAAE,kBAAkB,UAAO;IAmC1E,IAAI,GAAG,iBAEN;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAItD;;;;;OAKG;IACH,IAAI,UAAU,OAEb;IAED;;;;;;;;;;OAUG;IACH,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAMD,IAAI,YAAY,iBAEf;IAED;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM;IAgB1B;;;OAGG;IACG,SAAS;IAIf;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKzC;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;IAI7D,iBAAiB;IAIjB,aAAa;IAIb,kBAAkB;IAIlB,cAAc;IAId;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAqBvC;;;;;;OAMG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAIjC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAYjC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ;IAe5D,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIvC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;IAIpD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO;IAoB5F;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAI/B,iBAAiB;IAIX,sBAAsB;CAM7B"}
|
|
@@ -31,32 +31,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
exports.DriverCore = void 0;
|
|
32
32
|
const support_1 = require("@appium/support");
|
|
33
33
|
const async_lock_1 = __importDefault(require("async-lock"));
|
|
34
|
-
const events_1 = require("events");
|
|
35
34
|
const lodash_1 = __importDefault(require("lodash"));
|
|
36
|
-
const
|
|
35
|
+
const node_events_1 = require("node:events");
|
|
36
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
37
37
|
const constants_1 = require("../constants");
|
|
38
38
|
const protocol_1 = require("../protocol");
|
|
39
39
|
const device_settings_1 = __importDefault(require("./device-settings"));
|
|
40
40
|
const helpers_1 = __importStar(require("./helpers"));
|
|
41
41
|
const NEW_COMMAND_TIMEOUT_MS = 60 * 1000;
|
|
42
42
|
const ON_UNEXPECTED_SHUTDOWN_EVENT = 'onUnexpectedShutdown';
|
|
43
|
-
/**
|
|
44
|
-
* @template {Constraints} C
|
|
45
|
-
* @template {StringRecord} [Settings=StringRecord]
|
|
46
|
-
* @implements {Core<C, Settings>}
|
|
47
|
-
*/
|
|
48
43
|
class DriverCore {
|
|
49
|
-
|
|
50
|
-
* @param {DriverOpts<C>} opts
|
|
51
|
-
* @param {boolean} [shouldValidateCaps]
|
|
52
|
-
*/
|
|
53
|
-
constructor(opts = /** @type {DriverOpts<C>} */ ({}), shouldValidateCaps = true) {
|
|
44
|
+
constructor(opts = {}, shouldValidateCaps = true) {
|
|
54
45
|
this._log = support_1.logger.getLogger(helpers_1.default.generateDriverLogPrefix(this));
|
|
55
46
|
// setup state
|
|
56
47
|
this.opts = opts;
|
|
57
48
|
// use a custom tmp dir to avoid losing data and app when computer is
|
|
58
49
|
// restarted
|
|
59
|
-
this.opts.tmpDir = this.opts.tmpDir || process.env.APPIUM_TMP_DIR ||
|
|
50
|
+
this.opts.tmpDir = this.opts.tmpDir || process.env.APPIUM_TMP_DIR || node_os_1.default.tmpdir();
|
|
60
51
|
// base-driver internals
|
|
61
52
|
this.shouldValidateCaps = shouldValidateCaps;
|
|
62
53
|
// keeping track of initial opts
|
|
@@ -74,7 +65,7 @@ class DriverCore {
|
|
|
74
65
|
this.managedDrivers = [];
|
|
75
66
|
this.noCommandTimer = null;
|
|
76
67
|
this._eventHistory = { commands: [] };
|
|
77
|
-
this.eventEmitter = new
|
|
68
|
+
this.eventEmitter = new node_events_1.EventEmitter();
|
|
78
69
|
this.shutdownUnexpectedly = false;
|
|
79
70
|
this.commandsQueueGuard = new async_lock_1.default();
|
|
80
71
|
this.settings = new device_settings_1.default();
|
|
@@ -87,7 +78,7 @@ class DriverCore {
|
|
|
87
78
|
* when the driver is shut down unexpectedly. Multiple calls to this method
|
|
88
79
|
* will cause the handler to be executed mutiple times
|
|
89
80
|
*
|
|
90
|
-
* @param
|
|
81
|
+
* @param handler The code to be executed on unexpected shutdown.
|
|
91
82
|
* The function may accept one argument, which is the actual error instance, which
|
|
92
83
|
* caused the driver to shut down.
|
|
93
84
|
*/
|
|
@@ -101,14 +92,14 @@ class DriverCore {
|
|
|
101
92
|
* Override it in inherited driver classes if necessary.
|
|
102
93
|
*/
|
|
103
94
|
get driverData() {
|
|
104
|
-
return
|
|
95
|
+
return {};
|
|
105
96
|
}
|
|
106
97
|
/**
|
|
107
98
|
* This property controls the way the `executeCommand` method
|
|
108
99
|
* handles new driver commands received from the client.
|
|
109
100
|
* Override it for inherited classes only in special cases.
|
|
110
101
|
*
|
|
111
|
-
* @return
|
|
102
|
+
* @return If the returned value is true (default) then all the commands
|
|
112
103
|
* received by the particular driver instance are going to be put into the queue,
|
|
113
104
|
* so each following command will not be executed until the previous command
|
|
114
105
|
* execution is completed. False value disables that queue, so each driver command
|
|
@@ -126,7 +117,6 @@ class DriverCore {
|
|
|
126
117
|
}
|
|
127
118
|
/**
|
|
128
119
|
* API method for driver developers to log timings for important events
|
|
129
|
-
* @param {string} eventName
|
|
130
120
|
*/
|
|
131
121
|
logEvent(eventName) {
|
|
132
122
|
if (eventName === 'commands') {
|
|
@@ -153,8 +143,6 @@ class DriverCore {
|
|
|
153
143
|
/**
|
|
154
144
|
* method required by MJSONWP in order to determine whether it should
|
|
155
145
|
* respond with an invalid session response
|
|
156
|
-
* @param {string} [sessionId]
|
|
157
|
-
* @returns {boolean}
|
|
158
146
|
*/
|
|
159
147
|
sessionExists(sessionId) {
|
|
160
148
|
if (!sessionId)
|
|
@@ -164,11 +152,9 @@ class DriverCore {
|
|
|
164
152
|
/**
|
|
165
153
|
* method required by MJSONWP in order to determine if the command should
|
|
166
154
|
* be proxied directly to the driver
|
|
167
|
-
* @param {string} sessionId
|
|
168
|
-
* @returns {Core<C> | null}
|
|
169
155
|
*/
|
|
170
156
|
driverForSession(sessionId) {
|
|
171
|
-
return
|
|
157
|
+
return this;
|
|
172
158
|
}
|
|
173
159
|
isMjsonwpProtocol() {
|
|
174
160
|
return this.protocol === constants_1.PROTOCOLS.MJSONWP;
|
|
@@ -185,9 +171,7 @@ class DriverCore {
|
|
|
185
171
|
/**
|
|
186
172
|
* Check whether a given feature is enabled via its name
|
|
187
173
|
*
|
|
188
|
-
* @param
|
|
189
|
-
*
|
|
190
|
-
* @returns {Boolean}
|
|
174
|
+
* @param name - name of feature/command
|
|
191
175
|
*/
|
|
192
176
|
isFeatureEnabled(name) {
|
|
193
177
|
// if we have explicitly denied this feature, return false immediately
|
|
@@ -210,7 +194,7 @@ class DriverCore {
|
|
|
210
194
|
* Assert that a given feature is enabled and throw a helpful error if it's
|
|
211
195
|
* not
|
|
212
196
|
*
|
|
213
|
-
* @param
|
|
197
|
+
* @param name - name of feature/command
|
|
214
198
|
* @deprecated
|
|
215
199
|
*/
|
|
216
200
|
ensureFeatureEnabled(name) {
|
|
@@ -220,7 +204,7 @@ class DriverCore {
|
|
|
220
204
|
* Assert that a given feature is enabled and throw a helpful error if it's
|
|
221
205
|
* not
|
|
222
206
|
*
|
|
223
|
-
* @param
|
|
207
|
+
* @param name - name of feature/command
|
|
224
208
|
*/
|
|
225
209
|
assertFeatureEnabled(name) {
|
|
226
210
|
if (!this.isFeatureEnabled(name)) {
|
|
@@ -231,11 +215,6 @@ class DriverCore {
|
|
|
231
215
|
`/appium/blob/master/docs/en/writing-running-appium/security.md`);
|
|
232
216
|
}
|
|
233
217
|
}
|
|
234
|
-
/**
|
|
235
|
-
*
|
|
236
|
-
* @param {string} strategy
|
|
237
|
-
* @param {boolean} [webContext]
|
|
238
|
-
*/
|
|
239
218
|
validateLocatorStrategy(strategy, webContext = false) {
|
|
240
219
|
let validStrategies = this.locatorStrategies;
|
|
241
220
|
this.log.debug(`Valid locator strategies for this request: ${validStrategies.join(', ')}`);
|
|
@@ -246,27 +225,12 @@ class DriverCore {
|
|
|
246
225
|
throw new protocol_1.errors.InvalidSelectorError(`Locator Strategy '${strategy}' is not supported for this session`);
|
|
247
226
|
}
|
|
248
227
|
}
|
|
249
|
-
/**
|
|
250
|
-
*
|
|
251
|
-
* @param {string} [sessionId]
|
|
252
|
-
* @returns {boolean}
|
|
253
|
-
*/
|
|
254
228
|
proxyActive(sessionId) {
|
|
255
229
|
return false;
|
|
256
230
|
}
|
|
257
|
-
/**
|
|
258
|
-
*
|
|
259
|
-
* @param {string} sessionId
|
|
260
|
-
* @returns {import('@appium/types').RouteMatcher[]}
|
|
261
|
-
*/
|
|
262
231
|
getProxyAvoidList(sessionId) {
|
|
263
232
|
return [];
|
|
264
233
|
}
|
|
265
|
-
/**
|
|
266
|
-
*
|
|
267
|
-
* @param {string} [sessionId]
|
|
268
|
-
* @returns {boolean}
|
|
269
|
-
*/
|
|
270
234
|
canProxy(sessionId) {
|
|
271
235
|
return false;
|
|
272
236
|
}
|
|
@@ -274,28 +238,28 @@ class DriverCore {
|
|
|
274
238
|
* Whether a given command route (expressed as method and url) should not be
|
|
275
239
|
* proxied according to this driver
|
|
276
240
|
*
|
|
277
|
-
* @param
|
|
241
|
+
* @param sessionId - the current sessionId (in case the driver runs
|
|
278
242
|
* multiple session ids and requires it). This is not used in this method but
|
|
279
243
|
* should be made available to overridden methods.
|
|
280
|
-
* @param
|
|
281
|
-
* @param
|
|
282
|
-
* @param
|
|
244
|
+
* @param method - HTTP method of the route
|
|
245
|
+
* @param url - url of the route
|
|
246
|
+
* @param [body] - webdriver request body
|
|
283
247
|
*
|
|
284
|
-
* @returns
|
|
248
|
+
* @returns whether the route should be avoided
|
|
285
249
|
*/
|
|
286
250
|
proxyRouteIsAvoided(sessionId, method, url, body) {
|
|
287
|
-
for (
|
|
251
|
+
for (const avoidSchema of this.getProxyAvoidList(sessionId)) {
|
|
288
252
|
if (!lodash_1.default.isArray(avoidSchema) || avoidSchema.length !== 2) {
|
|
289
253
|
throw new Error('Proxy avoidance must be a list of pairs');
|
|
290
254
|
}
|
|
291
|
-
|
|
255
|
+
const [avoidMethod, avoidPathRegex] = avoidSchema;
|
|
292
256
|
if (!lodash_1.default.includes(['GET', 'POST', 'DELETE'], avoidMethod)) {
|
|
293
257
|
throw new Error(`Unrecognized proxy avoidance method '${avoidMethod}'`);
|
|
294
258
|
}
|
|
295
259
|
if (!lodash_1.default.isRegExp(avoidPathRegex)) {
|
|
296
260
|
throw new Error('Proxy avoidance path must be a regular expression');
|
|
297
261
|
}
|
|
298
|
-
|
|
262
|
+
const normalizedUrl = url.replace(new RegExp(`^${lodash_1.default.escapeRegExp(this.basePath)}`), '');
|
|
299
263
|
if (avoidMethod === method && avoidPathRegex.test(normalizedUrl)) {
|
|
300
264
|
return true;
|
|
301
265
|
}
|
|
@@ -319,28 +283,10 @@ class DriverCore {
|
|
|
319
283
|
}
|
|
320
284
|
}
|
|
321
285
|
}
|
|
322
|
-
exports.DriverCore = DriverCore;
|
|
323
286
|
/**
|
|
324
287
|
* Make the basedriver version available so for any driver which inherits from this package, we
|
|
325
288
|
* know which version of basedriver it inherited from
|
|
326
289
|
*/
|
|
327
290
|
DriverCore.baseVersion = helpers_1.BASEDRIVER_VER;
|
|
328
|
-
|
|
329
|
-
* @typedef {import('@appium/types').Driver} Driver
|
|
330
|
-
* @typedef {import('@appium/types').Constraints} Constraints
|
|
331
|
-
* @typedef {import('@appium/types').ServerArgs} ServerArgs
|
|
332
|
-
* @typedef {import('@appium/types').EventHistory} EventHistory
|
|
333
|
-
* @typedef {import('@appium/types').AppiumLogger} AppiumLogger
|
|
334
|
-
* @typedef {import('@appium/types').StringRecord} StringRecord
|
|
335
|
-
* @typedef {import('@appium/types').BaseDriverCapConstraints} BaseDriverCapConstraints
|
|
336
|
-
*/
|
|
337
|
-
/**
|
|
338
|
-
* @template {Constraints} C
|
|
339
|
-
* @template {StringRecord} [S=StringRecord]
|
|
340
|
-
* @typedef {import('@appium/types').Core<C, S>} Core
|
|
341
|
-
*/
|
|
342
|
-
/**
|
|
343
|
-
* @template {Constraints} C
|
|
344
|
-
* @typedef {import('@appium/types').DriverOpts<C>} DriverOpts
|
|
345
|
-
*/
|
|
291
|
+
exports.DriverCore = DriverCore;
|
|
346
292
|
//# sourceMappingURL=core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../lib/basedriver/core.
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../lib/basedriver/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":"AAIA;;EAGI"}
|
|
1
|
+
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":"AAIA;;EAGI;uBANmB,aAAa;cACtB,UAAU"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const MAX_SETTINGS_SIZE: number;
|
|
5
5
|
/**
|
|
6
|
-
* @template {
|
|
6
|
+
* @template {StringRecord} T
|
|
7
7
|
* @implements {IDeviceSettings<T>}
|
|
8
8
|
*/
|
|
9
|
-
export class DeviceSettings<T extends
|
|
9
|
+
export class DeviceSettings<T extends StringRecord> implements IDeviceSettings<T> {
|
|
10
10
|
/**
|
|
11
11
|
* Creates a _shallow copy_ of the `defaultSettings` parameter!
|
|
12
12
|
* @param {T} [defaultSettings]
|
|
@@ -31,5 +31,6 @@ export class DeviceSettings<T extends import("@appium/types").StringRecord<any>>
|
|
|
31
31
|
getSettings(): T;
|
|
32
32
|
}
|
|
33
33
|
export default DeviceSettings;
|
|
34
|
-
export type
|
|
34
|
+
export type StringRecord = import('@appium/types').StringRecord;
|
|
35
|
+
export type IDeviceSettings<T extends StringRecord = StringRecord> = import('@appium/types').IDeviceSettings<T>;
|
|
35
36
|
//# sourceMappingURL=device-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-settings.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/device-settings.js"],"names":[],"mappings":"AAKA;;GAEG;AACH,uCAAkD;AAElD;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"device-settings.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/device-settings.js"],"names":[],"mappings":"AAKA;;GAEG;AACH,uCAAkD;AAElD;;;GAGG;AACH,+EAFgC,CAAC;IAe/B;;;;OAIG;IACH,+HAGC;IApBD;;;OAGG;IACH,qBAFU,CAAC,CAED;IAEV;;;OAGG;IACH,6BAFU,OAAO,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAEzC;IAYlB;;;OAGG;IACH,oBAFW,CAAC,iBA2BX;IAED,iBAEC;CACF;;2BAKY,OAAO,eAAe,EAAE,YAAY;qEAKpC,OAAO,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC"}
|