@midscene/android 1.10.2-beta-20260706032158.0 → 1.10.3
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/dist/es/cli.mjs +11 -30
- package/dist/es/index.mjs +10 -29
- package/dist/lib/cli.js +11 -30
- package/dist/lib/index.js +10 -29
- package/package.json +4 -4
package/dist/es/cli.mjs
CHANGED
|
@@ -1300,19 +1300,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1300
1300
|
x: element.center[0],
|
|
1301
1301
|
y: element.center[1]
|
|
1302
1302
|
});
|
|
1303
|
+
await this.ensureYadb();
|
|
1303
1304
|
const adb = await this.getAdb();
|
|
1304
|
-
const displayArg = this.getDisplayArg();
|
|
1305
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1306
1305
|
const IME_STRATEGY = (this.options?.imeStrategy || globalConfigManager.getEnvConfigValue(MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1307
|
-
if (
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
await adb.shell(`input${displayArg} keyevent ${keys.join(' ')}`);
|
|
1311
|
-
} else if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) {
|
|
1312
|
-
await this.ensureYadb();
|
|
1313
|
-
await adb.clearTextField(100);
|
|
1314
|
-
} else {
|
|
1315
|
-
await this.ensureYadb();
|
|
1306
|
+
if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) await adb.clearTextField(100);
|
|
1307
|
+
else {
|
|
1308
|
+
this.warnYadbOnNonDefaultDisplay('keyboard clear');
|
|
1316
1309
|
await adb.shell('app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -keyboardClear');
|
|
1317
1310
|
}
|
|
1318
1311
|
if (await adb.isSoftKeyboardPresent()) return;
|
|
@@ -1484,24 +1477,13 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1484
1477
|
const adb = await this.getAdb();
|
|
1485
1478
|
const IME_STRATEGY = (this.options?.imeStrategy || globalConfigManager.getEnvConfigValue(MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1486
1479
|
const shouldAutoDismissKeyboard = options?.autoDismissKeyboard ?? this.options?.autoDismissKeyboard ?? true;
|
|
1487
|
-
const
|
|
1488
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1489
|
-
const useYadb = !isNonDefaultDisplay && (IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text));
|
|
1480
|
+
const useYadb = IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text);
|
|
1490
1481
|
if (useYadb) await this.execYadb(escapeForShell(text));
|
|
1491
1482
|
else {
|
|
1492
|
-
const displayArg = this.getDisplayArg();
|
|
1493
1483
|
const segments = text.split('\n');
|
|
1494
1484
|
for(let i = 0; i < segments.length; i++){
|
|
1495
|
-
if (segments[i].length > 0)
|
|
1496
|
-
|
|
1497
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1498
|
-
await sleep(typeDelay);
|
|
1499
|
-
}
|
|
1500
|
-
else {
|
|
1501
|
-
const escaped = segments[i].replace(/ /g, '%s');
|
|
1502
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1503
|
-
}
|
|
1504
|
-
if (i < segments.length - 1) await adb.shell(`input${displayArg} keyevent 66`);
|
|
1485
|
+
if (segments[i].length > 0) await adb.inputText(segments[i]);
|
|
1486
|
+
if (i < segments.length - 1) await adb.keyevent(66);
|
|
1505
1487
|
}
|
|
1506
1488
|
}
|
|
1507
1489
|
if (true === shouldAutoDismissKeyboard) await this.hideKeyboard(options);
|
|
@@ -1541,13 +1523,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1541
1523
|
End: 123
|
|
1542
1524
|
};
|
|
1543
1525
|
const adb = await this.getAdb();
|
|
1544
|
-
const displayArg = this.getDisplayArg();
|
|
1545
1526
|
const normalizedKey = this.normalizeKeyName(key);
|
|
1546
1527
|
const keyCode = keyCodeMap[normalizedKey];
|
|
1547
|
-
if (void 0 !== keyCode) await adb.
|
|
1528
|
+
if (void 0 !== keyCode) await adb.keyevent(keyCode);
|
|
1548
1529
|
else if (1 === key.length) {
|
|
1549
1530
|
const asciiCode = key.toUpperCase().charCodeAt(0);
|
|
1550
|
-
if (asciiCode >= 65 && asciiCode <= 90) await adb.
|
|
1531
|
+
if (asciiCode >= 65 && asciiCode <= 90) await adb.keyevent(asciiCode - 36);
|
|
1551
1532
|
}
|
|
1552
1533
|
}
|
|
1553
1534
|
async tapPoint(point) {
|
|
@@ -1741,7 +1722,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1741
1722
|
4
|
|
1742
1723
|
];
|
|
1743
1724
|
for (const keyCode of keyCodes){
|
|
1744
|
-
await adb.
|
|
1725
|
+
await adb.keyevent(keyCode);
|
|
1745
1726
|
const startTime = Date.now();
|
|
1746
1727
|
const intervalMs = 100;
|
|
1747
1728
|
while(Date.now() - startTime < timeoutMs){
|
|
@@ -2087,7 +2068,7 @@ class AndroidMidsceneTools extends BaseMidsceneTools {
|
|
|
2087
2068
|
const tools = new AndroidMidsceneTools();
|
|
2088
2069
|
runToolsCLI(tools, 'midscene-android', {
|
|
2089
2070
|
stripPrefix: 'android_',
|
|
2090
|
-
version: "1.10.
|
|
2071
|
+
version: "1.10.3",
|
|
2091
2072
|
extraCommands: createReportCliCommands()
|
|
2092
2073
|
}).catch((e)=>{
|
|
2093
2074
|
process.exit(reportCLIError(e));
|
package/dist/es/index.mjs
CHANGED
|
@@ -1203,19 +1203,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1203
1203
|
x: element.center[0],
|
|
1204
1204
|
y: element.center[1]
|
|
1205
1205
|
});
|
|
1206
|
+
await this.ensureYadb();
|
|
1206
1207
|
const adb = await this.getAdb();
|
|
1207
|
-
const displayArg = this.getDisplayArg();
|
|
1208
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1209
1208
|
const IME_STRATEGY = (this.options?.imeStrategy || globalConfigManager.getEnvConfigValue(MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1210
|
-
if (
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
await adb.shell(`input${displayArg} keyevent ${keys.join(' ')}`);
|
|
1214
|
-
} else if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) {
|
|
1215
|
-
await this.ensureYadb();
|
|
1216
|
-
await adb.clearTextField(100);
|
|
1217
|
-
} else {
|
|
1218
|
-
await this.ensureYadb();
|
|
1209
|
+
if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) await adb.clearTextField(100);
|
|
1210
|
+
else {
|
|
1211
|
+
this.warnYadbOnNonDefaultDisplay('keyboard clear');
|
|
1219
1212
|
await adb.shell('app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -keyboardClear');
|
|
1220
1213
|
}
|
|
1221
1214
|
if (await adb.isSoftKeyboardPresent()) return;
|
|
@@ -1387,24 +1380,13 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1387
1380
|
const adb = await this.getAdb();
|
|
1388
1381
|
const IME_STRATEGY = (this.options?.imeStrategy || globalConfigManager.getEnvConfigValue(MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1389
1382
|
const shouldAutoDismissKeyboard = options?.autoDismissKeyboard ?? this.options?.autoDismissKeyboard ?? true;
|
|
1390
|
-
const
|
|
1391
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1392
|
-
const useYadb = !isNonDefaultDisplay && (IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text));
|
|
1383
|
+
const useYadb = IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text);
|
|
1393
1384
|
if (useYadb) await this.execYadb(escapeForShell(text));
|
|
1394
1385
|
else {
|
|
1395
|
-
const displayArg = this.getDisplayArg();
|
|
1396
1386
|
const segments = text.split('\n');
|
|
1397
1387
|
for(let i = 0; i < segments.length; i++){
|
|
1398
|
-
if (segments[i].length > 0)
|
|
1399
|
-
|
|
1400
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1401
|
-
await sleep(typeDelay);
|
|
1402
|
-
}
|
|
1403
|
-
else {
|
|
1404
|
-
const escaped = segments[i].replace(/ /g, '%s');
|
|
1405
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1406
|
-
}
|
|
1407
|
-
if (i < segments.length - 1) await adb.shell(`input${displayArg} keyevent 66`);
|
|
1388
|
+
if (segments[i].length > 0) await adb.inputText(segments[i]);
|
|
1389
|
+
if (i < segments.length - 1) await adb.keyevent(66);
|
|
1408
1390
|
}
|
|
1409
1391
|
}
|
|
1410
1392
|
if (true === shouldAutoDismissKeyboard) await this.hideKeyboard(options);
|
|
@@ -1444,13 +1426,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1444
1426
|
End: 123
|
|
1445
1427
|
};
|
|
1446
1428
|
const adb = await this.getAdb();
|
|
1447
|
-
const displayArg = this.getDisplayArg();
|
|
1448
1429
|
const normalizedKey = this.normalizeKeyName(key);
|
|
1449
1430
|
const keyCode = keyCodeMap[normalizedKey];
|
|
1450
|
-
if (void 0 !== keyCode) await adb.
|
|
1431
|
+
if (void 0 !== keyCode) await adb.keyevent(keyCode);
|
|
1451
1432
|
else if (1 === key.length) {
|
|
1452
1433
|
const asciiCode = key.toUpperCase().charCodeAt(0);
|
|
1453
|
-
if (asciiCode >= 65 && asciiCode <= 90) await adb.
|
|
1434
|
+
if (asciiCode >= 65 && asciiCode <= 90) await adb.keyevent(asciiCode - 36);
|
|
1454
1435
|
}
|
|
1455
1436
|
}
|
|
1456
1437
|
async tapPoint(point) {
|
|
@@ -1644,7 +1625,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1644
1625
|
4
|
|
1645
1626
|
];
|
|
1646
1627
|
for (const keyCode of keyCodes){
|
|
1647
|
-
await adb.
|
|
1628
|
+
await adb.keyevent(keyCode);
|
|
1648
1629
|
const startTime = Date.now();
|
|
1649
1630
|
const intervalMs = 100;
|
|
1650
1631
|
while(Date.now() - startTime < timeoutMs){
|
package/dist/lib/cli.js
CHANGED
|
@@ -1315,19 +1315,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1315
1315
|
x: element.center[0],
|
|
1316
1316
|
y: element.center[1]
|
|
1317
1317
|
});
|
|
1318
|
+
await this.ensureYadb();
|
|
1318
1319
|
const adb = await this.getAdb();
|
|
1319
|
-
const displayArg = this.getDisplayArg();
|
|
1320
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1321
1320
|
const IME_STRATEGY = (this.options?.imeStrategy || env_namespaceObject.globalConfigManager.getEnvConfigValue(env_namespaceObject.MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1322
|
-
if (
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
await adb.shell(`input${displayArg} keyevent ${keys.join(' ')}`);
|
|
1326
|
-
} else if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) {
|
|
1327
|
-
await this.ensureYadb();
|
|
1328
|
-
await adb.clearTextField(100);
|
|
1329
|
-
} else {
|
|
1330
|
-
await this.ensureYadb();
|
|
1321
|
+
if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) await adb.clearTextField(100);
|
|
1322
|
+
else {
|
|
1323
|
+
this.warnYadbOnNonDefaultDisplay('keyboard clear');
|
|
1331
1324
|
await adb.shell('app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -keyboardClear');
|
|
1332
1325
|
}
|
|
1333
1326
|
if (await adb.isSoftKeyboardPresent()) return;
|
|
@@ -1499,24 +1492,13 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1499
1492
|
const adb = await this.getAdb();
|
|
1500
1493
|
const IME_STRATEGY = (this.options?.imeStrategy || env_namespaceObject.globalConfigManager.getEnvConfigValue(env_namespaceObject.MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1501
1494
|
const shouldAutoDismissKeyboard = options?.autoDismissKeyboard ?? this.options?.autoDismissKeyboard ?? true;
|
|
1502
|
-
const
|
|
1503
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1504
|
-
const useYadb = !isNonDefaultDisplay && (IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text));
|
|
1495
|
+
const useYadb = IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text);
|
|
1505
1496
|
if (useYadb) await this.execYadb(escapeForShell(text));
|
|
1506
1497
|
else {
|
|
1507
|
-
const displayArg = this.getDisplayArg();
|
|
1508
1498
|
const segments = text.split('\n');
|
|
1509
1499
|
for(let i = 0; i < segments.length; i++){
|
|
1510
|
-
if (segments[i].length > 0)
|
|
1511
|
-
|
|
1512
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1513
|
-
await (0, core_utils_namespaceObject.sleep)(typeDelay);
|
|
1514
|
-
}
|
|
1515
|
-
else {
|
|
1516
|
-
const escaped = segments[i].replace(/ /g, '%s');
|
|
1517
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1518
|
-
}
|
|
1519
|
-
if (i < segments.length - 1) await adb.shell(`input${displayArg} keyevent 66`);
|
|
1500
|
+
if (segments[i].length > 0) await adb.inputText(segments[i]);
|
|
1501
|
+
if (i < segments.length - 1) await adb.keyevent(66);
|
|
1520
1502
|
}
|
|
1521
1503
|
}
|
|
1522
1504
|
if (true === shouldAutoDismissKeyboard) await this.hideKeyboard(options);
|
|
@@ -1556,13 +1538,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1556
1538
|
End: 123
|
|
1557
1539
|
};
|
|
1558
1540
|
const adb = await this.getAdb();
|
|
1559
|
-
const displayArg = this.getDisplayArg();
|
|
1560
1541
|
const normalizedKey = this.normalizeKeyName(key);
|
|
1561
1542
|
const keyCode = keyCodeMap[normalizedKey];
|
|
1562
|
-
if (void 0 !== keyCode) await adb.
|
|
1543
|
+
if (void 0 !== keyCode) await adb.keyevent(keyCode);
|
|
1563
1544
|
else if (1 === key.length) {
|
|
1564
1545
|
const asciiCode = key.toUpperCase().charCodeAt(0);
|
|
1565
|
-
if (asciiCode >= 65 && asciiCode <= 90) await adb.
|
|
1546
|
+
if (asciiCode >= 65 && asciiCode <= 90) await adb.keyevent(asciiCode - 36);
|
|
1566
1547
|
}
|
|
1567
1548
|
}
|
|
1568
1549
|
async tapPoint(point) {
|
|
@@ -1756,7 +1737,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1756
1737
|
4
|
|
1757
1738
|
];
|
|
1758
1739
|
for (const keyCode of keyCodes){
|
|
1759
|
-
await adb.
|
|
1740
|
+
await adb.keyevent(keyCode);
|
|
1760
1741
|
const startTime = Date.now();
|
|
1761
1742
|
const intervalMs = 100;
|
|
1762
1743
|
while(Date.now() - startTime < timeoutMs){
|
|
@@ -2102,7 +2083,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
2102
2083
|
const tools = new AndroidMidsceneTools();
|
|
2103
2084
|
(0, cli_namespaceObject.runToolsCLI)(tools, 'midscene-android', {
|
|
2104
2085
|
stripPrefix: 'android_',
|
|
2105
|
-
version: "1.10.
|
|
2086
|
+
version: "1.10.3",
|
|
2106
2087
|
extraCommands: (0, core_namespaceObject.createReportCliCommands)()
|
|
2107
2088
|
}).catch((e)=>{
|
|
2108
2089
|
process.exit((0, cli_namespaceObject.reportCLIError)(e));
|
package/dist/lib/index.js
CHANGED
|
@@ -1236,19 +1236,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1236
1236
|
x: element.center[0],
|
|
1237
1237
|
y: element.center[1]
|
|
1238
1238
|
});
|
|
1239
|
+
await this.ensureYadb();
|
|
1239
1240
|
const adb = await this.getAdb();
|
|
1240
|
-
const displayArg = this.getDisplayArg();
|
|
1241
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1242
1241
|
const IME_STRATEGY = (this.options?.imeStrategy || env_namespaceObject.globalConfigManager.getEnvConfigValue(env_namespaceObject.MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1243
|
-
if (
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
await adb.shell(`input${displayArg} keyevent ${keys.join(' ')}`);
|
|
1247
|
-
} else if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) {
|
|
1248
|
-
await this.ensureYadb();
|
|
1249
|
-
await adb.clearTextField(100);
|
|
1250
|
-
} else {
|
|
1251
|
-
await this.ensureYadb();
|
|
1242
|
+
if (IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII) await adb.clearTextField(100);
|
|
1243
|
+
else {
|
|
1244
|
+
this.warnYadbOnNonDefaultDisplay('keyboard clear');
|
|
1252
1245
|
await adb.shell('app_process -Djava.class.path=/data/local/tmp/yadb /data/local/tmp com.ysbing.yadb.Main -keyboardClear');
|
|
1253
1246
|
}
|
|
1254
1247
|
if (await adb.isSoftKeyboardPresent()) return;
|
|
@@ -1420,24 +1413,13 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1420
1413
|
const adb = await this.getAdb();
|
|
1421
1414
|
const IME_STRATEGY = (this.options?.imeStrategy || env_namespaceObject.globalConfigManager.getEnvConfigValue(env_namespaceObject.MIDSCENE_ANDROID_IME_STRATEGY)) ?? IME_STRATEGY_YADB_FOR_NON_ASCII;
|
|
1422
1415
|
const shouldAutoDismissKeyboard = options?.autoDismissKeyboard ?? this.options?.autoDismissKeyboard ?? true;
|
|
1423
|
-
const
|
|
1424
|
-
const isNonDefaultDisplay = 'number' == typeof this.options?.displayId && 0 !== this.options.displayId;
|
|
1425
|
-
const useYadb = !isNonDefaultDisplay && (IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text));
|
|
1416
|
+
const useYadb = IME_STRATEGY === IME_STRATEGY_ALWAYS_YADB || IME_STRATEGY === IME_STRATEGY_YADB_FOR_NON_ASCII && this.shouldUseYadbForText(text);
|
|
1426
1417
|
if (useYadb) await this.execYadb(escapeForShell(text));
|
|
1427
1418
|
else {
|
|
1428
|
-
const displayArg = this.getDisplayArg();
|
|
1429
1419
|
const segments = text.split('\n');
|
|
1430
1420
|
for(let i = 0; i < segments.length; i++){
|
|
1431
|
-
if (segments[i].length > 0)
|
|
1432
|
-
|
|
1433
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1434
|
-
await (0, utils_namespaceObject.sleep)(typeDelay);
|
|
1435
|
-
}
|
|
1436
|
-
else {
|
|
1437
|
-
const escaped = segments[i].replace(/ /g, '%s');
|
|
1438
|
-
await adb.shell(`input${displayArg} text ${escaped}`);
|
|
1439
|
-
}
|
|
1440
|
-
if (i < segments.length - 1) await adb.shell(`input${displayArg} keyevent 66`);
|
|
1421
|
+
if (segments[i].length > 0) await adb.inputText(segments[i]);
|
|
1422
|
+
if (i < segments.length - 1) await adb.keyevent(66);
|
|
1441
1423
|
}
|
|
1442
1424
|
}
|
|
1443
1425
|
if (true === shouldAutoDismissKeyboard) await this.hideKeyboard(options);
|
|
@@ -1477,13 +1459,12 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1477
1459
|
End: 123
|
|
1478
1460
|
};
|
|
1479
1461
|
const adb = await this.getAdb();
|
|
1480
|
-
const displayArg = this.getDisplayArg();
|
|
1481
1462
|
const normalizedKey = this.normalizeKeyName(key);
|
|
1482
1463
|
const keyCode = keyCodeMap[normalizedKey];
|
|
1483
|
-
if (void 0 !== keyCode) await adb.
|
|
1464
|
+
if (void 0 !== keyCode) await adb.keyevent(keyCode);
|
|
1484
1465
|
else if (1 === key.length) {
|
|
1485
1466
|
const asciiCode = key.toUpperCase().charCodeAt(0);
|
|
1486
|
-
if (asciiCode >= 65 && asciiCode <= 90) await adb.
|
|
1467
|
+
if (asciiCode >= 65 && asciiCode <= 90) await adb.keyevent(asciiCode - 36);
|
|
1487
1468
|
}
|
|
1488
1469
|
}
|
|
1489
1470
|
async tapPoint(point) {
|
|
@@ -1677,7 +1658,7 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
1677
1658
|
4
|
|
1678
1659
|
];
|
|
1679
1660
|
for (const keyCode of keyCodes){
|
|
1680
|
-
await adb.
|
|
1661
|
+
await adb.keyevent(keyCode);
|
|
1681
1662
|
const startTime = Date.now();
|
|
1682
1663
|
const intervalMs = 100;
|
|
1683
1664
|
while(Date.now() - startTime < timeoutMs){
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midscene/android",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.3",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/web-infra-dev/midscene.git",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"@yume-chan/stream-extra": "2.1.0",
|
|
42
42
|
"appium-adb": "12.12.1",
|
|
43
43
|
"sharp": "^0.34.3",
|
|
44
|
-
"@midscene/core": "1.10.
|
|
45
|
-
"@midscene/shared": "1.10.
|
|
44
|
+
"@midscene/core": "1.10.3",
|
|
45
|
+
"@midscene/shared": "1.10.3"
|
|
46
46
|
},
|
|
47
47
|
"optionalDependencies": {
|
|
48
48
|
"@ffmpeg-installer/ffmpeg": "^1.1.0"
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"undici": "^6.0.0",
|
|
57
57
|
"vitest": "3.0.5",
|
|
58
58
|
"zod": "^3.25.1",
|
|
59
|
-
"@midscene/playground": "1.10.
|
|
59
|
+
"@midscene/playground": "1.10.3"
|
|
60
60
|
},
|
|
61
61
|
"license": "MIT",
|
|
62
62
|
"scripts": {
|