appium-uiautomator2-driver 6.7.10 → 6.7.12
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 +12 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/npm-shrinkwrap.json +404 -495
- package/package.json +4 -3
- package/build/test/functional/commands/file-movement-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/file-movement-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/file-movement-e2e-specs.js +0 -100
- package/build/test/functional/commands/file-movement-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.js +0 -64
- package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/by-css-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/by-css-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/by-css-e2e-specs.js +0 -107
- package/build/test/functional/commands/find/by-css-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/by-id-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/by-id-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/by-id-e2e-specs.js +0 -61
- package/build/test/functional/commands/find/by-id-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/by-image-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/by-image-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/by-image-e2e-specs.js +0 -116
- package/build/test/functional/commands/find/by-image-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/by-uiautomator-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/by-uiautomator-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/by-uiautomator-e2e-specs.js +0 -171
- package/build/test/functional/commands/find/by-uiautomator-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/by-xpath-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/by-xpath-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/by-xpath-e2e-specs.js +0 -115
- package/build/test/functional/commands/find/by-xpath-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/find-basic-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/find-basic-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/find-basic-e2e-specs.js +0 -99
- package/build/test/functional/commands/find/find-basic-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.js +0 -66
- package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/from-el-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/from-el-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/from-el-e2e-specs.js +0 -65
- package/build/test/functional/commands/find/from-el-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/find/invalid-strategy-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/find/invalid-strategy-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/find/invalid-strategy-e2e-specs.js +0 -56
- package/build/test/functional/commands/find/invalid-strategy-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/attribute-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/attribute-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/attribute-e2e-specs.js +0 -94
- package/build/test/functional/commands/general/attribute-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/context-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/context-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/context-e2e-specs.js +0 -106
- package/build/test/functional/commands/general/context-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/element-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/element-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/element-e2e-specs.js +0 -84
- package/build/test/functional/commands/general/element-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/general-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/general-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/general-e2e-specs.js +0 -92
- package/build/test/functional/commands/general/general-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/mobile-command-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/mobile-command-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/mobile-command-e2e-specs.js +0 -79
- package/build/test/functional/commands/general/mobile-command-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/network-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/network-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/network-e2e-specs.js +0 -62
- package/build/test/functional/commands/general/network-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/source-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/source-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/source-e2e-specs.js +0 -84
- package/build/test/functional/commands/general/source-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/general/url-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/general/url-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/general/url-e2e-specs.js +0 -77
- package/build/test/functional/commands/general/url-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/keyboard/keyboard-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/keyboard/keyboard-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/keyboard/keyboard-e2e-specs.js +0 -335
- package/build/test/functional/commands/keyboard/keyboard-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/orientation-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/orientation-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/orientation-e2e-specs.js +0 -105
- package/build/test/functional/commands/orientation-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/strings-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/strings-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/strings-e2e-specs.js +0 -77
- package/build/test/functional/commands/strings-e2e-specs.js.map +0 -1
- package/build/test/functional/commands/viewport-e2e-specs.d.ts +0 -2
- package/build/test/functional/commands/viewport-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/commands/viewport-e2e-specs.js +0 -114
- package/build/test/functional/commands/viewport-e2e-specs.js.map +0 -1
- package/build/test/functional/desired.d.ts +0 -21
- package/build/test/functional/desired.d.ts.map +0 -1
- package/build/test/functional/desired.js +0 -64
- package/build/test/functional/desired.js.map +0 -1
- package/build/test/functional/driver-e2e-specs.d.ts +0 -2
- package/build/test/functional/driver-e2e-specs.d.ts.map +0 -1
- package/build/test/functional/driver-e2e-specs.js +0 -117
- package/build/test/functional/driver-e2e-specs.js.map +0 -1
- package/build/test/functional/helpers/constants.d.ts +0 -3
- package/build/test/functional/helpers/constants.d.ts.map +0 -1
- package/build/test/functional/helpers/constants.js +0 -6
- package/build/test/functional/helpers/constants.js.map +0 -1
- package/build/test/functional/helpers/session.d.ts +0 -6
- package/build/test/functional/helpers/session.d.ts.map +0 -1
- package/build/test/functional/helpers/session.js +0 -78
- package/build/test/functional/helpers/session.js.map +0 -1
- package/build/test/unit/commands/general-specs.d.ts +0 -2
- package/build/test/unit/commands/general-specs.d.ts.map +0 -1
- package/build/test/unit/commands/general-specs.js +0 -80
- package/build/test/unit/commands/general-specs.js.map +0 -1
- package/build/test/unit/commands/screenshot-specs.d.ts +0 -2
- package/build/test/unit/commands/screenshot-specs.d.ts.map +0 -1
- package/build/test/unit/commands/screenshot-specs.js +0 -124
- package/build/test/unit/commands/screenshot-specs.js.map +0 -1
- package/build/test/unit/css-converter-specs.d.ts +0 -2
- package/build/test/unit/css-converter-specs.d.ts.map +0 -1
- package/build/test/unit/css-converter-specs.js +0 -65
- package/build/test/unit/css-converter-specs.js.map +0 -1
- package/build/test/unit/driver-specs.d.ts +0 -2
- package/build/test/unit/driver-specs.d.ts.map +0 -1
- package/build/test/unit/driver-specs.js +0 -328
- package/build/test/unit/driver-specs.js.map +0 -1
- package/build/test/unit/uiautomator2-specs.d.ts +0 -2
- package/build/test/unit/uiautomator2-specs.d.ts.map +0 -1
- package/build/test/unit/uiautomator2-specs.js +0 -320
- package/build/test/unit/uiautomator2-specs.js.map +0 -1
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initSession = initSession;
|
|
4
|
-
exports.attemptToDismissAlert = attemptToDismissAlert;
|
|
5
|
-
exports.deleteSession = deleteSession;
|
|
6
|
-
const constants_1 = require("./constants");
|
|
7
|
-
const logger_1 = require("../../../lib/logger");
|
|
8
|
-
const webdriverio_1 = require("webdriverio");
|
|
9
|
-
const asyncbox_1 = require("asyncbox");
|
|
10
|
-
const INIT_RETRIES = process.env.CI ? 2 : 1;
|
|
11
|
-
const ALERT_CHECK_RETRIES = 5;
|
|
12
|
-
const ALERT_CHECK_INTERVAL = 1000;
|
|
13
|
-
let driver;
|
|
14
|
-
async function initSession(caps, remoteOpts = {}) {
|
|
15
|
-
// Create the driver
|
|
16
|
-
const host = constants_1.DEFAULT_HOST;
|
|
17
|
-
const port = constants_1.DEFAULT_PORT;
|
|
18
|
-
const opts = Object.assign({}, remoteOpts, {
|
|
19
|
-
hostname: host,
|
|
20
|
-
port,
|
|
21
|
-
capabilities: caps,
|
|
22
|
-
});
|
|
23
|
-
logger_1.log.debug(`Starting session on ${host}:${port}`);
|
|
24
|
-
const sessionDriver = await (0, asyncbox_1.retry)(INIT_RETRIES, async (x) => await (0, webdriverio_1.remote)(x), opts);
|
|
25
|
-
if (!sessionDriver) {
|
|
26
|
-
throw new Error('Failed to create session');
|
|
27
|
-
}
|
|
28
|
-
driver = sessionDriver;
|
|
29
|
-
attemptToDismissAlert(caps);
|
|
30
|
-
await sessionDriver.setTimeout({ implicit: process.env.CI ? 30000 : 5000 });
|
|
31
|
-
return sessionDriver;
|
|
32
|
-
}
|
|
33
|
-
async function attemptToDismissAlert(caps) {
|
|
34
|
-
// In CI environment, the alert "System UI isn't responding" may appear due to less machine resources.
|
|
35
|
-
if (process.env.CI && driver) {
|
|
36
|
-
for (const btnId of ['android:id/button1', 'android:id/aerr_wait']) {
|
|
37
|
-
let alertFound = false;
|
|
38
|
-
await (0, asyncbox_1.retryInterval)(ALERT_CHECK_RETRIES, ALERT_CHECK_INTERVAL, async function () {
|
|
39
|
-
let btn;
|
|
40
|
-
try {
|
|
41
|
-
btn = await driver.$(`id=${btnId}`);
|
|
42
|
-
alertFound = true;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
// no element found, so just finish
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
logger_1.log.warn('*******************************************************');
|
|
49
|
-
logger_1.log.warn('*******************************************************');
|
|
50
|
-
logger_1.log.warn('*******************************************************');
|
|
51
|
-
logger_1.log.warn('Alert found on session startup. Trying to dismiss alert');
|
|
52
|
-
logger_1.log.warn('*******************************************************');
|
|
53
|
-
logger_1.log.warn('*******************************************************');
|
|
54
|
-
logger_1.log.warn('*******************************************************');
|
|
55
|
-
await btn.click();
|
|
56
|
-
throw new Error('Alert was found, retry');
|
|
57
|
-
});
|
|
58
|
-
// if an alert was ever found, try to start the activity that the session should have started
|
|
59
|
-
if (alertFound && driver) {
|
|
60
|
-
await driver.startActivity(caps.alwaysMatch?.['appium:appPackage'], caps.alwaysMatch?.['appium:appActivity'], caps.alwaysMatch?.['appium:appWaitPackage'], caps.alwaysMatch?.['appium:appWaitActivity']);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async function deleteSession() {
|
|
66
|
-
try {
|
|
67
|
-
if (driver) {
|
|
68
|
-
await driver.deleteSession();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// ignore
|
|
73
|
-
}
|
|
74
|
-
finally {
|
|
75
|
-
driver = undefined;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../test/functional/helpers/session.ts"],"names":[],"mappings":";;AAaA,kCAqBC;AAED,sDAmCC;AAED,sCAUC;AAjFD,2CAAuD;AACvD,gDAAkD;AAClD,6CAAmC;AACnC,uCAA8C;AAE9C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,IAAI,MAA2B,CAAC;AAEzB,KAAK,UAAU,WAAW,CAAC,IAAkB,EAAE,aAA2B,EAAE;IACjF,oBAAoB;IACpB,MAAM,IAAI,GAAG,wBAAY,CAAC;IAC1B,MAAM,IAAI,GAAG,wBAAY,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE;QACzC,QAAQ,EAAE,IAAI;QACd,IAAI;QACJ,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,YAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAK,EAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,IAAA,oBAAM,EAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,GAAG,aAAa,CAAC;IAEvB,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,aAAa,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC;IAE1E,OAAO,aAAa,CAAC;AACvB,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,IAAkB;IAC5D,sGAAsG;IACtG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,EAAE,CAAC;YACnE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,IAAA,wBAAa,EAAC,mBAAmB,EAAE,oBAAoB,EAAE,KAAK;gBAClE,IAAI,GAAG,CAAC;gBACR,IAAI,CAAC;oBACH,GAAG,GAAG,MAAM,MAAO,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;oBACrC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;oBACnC,OAAO;gBACT,CAAC;gBACD,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,YAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACvE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,6FAA6F;YAC7F,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,MAAM,CAAC,aAAa,CACxB,IAAI,CAAC,WAAW,EAAE,CAAC,mBAAmB,CAAW,EACjD,IAAI,CAAC,WAAW,EAAE,CAAC,oBAAoB,CAAW,EAClD,IAAI,CAAC,WAAW,EAAE,CAAC,uBAAuB,CAAuB,EACjE,IAAI,CAAC,WAAW,EAAE,CAAC,wBAAwB,CAAuB,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"general-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/general-specs.ts"],"names":[],"mappings":""}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const sinon_1 = __importDefault(require("sinon"));
|
|
7
|
-
const driver_1 = require("../../../lib/driver");
|
|
8
|
-
const appium_adb_1 = require("appium-adb");
|
|
9
|
-
const chai_1 = __importDefault(require("chai"));
|
|
10
|
-
const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
11
|
-
const { expect } = chai_1.default;
|
|
12
|
-
chai_1.default.use(chai_as_promised_1.default);
|
|
13
|
-
describe('General', function () {
|
|
14
|
-
let driver;
|
|
15
|
-
let mockDriver;
|
|
16
|
-
beforeEach(function () {
|
|
17
|
-
driver = new driver_1.AndroidUiautomator2Driver();
|
|
18
|
-
mockDriver = sinon_1.default.mock(driver);
|
|
19
|
-
});
|
|
20
|
-
afterEach(function () {
|
|
21
|
-
mockDriver.verify();
|
|
22
|
-
});
|
|
23
|
-
describe('getWindowRect', function () {
|
|
24
|
-
it('should get window size', async function () {
|
|
25
|
-
mockDriver.expects('getWindowSize').once().returns({ width: 300, height: 400 });
|
|
26
|
-
const result = await driver.getWindowRect();
|
|
27
|
-
expect(result).to.eql({
|
|
28
|
-
width: 300,
|
|
29
|
-
height: 400,
|
|
30
|
-
x: 0,
|
|
31
|
-
y: 0,
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('mobile command', function () {
|
|
36
|
-
it('should raise error on non-existent mobile command', async function () {
|
|
37
|
-
await expect(driver.execute('mobile: fruta', {})).to.be.rejectedWith(/Unsupported/);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
describe('mobile: sensorSet', function () {
|
|
41
|
-
// note: this test does not depend on whether or not isEmulator returns
|
|
42
|
-
// true, because the "am I an emulator?" check happens in the sensorSet
|
|
43
|
-
// implementation, which is stubbed out.
|
|
44
|
-
it('should call sensorSet', async function () {
|
|
45
|
-
mockDriver.expects('sensorSet').once().withArgs('acceleration', '0:9.77631:0.812349');
|
|
46
|
-
await driver.execute('mobile: sensorSet', {
|
|
47
|
-
sensorType: 'acceleration',
|
|
48
|
-
value: '0:9.77631:0.812349',
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe('mobile: installMultipleApks', function () {
|
|
53
|
-
let adb;
|
|
54
|
-
let mockHelpers;
|
|
55
|
-
let mockAdb;
|
|
56
|
-
beforeEach(function () {
|
|
57
|
-
adb = new appium_adb_1.ADB();
|
|
58
|
-
mockAdb = sinon_1.default.mock(adb);
|
|
59
|
-
driver = new driver_1.AndroidUiautomator2Driver();
|
|
60
|
-
driver.adb = adb;
|
|
61
|
-
mockHelpers = sinon_1.default.mock(driver.helpers);
|
|
62
|
-
mockHelpers.expects('configureApp').returns('/path/to/test/apk.apk');
|
|
63
|
-
});
|
|
64
|
-
afterEach(function () {
|
|
65
|
-
mockHelpers.restore();
|
|
66
|
-
mockAdb.verify();
|
|
67
|
-
});
|
|
68
|
-
it('should call mobileInstallMultipleApks', async function () {
|
|
69
|
-
mockAdb.expects('installMultipleApks').once().withExactArgs(['/path/to/test/apk.apk'], undefined);
|
|
70
|
-
await driver.execute('mobile: installMultipleApks', { apks: ['/path/to/test/apk.apk'] });
|
|
71
|
-
});
|
|
72
|
-
it('should reject if no apks were given', async function () {
|
|
73
|
-
await expect(driver.execute('mobile: installMultipleApks', { apks: [] })).to.be.rejectedWith('No apks are given to install');
|
|
74
|
-
});
|
|
75
|
-
it('should reject with default args', async function () {
|
|
76
|
-
await expect(driver.execute('mobile: installMultipleApks')).to.be.rejected;
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
//# sourceMappingURL=general-specs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"general-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/general-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/screenshot-specs.ts"],"names":[],"mappings":""}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// @ts-check
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const chai_1 = require("chai");
|
|
5
|
-
const screenshot_1 = require("../../../lib/commands/screenshot");
|
|
6
|
-
describe('Screenshot - parseSurfaceFlingerDisplays', function () {
|
|
7
|
-
describe('physical displays', function () {
|
|
8
|
-
it('should parse physical display with HWC display ID 0 (default)', function () {
|
|
9
|
-
const output = 'Display 4619827259835644672 (HWC display 0): port=0 pnpId=GGL displayName="EMU_display_0"';
|
|
10
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
11
|
-
(0, chai_1.expect)(result).to.have.property('4619827259835644672');
|
|
12
|
-
(0, chai_1.expect)(result['4619827259835644672']).to.deep.include({
|
|
13
|
-
id: '4619827259835644672',
|
|
14
|
-
isDefault: true,
|
|
15
|
-
name: 'EMU_display_0',
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
it('should parse physical display with non-default HWC display ID', function () {
|
|
19
|
-
const output = 'Display 4619827259835644672 (HWC display 1): port=0 pnpId=GGL displayName="External Display"';
|
|
20
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
21
|
-
(0, chai_1.expect)(result).to.have.property('4619827259835644672');
|
|
22
|
-
(0, chai_1.expect)(result['4619827259835644672']).to.deep.include({
|
|
23
|
-
id: '4619827259835644672',
|
|
24
|
-
isDefault: false,
|
|
25
|
-
name: 'External Display',
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
it('should parse physical display with HWC display ID 2', function () {
|
|
29
|
-
const output = 'Display 4619827259835644672 (HWC display 2): port=1 pnpId=HDMI displayName="HDMI Display"';
|
|
30
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
31
|
-
(0, chai_1.expect)(result).to.have.property('4619827259835644672');
|
|
32
|
-
(0, chai_1.expect)(result['4619827259835644672']).to.deep.include({
|
|
33
|
-
id: '4619827259835644672',
|
|
34
|
-
isDefault: false,
|
|
35
|
-
name: 'HDMI Display',
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
describe('virtual displays', function () {
|
|
40
|
-
it('should parse virtual display with displayName', function () {
|
|
41
|
-
const output = 'Display 11529215049243506835 (Virtual display): displayName="Emulator 2D Display" uniqueId="virtual:com.android.emulator.multidisplay:1234562"';
|
|
42
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
43
|
-
(0, chai_1.expect)(result).to.have.property('11529215049243506835');
|
|
44
|
-
(0, chai_1.expect)(result['11529215049243506835']).to.deep.include({
|
|
45
|
-
id: '11529215049243506835',
|
|
46
|
-
isDefault: false, // Virtual displays are never default
|
|
47
|
-
name: 'Emulator 2D Display',
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
it('should parse virtual display with different uniqueId format', function () {
|
|
51
|
-
const output = 'Display 11529215049243506835 (Virtual display): displayName="Virtual Screen" uniqueId="virtual:test:789"';
|
|
52
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
53
|
-
(0, chai_1.expect)(result).to.have.property('11529215049243506835');
|
|
54
|
-
(0, chai_1.expect)(result['11529215049243506835']).to.deep.include({
|
|
55
|
-
id: '11529215049243506835',
|
|
56
|
-
isDefault: false,
|
|
57
|
-
name: 'Virtual Screen',
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe('multiple displays', function () {
|
|
62
|
-
it('should parse multiple physical displays with correct default detection', function () {
|
|
63
|
-
const output = `Display 4619827259835644672 (HWC display 0): port=0 pnpId=GGL displayName="First Display"
|
|
64
|
-
Display 4619827259835644673 (HWC display 1): port=1 pnpId=HDMI displayName="Second Display"`;
|
|
65
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
66
|
-
(0, chai_1.expect)(result).to.have.property('4619827259835644672');
|
|
67
|
-
(0, chai_1.expect)(result).to.have.property('4619827259835644673');
|
|
68
|
-
(0, chai_1.expect)(result['4619827259835644672'].isDefault).to.be.true;
|
|
69
|
-
(0, chai_1.expect)(result['4619827259835644673'].isDefault).to.be.false;
|
|
70
|
-
});
|
|
71
|
-
it('should parse mixed physical and virtual displays', function () {
|
|
72
|
-
const output = `Display 4619827259835644672 (HWC display 0): port=0 pnpId=GGL displayName="Physical Display"
|
|
73
|
-
Display 11529215049243506835 (Virtual display): displayName="Emulator 2D Display" uniqueId="virtual:com.android.emulator.multidisplay:1234562"`;
|
|
74
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
75
|
-
(0, chai_1.expect)(result).to.have.property('4619827259835644672');
|
|
76
|
-
(0, chai_1.expect)(result).to.have.property('11529215049243506835');
|
|
77
|
-
(0, chai_1.expect)(result['4619827259835644672']).to.deep.include({
|
|
78
|
-
id: '4619827259835644672',
|
|
79
|
-
isDefault: true,
|
|
80
|
-
name: 'Physical Display',
|
|
81
|
-
});
|
|
82
|
-
(0, chai_1.expect)(result['11529215049243506835']).to.deep.include({
|
|
83
|
-
id: '11529215049243506835',
|
|
84
|
-
isDefault: false,
|
|
85
|
-
name: 'Emulator 2D Display',
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
it('should handle multiple virtual displays', function () {
|
|
89
|
-
const output = `Display 11529215049243506835 (Virtual display): displayName="Virtual 1" uniqueId="virtual:test:1"
|
|
90
|
-
Display 11529215049243506836 (Virtual display): displayName="Virtual 2" uniqueId="virtual:test:2"`;
|
|
91
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
92
|
-
(0, chai_1.expect)(result).to.have.property('11529215049243506835');
|
|
93
|
-
(0, chai_1.expect)(result).to.have.property('11529215049243506836');
|
|
94
|
-
(0, chai_1.expect)(result['11529215049243506835'].isDefault).to.be.false;
|
|
95
|
-
(0, chai_1.expect)(result['11529215049243506836'].isDefault).to.be.false;
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
describe('edge cases', function () {
|
|
99
|
-
it('should handle empty input', function () {
|
|
100
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)('');
|
|
101
|
-
(0, chai_1.expect)(result).to.be.empty;
|
|
102
|
-
});
|
|
103
|
-
it('should handle input with no displays', function () {
|
|
104
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)('Some other text\nMore text');
|
|
105
|
-
(0, chai_1.expect)(result).to.be.empty;
|
|
106
|
-
});
|
|
107
|
-
it('should handle displayName with special characters', function () {
|
|
108
|
-
const output = 'Display 4619827259835644672 (HWC display 0): port=0 pnpId=GGL displayName="Display with spaces & symbols!@#"';
|
|
109
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
110
|
-
(0, chai_1.expect)(result['4619827259835644672'].name).to.equal('Display with spaces & symbols!@#');
|
|
111
|
-
});
|
|
112
|
-
it('should handle displayName at different positions in the line', function () {
|
|
113
|
-
const output = 'Display 4619827259835644672 (HWC display 0): displayName="Early Name" port=0 pnpId=GGL';
|
|
114
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
115
|
-
(0, chai_1.expect)(result['4619827259835644672'].name).to.equal('Early Name');
|
|
116
|
-
});
|
|
117
|
-
it('should handle multiple properties after displayName', function () {
|
|
118
|
-
const output = 'Display 4619827259835644672 (HWC display 0): port=0 pnpId=GGL displayName="My Display" extraProp="value" anotherProp=123';
|
|
119
|
-
const result = (0, screenshot_1.parseSurfaceFlingerDisplays)(output);
|
|
120
|
-
(0, chai_1.expect)(result['4619827259835644672'].name).to.equal('My Display');
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
//# sourceMappingURL=screenshot-specs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/screenshot-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css-converter-specs.d.ts","sourceRoot":"","sources":["../../../test/unit/css-converter-specs.ts"],"names":[],"mappings":""}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const css_converter_1 = require("../../lib/css-converter");
|
|
4
|
-
const chai_1 = require("chai");
|
|
5
|
-
describe('css-converter.js', function () {
|
|
6
|
-
describe('simple cases', function () {
|
|
7
|
-
const simpleCases = [
|
|
8
|
-
['android.widget.TextView', 'new UiSelector().className("android.widget.TextView")'],
|
|
9
|
-
['TextView', 'new UiSelector().classNameMatches("TextView")'],
|
|
10
|
-
['.TextView', 'new UiSelector().classNameMatches("TextView")'],
|
|
11
|
-
['.widget.TextView', 'new UiSelector().classNameMatches("widget\\.TextView")'],
|
|
12
|
-
['*[checkable=true]', 'new UiSelector().checkable(true)'],
|
|
13
|
-
['*[checkable]', 'new UiSelector().checkable(true)'],
|
|
14
|
-
['*:checked', 'new UiSelector().checked(true)'],
|
|
15
|
-
['*[checked]', 'new UiSelector().checked(true)'],
|
|
16
|
-
['TextView[description="Some description"]', 'new UiSelector().classNameMatches("TextView").description("Some description")'],
|
|
17
|
-
['*[description]', 'new UiSelector().descriptionMatches("")'],
|
|
18
|
-
['*[description^=blah]', 'new UiSelector().descriptionStartsWith("blah")'],
|
|
19
|
-
['*[description$=bar]', 'new UiSelector().descriptionMatches("bar$")'],
|
|
20
|
-
['*[description*=bar]', 'new UiSelector().descriptionContains("bar")'],
|
|
21
|
-
['#identifier[description=foo]', 'new UiSelector().resourceId("android:id/identifier").description("foo")'],
|
|
22
|
-
['*[id=foo]', 'new UiSelector().resourceId("android:id/foo")'],
|
|
23
|
-
['*[description$="hello [ ^ $ . | ? * + ( ) world"]', 'new UiSelector().descriptionMatches("hello \\[ \\^ \\$ \\. \\| \\? \\* \\+ \\( \\) world$")'],
|
|
24
|
-
['TextView:iNdEx(4)', 'new UiSelector().classNameMatches("TextView").index(4)'],
|
|
25
|
-
['*:long-clickable', 'new UiSelector().longClickable(true)'],
|
|
26
|
-
['*[lOnG-cLiCkAbLe]', 'new UiSelector().longClickable(true)'],
|
|
27
|
-
['*:nth-child(3)', 'new UiSelector().index(3)'],
|
|
28
|
-
['*:instance(3)', 'new UiSelector().instance(3)'],
|
|
29
|
-
[
|
|
30
|
-
'android.widget.TextView[checkable] android.widget.WidgetView[focusable]:nth-child(1)',
|
|
31
|
-
'new UiSelector().className("android.widget.TextView").checkable(true).childSelector(new UiSelector().className("android.widget.WidgetView").focusable(true).index(1))'
|
|
32
|
-
],
|
|
33
|
-
['* *[clickable=true][focused]', 'new UiSelector().childSelector(new UiSelector().clickable(true).focused(true))'],
|
|
34
|
-
[
|
|
35
|
-
'*[clickable=true], *[clickable=false]',
|
|
36
|
-
'new UiSelector().clickable(true)',
|
|
37
|
-
],
|
|
38
|
-
['*[description~="word"]', 'new UiSelector().descriptionMatches("\\b(\\w*word\\w*)\\b")'],
|
|
39
|
-
[
|
|
40
|
-
'android.widget.ListView android.widget.TextView',
|
|
41
|
-
'new UiSelector().className("android.widget.ListView").childSelector(new UiSelector().className("android.widget.TextView"))'
|
|
42
|
-
],
|
|
43
|
-
];
|
|
44
|
-
for (const [cssSelector, uiAutomatorSelector] of simpleCases) {
|
|
45
|
-
it(`should convert '${cssSelector}' to '${uiAutomatorSelector}'`, function () {
|
|
46
|
-
(0, chai_1.expect)(new css_converter_1.CssConverter(cssSelector).toUiAutomatorSelector()).to.equal(uiAutomatorSelector);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
describe('unsupported css', function () {
|
|
51
|
-
const testCases = [
|
|
52
|
-
'*[checked="ItS ChEcKeD"]',
|
|
53
|
-
'*[foo="bar"]',
|
|
54
|
-
'*:checked("ischecked")',
|
|
55
|
-
`This isn't valid[ css`,
|
|
56
|
-
'p ~ a',
|
|
57
|
-
];
|
|
58
|
-
for (const cssSelector of testCases) {
|
|
59
|
-
it(`should reject '${cssSelector}'`, function () {
|
|
60
|
-
(0, chai_1.expect)(() => new css_converter_1.CssConverter(cssSelector).toUiAutomatorSelector()).to.throw();
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
//# sourceMappingURL=css-converter-specs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css-converter-specs.js","sourceRoot":"","sources":["../../../test/unit/css-converter-specs.ts"],"names":[],"mappings":";;AAAA,2DAAqD;AACrD,+BAA4B;AAE5B,QAAQ,CAAC,kBAAkB,EAAE;IAC3B,QAAQ,CAAC,cAAc,EAAE;QACvB,MAAM,WAAW,GAA4B;YAC3C,CAAC,yBAAyB,EAAE,uDAAuD,CAAC;YACpF,CAAC,UAAU,EAAE,+CAA+C,CAAC;YAC7D,CAAC,WAAW,EAAE,+CAA+C,CAAC;YAC9D,CAAC,kBAAkB,EAAE,wDAAwD,CAAC;YAC9E,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;YACzD,CAAC,cAAc,EAAE,kCAAkC,CAAC;YACpD,CAAC,WAAW,EAAE,gCAAgC,CAAC;YAC/C,CAAC,YAAY,EAAE,gCAAgC,CAAC;YAChD,CAAC,0CAA0C,EAAE,+EAA+E,CAAC;YAC7H,CAAC,gBAAgB,EAAE,yCAAyC,CAAC;YAC7D,CAAC,sBAAsB,EAAE,gDAAgD,CAAC;YAC1E,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;YACtE,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;YACtE,CAAC,8BAA8B,EAAE,yEAAyE,CAAC;YAC3G,CAAC,WAAW,EAAE,+CAA+C,CAAC;YAC9D,CAAC,mDAAmD,EAAE,6FAA6F,CAAC;YACpJ,CAAC,mBAAmB,EAAE,wDAAwD,CAAC;YAC/E,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;YAC5D,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;YAC7D,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;YAC/C,CAAC,eAAe,EAAE,8BAA8B,CAAC;YACjD;gBACE,sFAAsF;gBACtF,uKAAuK;aACxK;YACD,CAAC,8BAA8B,EAAE,gFAAgF,CAAC;YAClH;gBACE,uCAAuC;gBACvC,kCAAkC;aACnC;YACD,CAAC,wBAAwB,EAAE,6DAA6D,CAAC;YACzF;gBACE,iDAAiD;gBACjD,4HAA4H;aAC7H;SACF,CAAC;QACF,KAAK,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,IAAI,WAAW,EAAE,CAAC;YAC7D,EAAE,CAAC,mBAAmB,WAAW,SAAS,mBAAmB,GAAG,EAAE;gBAChE,IAAA,aAAM,EAAC,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,MAAM,SAAS,GAAa;YAC1B,0BAA0B;YAC1B,cAAc;YACd,wBAAwB;YACxB,uBAAuB;YACvB,OAAO;SACR,CAAC;QACF,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;YACpC,EAAE,CAAC,kBAAkB,WAAW,GAAG,EAAE;gBACnC,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACjF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"driver-specs.d.ts","sourceRoot":"","sources":["../../../test/unit/driver-specs.ts"],"names":[],"mappings":""}
|