appium-xcuitest-driver 6.1.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/build/lib/commands/gesture.d.ts +0 -17
- package/build/lib/commands/gesture.d.ts.map +1 -1
- package/build/lib/commands/gesture.js +0 -46
- package/build/lib/commands/gesture.js.map +1 -1
- package/build/lib/commands/proxy-helper.d.ts.map +1 -1
- package/build/lib/commands/proxy-helper.js +0 -6
- package/build/lib/commands/proxy-helper.js.map +1 -1
- package/build/lib/desired-caps.d.ts +54 -50
- package/build/lib/desired-caps.d.ts.map +1 -1
- package/build/lib/desired-caps.js +3 -0
- package/build/lib/desired-caps.js.map +1 -1
- package/build/lib/driver.d.ts +26 -55
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +18 -6
- package/build/lib/driver.js.map +1 -1
- package/build/lib/method-map.d.ts +0 -26
- package/build/lib/method-map.d.ts.map +1 -1
- package/build/lib/method-map.js +0 -15
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/types.d.ts +1 -0
- package/build/lib/types.d.ts.map +1 -1
- package/lib/commands/gesture.js +0 -48
- package/lib/commands/proxy-helper.js +0 -6
- package/lib/desired-caps.js +3 -0
- package/lib/driver.js +20 -11
- package/lib/method-map.js +0 -15
- package/lib/types.ts +1 -0
- package/npm-shrinkwrap.json +16 -13
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6FG"}
|
package/build/lib/method-map.js
CHANGED
|
@@ -19,21 +19,6 @@ exports.newMethodMap = ({
|
|
|
19
19
|
'/session/:sessionId/element/:elementId/location': { GET: { command: 'getLocation' } },
|
|
20
20
|
'/session/:sessionId/element/:elementId/location_in_view': { GET: { command: 'getLocationInView' } },
|
|
21
21
|
'/session/:sessionId/element/:elementId/size': { GET: { command: 'getSize' } },
|
|
22
|
-
'/session/:sessionId/touch/click': {
|
|
23
|
-
POST: { command: 'click', payloadParams: { required: ['element'] } },
|
|
24
|
-
},
|
|
25
|
-
'/session/:sessionId/touch/perform': {
|
|
26
|
-
POST: {
|
|
27
|
-
command: 'performTouch',
|
|
28
|
-
payloadParams: { wrap: 'actions', required: ['actions'] },
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
'/session/:sessionId/touch/multi/perform': {
|
|
32
|
-
POST: {
|
|
33
|
-
command: 'performMultiAction',
|
|
34
|
-
payloadParams: { required: ['actions'], optional: ['elementId'] },
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
22
|
'/session/:sessionId/appium/device/shake': { POST: { command: 'mobileShake' } },
|
|
38
23
|
'/session/:sessionId/appium/device/lock': {
|
|
39
24
|
POST: { command: 'lock', payloadParams: { optional: ['seconds'] } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAwB,CAAC;IAChD,2CAA2C,EAAE;QAC3C,IAAI,EAAE;YACJ,OAAO,EAAE,oBAAoB;YAC7B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAC;SAClC;KACF;IACD,4CAA4C,EAAE;QAC5C,IAAI,EAAE,EAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAC,EAAC;KACnE;IACD,+CAA+C,EAAE,EAAC,GAAG,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC,EAAC;IAClF,+CAA+C,EAAE,EAAC,IAAI,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAC;IAC5E,0BAA0B,EAAE;QAC1B,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAC,EAAC;KAC9D;IACD,iDAAiD,EAAE,EAAC,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC,EAAC;IAClF,yDAAyD,EAAE,EAAC,GAAG,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC,EAAC;IAChG,6CAA6C,EAAE,EAAC,GAAG,EAAE,EAAC,OAAO,EAAE,SAAS,EAAC,EAAC;IAC1E,
|
|
1
|
+
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":"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"}
|
package/build/lib/types.d.ts
CHANGED
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,GAAG,CAAC;IAChB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,sCAAsC,EAAE,GAAG,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yBAAyB,EAAE,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,0CAA0C,EAAE,OAAO,CAAC;IACpD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6BAA6B,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;IAClC,sCAAsC,EAAE,OAAO,CAAC;IAChD,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,GAAG,CAAC;IAChB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,sCAAsC,EAAE,GAAG,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yBAAyB,EAAE,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,0CAA0C,EAAE,OAAO,CAAC;IACpD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6BAA6B,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;IAClC,sCAAsC,EAAE,OAAO,CAAC;IAChD,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/lib/commands/gesture.js
CHANGED
|
@@ -132,54 +132,6 @@ const commands = {
|
|
|
132
132
|
this.log.debug(`Preprocessed actions: ${JSON.stringify(preprocessedActions, null, ' ')}`);
|
|
133
133
|
await this.proxyCommand('/actions', 'POST', {actions: preprocessedActions});
|
|
134
134
|
},
|
|
135
|
-
/**
|
|
136
|
-
* Perform a set of touch actions
|
|
137
|
-
*
|
|
138
|
-
* @param {any[]} gestures - the old MJSONWP style touch action objects
|
|
139
|
-
* @this {XCUITestDriver}
|
|
140
|
-
* @deprecated Use {@linkcode XCUITestDriver.performActions} instead
|
|
141
|
-
*/
|
|
142
|
-
async performTouch(gestures) {
|
|
143
|
-
this.log.debug(`Received the following touch action: ${gesturesChainToString(gestures)}`);
|
|
144
|
-
try {
|
|
145
|
-
return await this.proxyCommand('/wda/touch/perform', 'POST', {actions: gestures});
|
|
146
|
-
} catch (e) {
|
|
147
|
-
if (!this.isWebContext()) {
|
|
148
|
-
throw e;
|
|
149
|
-
}
|
|
150
|
-
this.log.errorAndThrow(
|
|
151
|
-
'The Touch API is aimed for usage in NATIVE context. ' +
|
|
152
|
-
'Consider using "execute" API with custom events trigger script ' +
|
|
153
|
-
`to emulate touch events being in WEBVIEW context. Original error: ${e.message}`,
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
/**
|
|
158
|
-
* Perform a set of touch actions
|
|
159
|
-
*
|
|
160
|
-
* @param {any[]} actions - the old MJSONWP style touch action objects
|
|
161
|
-
* @this {XCUITestDriver}
|
|
162
|
-
* @deprecated Use {@linkcode XCUITestDriver.performActions} instead
|
|
163
|
-
* @group Native Only
|
|
164
|
-
*/
|
|
165
|
-
async performMultiAction(actions) {
|
|
166
|
-
this.log.debug(`Received the following multi touch action:`);
|
|
167
|
-
for (let i in actions) {
|
|
168
|
-
this.log.debug(` ${parseInt(i, 10) + 1}: ${_.map(actions[i], 'action').join('-')}`);
|
|
169
|
-
}
|
|
170
|
-
try {
|
|
171
|
-
return await this.proxyCommand('/wda/touch/multi/perform', 'POST', {actions});
|
|
172
|
-
} catch (e) {
|
|
173
|
-
if (!this.isWebContext()) {
|
|
174
|
-
throw e;
|
|
175
|
-
}
|
|
176
|
-
this.log.errorAndThrow(
|
|
177
|
-
'The MultiTouch API is aimed for usage in NATIVE context. ' +
|
|
178
|
-
'Consider using "execute" API with custom events trigger script ' +
|
|
179
|
-
`to emulate multitouch events being in WEBVIEW context. Original error: ${e.message}`,
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
135
|
/**
|
|
184
136
|
* @param {import('@appium/types').Element|string} el
|
|
185
137
|
* @this {XCUITestDriver}
|
|
@@ -7,12 +7,6 @@ const DELETE = 'DELETE';
|
|
|
7
7
|
const SUPPORTED_METHODS = Object.freeze(new Set(/** @type {const} */ ([GET, POST, DELETE])));
|
|
8
8
|
|
|
9
9
|
const WDA_ROUTES = /** @type {const} */ ({
|
|
10
|
-
'/wda/touch/perform': {
|
|
11
|
-
POST: 'performTouch',
|
|
12
|
-
},
|
|
13
|
-
'/wda/touch/multi/perform': {
|
|
14
|
-
POST: 'performMultiAction',
|
|
15
|
-
},
|
|
16
10
|
'/wda/screen': {
|
|
17
11
|
GET: 'getScreenInfo',
|
|
18
12
|
},
|
package/lib/desired-caps.js
CHANGED
package/lib/driver.js
CHANGED
|
@@ -2,7 +2,7 @@ import IDB from 'appium-idb';
|
|
|
2
2
|
import {getSimulator} from 'appium-ios-simulator';
|
|
3
3
|
import {WebDriverAgent} from 'appium-webdriveragent';
|
|
4
4
|
import {BaseDriver, DeviceSettings} from 'appium/driver';
|
|
5
|
-
import {fs, mjpeg, util} from 'appium/support';
|
|
5
|
+
import {fs, mjpeg, util, timing} from 'appium/support';
|
|
6
6
|
import AsyncLock from 'async-lock';
|
|
7
7
|
import {retry, retryInterval} from 'asyncbox';
|
|
8
8
|
import B from 'bluebird';
|
|
@@ -145,7 +145,6 @@ const NO_PROXY_NATIVE_LIST = [
|
|
|
145
145
|
['POST', /session\/[^\/]+\/location/], // geo location, but not element location
|
|
146
146
|
['POST', /shake/],
|
|
147
147
|
['POST', /timeouts/],
|
|
148
|
-
['POST', /touch/],
|
|
149
148
|
['POST', /url/],
|
|
150
149
|
['POST', /value/],
|
|
151
150
|
['POST', /window/],
|
|
@@ -643,19 +642,16 @@ class XCUITestDriver extends BaseDriver {
|
|
|
643
642
|
await this.activateRecentWebview();
|
|
644
643
|
}
|
|
645
644
|
if (this.isSafari()) {
|
|
646
|
-
if (
|
|
647
|
-
!(
|
|
648
|
-
this.opts.safariInitialUrl === '' ||
|
|
649
|
-
(this.opts.noReset && _.isNil(this.opts.safariInitialUrl))
|
|
650
|
-
)
|
|
651
|
-
) {
|
|
645
|
+
if (shouldSetInitialSafariUrl(this.opts)) {
|
|
652
646
|
this.log.info(
|
|
653
647
|
`About to set the initial Safari URL to '${this.getCurrentUrl()}'.` +
|
|
654
648
|
`Use 'safariInitialUrl' capability in order to customize it`,
|
|
655
649
|
);
|
|
656
650
|
await this.setUrl(this.getCurrentUrl());
|
|
657
651
|
} else {
|
|
658
|
-
|
|
652
|
+
const currentUrl = await this.getUrl();
|
|
653
|
+
this.log.info(`Current URL: ${currentUrl}`);
|
|
654
|
+
this.setCurrentUrl(currentUrl);
|
|
659
655
|
}
|
|
660
656
|
}
|
|
661
657
|
}
|
|
@@ -1404,13 +1400,19 @@ class XCUITestDriver extends BaseDriver {
|
|
|
1404
1400
|
} else if (this.opts.autoDismissAlerts) {
|
|
1405
1401
|
wdaCaps.defaultAlertAction = 'dismiss';
|
|
1406
1402
|
}
|
|
1403
|
+
if (this.opts.initialDeeplinkUrl) {
|
|
1404
|
+
this.log.info(`The deeplink URL will be set to ${this.opts.initialDeeplinkUrl}`);
|
|
1405
|
+
wdaCaps.initialUrl = this.opts.initialDeeplinkUrl;
|
|
1406
|
+
}
|
|
1407
1407
|
|
|
1408
|
+
const timer = new timing.Timer().start();
|
|
1408
1409
|
await this.proxyCommand('/session', 'POST', {
|
|
1409
1410
|
capabilities: {
|
|
1410
1411
|
firstMatch: [wdaCaps],
|
|
1411
1412
|
alwaysMatch: {},
|
|
1412
1413
|
},
|
|
1413
1414
|
});
|
|
1415
|
+
this.log.info(`WDA session startup took ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
|
|
1414
1416
|
}
|
|
1415
1417
|
|
|
1416
1418
|
// Override Proxy methods from BaseDriver
|
|
@@ -2023,8 +2025,6 @@ class XCUITestDriver extends BaseDriver {
|
|
|
2023
2025
|
click = commands.gestureExtensions.click;
|
|
2024
2026
|
releaseActions = commands.gestureExtensions.releaseActions;
|
|
2025
2027
|
performActions = commands.gestureExtensions.performActions;
|
|
2026
|
-
performTouch = commands.gestureExtensions.performTouch;
|
|
2027
|
-
performMultiAction = commands.gestureExtensions.performMultiAction;
|
|
2028
2028
|
nativeClick = commands.gestureExtensions.nativeClick;
|
|
2029
2029
|
mobileScrollToElement = commands.gestureExtensions.mobileScrollToElement;
|
|
2030
2030
|
mobileScroll = commands.gestureExtensions.mobileScroll;
|
|
@@ -2230,6 +2230,15 @@ class XCUITestDriver extends BaseDriver {
|
|
|
2230
2230
|
mobileListXCTestsInTestBundle = commands.xctestExtensions.mobileListXCTestsInTestBundle;
|
|
2231
2231
|
}
|
|
2232
2232
|
|
|
2233
|
+
/**
|
|
2234
|
+
* @param {XCUITestDriverOpts} opts
|
|
2235
|
+
* @returns {boolean}
|
|
2236
|
+
*/
|
|
2237
|
+
function shouldSetInitialSafariUrl(opts) {
|
|
2238
|
+
return !(opts.safariInitialUrl === '' || (opts.noReset && _.isNil(opts.safariInitialUrl)))
|
|
2239
|
+
&& !opts.initialDeeplinkUrl;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2233
2242
|
export default XCUITestDriver;
|
|
2234
2243
|
export {XCUITestDriver};
|
|
2235
2244
|
|
package/lib/method-map.js
CHANGED
|
@@ -16,21 +16,6 @@ export const newMethodMap = /** @type {const} */ ({
|
|
|
16
16
|
'/session/:sessionId/element/:elementId/location': {GET: {command: 'getLocation'}},
|
|
17
17
|
'/session/:sessionId/element/:elementId/location_in_view': {GET: {command: 'getLocationInView'}},
|
|
18
18
|
'/session/:sessionId/element/:elementId/size': {GET: {command: 'getSize'}},
|
|
19
|
-
'/session/:sessionId/touch/click': {
|
|
20
|
-
POST: {command: 'click', payloadParams: {required: ['element']}},
|
|
21
|
-
},
|
|
22
|
-
'/session/:sessionId/touch/perform': {
|
|
23
|
-
POST: {
|
|
24
|
-
command: 'performTouch',
|
|
25
|
-
payloadParams: {wrap: 'actions', required: ['actions']},
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
'/session/:sessionId/touch/multi/perform': {
|
|
29
|
-
POST: {
|
|
30
|
-
command: 'performMultiAction',
|
|
31
|
-
payloadParams: {required: ['actions'], optional: ['elementId']},
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
19
|
'/session/:sessionId/appium/device/shake': {POST: {command: 'mobileShake'}},
|
|
35
20
|
'/session/:sessionId/appium/device/lock': {
|
|
36
21
|
POST: {command: 'lock', payloadParams: {optional: ['seconds']}},
|
package/lib/types.ts
CHANGED
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-xcuitest-driver",
|
|
9
|
-
"version": "
|
|
9
|
+
"version": "7.0.0",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@colors/colors": "^1.6.0",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"appium-ios-device": "^2.5.4",
|
|
15
15
|
"appium-ios-simulator": "^5.5.1",
|
|
16
16
|
"appium-remote-debugger": "^10.0.0",
|
|
17
|
-
"appium-webdriveragent": "^
|
|
17
|
+
"appium-webdriveragent": "^7.0.0",
|
|
18
18
|
"appium-xcode": "^5.1.4",
|
|
19
19
|
"async-lock": "^1.4.0",
|
|
20
20
|
"asyncbox": "^3.0.0",
|
|
@@ -929,9 +929,9 @@
|
|
|
929
929
|
}
|
|
930
930
|
},
|
|
931
931
|
"node_modules/appium-webdriveragent": {
|
|
932
|
-
"version": "
|
|
933
|
-
"resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-
|
|
934
|
-
"integrity": "sha512-
|
|
932
|
+
"version": "7.0.0",
|
|
933
|
+
"resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-7.0.0.tgz",
|
|
934
|
+
"integrity": "sha512-YevUm9dJvmjq3Kg5UrkqQ5GRQ6Wg9JKHDmZaiUCDHf6MHAT3tqCi5ngyjSFt60E2X77tQXlV0pYONHIwVkPkTA==",
|
|
935
935
|
"dependencies": {
|
|
936
936
|
"@appium/base-driver": "^9.0.0",
|
|
937
937
|
"@appium/strongbox": "^0.x",
|
|
@@ -1493,17 +1493,20 @@
|
|
|
1493
1493
|
}
|
|
1494
1494
|
},
|
|
1495
1495
|
"node_modules/define-data-property": {
|
|
1496
|
-
"version": "1.1.
|
|
1497
|
-
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.
|
|
1498
|
-
"integrity": "sha512-
|
|
1496
|
+
"version": "1.1.3",
|
|
1497
|
+
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.3.tgz",
|
|
1498
|
+
"integrity": "sha512-h3GBouC+RPtNX2N0hHVLo2ZwPYurq8mLmXpOLTsw71gr7lHt5VaI4vVkDUNOfiWmm48JEXe3VM7PmLX45AMmmg==",
|
|
1499
1499
|
"dependencies": {
|
|
1500
1500
|
"es-errors": "^1.3.0",
|
|
1501
|
-
"get-intrinsic": "^1.2.
|
|
1501
|
+
"get-intrinsic": "^1.2.4",
|
|
1502
1502
|
"gopd": "^1.0.1",
|
|
1503
1503
|
"has-property-descriptors": "^1.0.1"
|
|
1504
1504
|
},
|
|
1505
1505
|
"engines": {
|
|
1506
1506
|
"node": ">= 0.4"
|
|
1507
|
+
},
|
|
1508
|
+
"funding": {
|
|
1509
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
1507
1510
|
}
|
|
1508
1511
|
},
|
|
1509
1512
|
"node_modules/delayed-stream": {
|
|
@@ -2066,9 +2069,9 @@
|
|
|
2066
2069
|
"integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
|
|
2067
2070
|
},
|
|
2068
2071
|
"node_modules/hasown": {
|
|
2069
|
-
"version": "2.0.
|
|
2070
|
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.
|
|
2071
|
-
"integrity": "sha512-
|
|
2072
|
+
"version": "2.0.1",
|
|
2073
|
+
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
|
|
2074
|
+
"integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
|
|
2072
2075
|
"dependencies": {
|
|
2073
2076
|
"function-bind": "^1.1.2"
|
|
2074
2077
|
},
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"xcuitest",
|
|
9
9
|
"xctest"
|
|
10
10
|
],
|
|
11
|
-
"version": "
|
|
11
|
+
"version": "7.0.0",
|
|
12
12
|
"author": "Appium Contributors",
|
|
13
13
|
"license": "Apache-2.0",
|
|
14
14
|
"repository": {
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"appium-ios-device": "^2.5.4",
|
|
82
82
|
"appium-ios-simulator": "^5.5.1",
|
|
83
83
|
"appium-remote-debugger": "^10.0.0",
|
|
84
|
-
"appium-webdriveragent": "^
|
|
84
|
+
"appium-webdriveragent": "^7.0.0",
|
|
85
85
|
"appium-xcode": "^5.1.4",
|
|
86
86
|
"async-lock": "^1.4.0",
|
|
87
87
|
"asyncbox": "^3.0.0",
|