@midscene/android 0.27.6 → 0.27.7-beta-20250902060833.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/dist/es/index.mjs +14 -1
- package/dist/lib/index.js +13 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +3 -3
package/dist/es/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import node_fs from "node:fs";
|
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import node_path from "node:path";
|
|
6
6
|
import { getMidsceneLocationSchema, z } from "@midscene/core";
|
|
7
|
-
import { defineAction, defineActionDragAndDrop, defineActionKeyboardPress, defineActionScroll, defineActionTap } from "@midscene/core/device";
|
|
7
|
+
import { defineAction, defineActionDoubleClick, defineActionDragAndDrop, defineActionKeyboardPress, defineActionScroll, defineActionTap } from "@midscene/core/device";
|
|
8
8
|
import { getTmpFile, sleep } from "@midscene/core/utils";
|
|
9
9
|
import { MIDSCENE_ADB_PATH, MIDSCENE_ADB_REMOTE_HOST, MIDSCENE_ADB_REMOTE_PORT, MIDSCENE_ANDROID_IME_STRATEGY, globalConfigManager, overrideAIConfig, vlLocateMode } from "@midscene/shared/env";
|
|
10
10
|
import { createImgBase64ByFormat, isValidPNGImageBuffer, resizeAndConvertImgBuffer } from "@midscene/shared/img";
|
|
@@ -34,6 +34,11 @@ class AndroidDevice {
|
|
|
34
34
|
node_assert(element, 'Element not found, cannot tap');
|
|
35
35
|
await this.mouseClick(element.center[0], element.center[1]);
|
|
36
36
|
}),
|
|
37
|
+
defineActionDoubleClick(async (param)=>{
|
|
38
|
+
const element = param.locate;
|
|
39
|
+
node_assert(element, 'Element not found, cannot double click');
|
|
40
|
+
await this.mouseDoubleClick(element.center[0], element.center[1]);
|
|
41
|
+
}),
|
|
37
42
|
defineAction({
|
|
38
43
|
name: 'Input',
|
|
39
44
|
description: 'Input text into the input field',
|
|
@@ -719,6 +724,14 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
719
724
|
const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
|
|
720
725
|
await adb.shell(`input${this.getDisplayArg()} swipe ${adjustedX} ${adjustedY} ${adjustedX} ${adjustedY} 150`);
|
|
721
726
|
}
|
|
727
|
+
async mouseDoubleClick(x, y) {
|
|
728
|
+
const adb = await this.getAdb();
|
|
729
|
+
const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
|
|
730
|
+
const tapCommand = `input${this.getDisplayArg()} tap ${adjustedX} ${adjustedY}`;
|
|
731
|
+
await adb.shell(tapCommand);
|
|
732
|
+
await sleep(50);
|
|
733
|
+
await adb.shell(tapCommand);
|
|
734
|
+
}
|
|
722
735
|
async mouseMove(x, y) {
|
|
723
736
|
return Promise.resolve();
|
|
724
737
|
}
|
package/dist/lib/index.js
CHANGED
|
@@ -80,6 +80,11 @@ class AndroidDevice {
|
|
|
80
80
|
external_node_assert_default()(element, 'Element not found, cannot tap');
|
|
81
81
|
await this.mouseClick(element.center[0], element.center[1]);
|
|
82
82
|
}),
|
|
83
|
+
(0, device_namespaceObject.defineActionDoubleClick)(async (param)=>{
|
|
84
|
+
const element = param.locate;
|
|
85
|
+
external_node_assert_default()(element, 'Element not found, cannot double click');
|
|
86
|
+
await this.mouseDoubleClick(element.center[0], element.center[1]);
|
|
87
|
+
}),
|
|
83
88
|
(0, device_namespaceObject.defineAction)({
|
|
84
89
|
name: 'Input',
|
|
85
90
|
description: 'Input text into the input field',
|
|
@@ -765,6 +770,14 @@ ${Object.keys(size).filter((key)=>size[key]).map((key)=>` ${key} size: ${size[k
|
|
|
765
770
|
const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
|
|
766
771
|
await adb.shell(`input${this.getDisplayArg()} swipe ${adjustedX} ${adjustedY} ${adjustedX} ${adjustedY} 150`);
|
|
767
772
|
}
|
|
773
|
+
async mouseDoubleClick(x, y) {
|
|
774
|
+
const adb = await this.getAdb();
|
|
775
|
+
const { x: adjustedX, y: adjustedY } = this.adjustCoordinates(x, y);
|
|
776
|
+
const tapCommand = `input${this.getDisplayArg()} tap ${adjustedX} ${adjustedY}`;
|
|
777
|
+
await adb.shell(tapCommand);
|
|
778
|
+
await (0, utils_namespaceObject.sleep)(50);
|
|
779
|
+
await adb.shell(tapCommand);
|
|
780
|
+
}
|
|
768
781
|
async mouseMove(x, y) {
|
|
769
782
|
return Promise.resolve();
|
|
770
783
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -67,6 +67,7 @@ export declare class AndroidDevice implements AbstractInterface {
|
|
|
67
67
|
private normalizeKeyName;
|
|
68
68
|
keyboardPress(key: string): Promise<void>;
|
|
69
69
|
mouseClick(x: number, y: number): Promise<void>;
|
|
70
|
+
mouseDoubleClick(x: number, y: number): Promise<void>;
|
|
70
71
|
mouseMove(x: number, y: number): Promise<void>;
|
|
71
72
|
mouseDrag(from: {
|
|
72
73
|
x: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midscene/android",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.7-beta-20250902060833.0",
|
|
4
4
|
"description": "Android automation library for Midscene",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Android UI automation",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"appium-adb": "12.12.1",
|
|
30
|
-
"@midscene/core": "0.27.
|
|
31
|
-
"@midscene/shared": "0.27.
|
|
30
|
+
"@midscene/core": "0.27.7-beta-20250902060833.0",
|
|
31
|
+
"@midscene/shared": "0.27.7-beta-20250902060833.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@microsoft/api-extractor": "^7.52.10",
|