react-native-ai-debugger 1.0.5 → 1.0.6
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/README.md +92 -0
- package/build/core/index.d.ts +2 -1
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +6 -2
- package/build/core/index.js.map +1 -1
- package/build/core/ios.d.ts +80 -0
- package/build/core/ios.d.ts.map +1 -1
- package/build/core/ios.js +591 -1
- package/build/core/ios.js.map +1 -1
- package/build/core/telemetry.d.ts +4 -0
- package/build/core/telemetry.d.ts.map +1 -0
- package/build/core/telemetry.js +225 -0
- package/build/core/telemetry.js.map +1 -0
- package/build/index.js +245 -4
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,11 +16,14 @@ An MCP (Model Context Protocol) server for AI-powered React Native debugging. En
|
|
|
16
16
|
- **Discover debug globals** available in the app
|
|
17
17
|
- **Android device control** - screenshots, tap, swipe, text input, key events via ADB
|
|
18
18
|
- **iOS simulator control** - screenshots, app management, URL handling via simctl
|
|
19
|
+
- **iOS UI automation** - tap, swipe, text input, button presses via IDB (optional)
|
|
20
|
+
- **iOS accessibility inspection** - get UI element tree and element info at coordinates via IDB
|
|
19
21
|
|
|
20
22
|
## Requirements
|
|
21
23
|
|
|
22
24
|
- Node.js 18+
|
|
23
25
|
- React Native app running with Metro bundler
|
|
26
|
+
- **Optional for iOS UI automation**: [Facebook IDB](https://fbidb.io/) - `brew install idb-companion`
|
|
24
27
|
|
|
25
28
|
## Claude Code Setup
|
|
26
29
|
|
|
@@ -156,6 +159,22 @@ Requires VS Code 1.102+ with Copilot ([docs](https://code.visualstudio.com/docs/
|
|
|
156
159
|
| `ios_terminate_app` | Terminate a running app |
|
|
157
160
|
| `ios_boot_simulator` | Boot a simulator by UDID |
|
|
158
161
|
|
|
162
|
+
### iOS UI Interaction (requires IDB)
|
|
163
|
+
|
|
164
|
+
These tools require [Facebook IDB](https://fbidb.io/) to be installed: `brew install idb-companion`
|
|
165
|
+
|
|
166
|
+
| Tool | Description |
|
|
167
|
+
| ------------------- | ----------------------------------------------------- |
|
|
168
|
+
| `ios_tap` | Tap at specific coordinates on screen |
|
|
169
|
+
| `ios_tap_element` | Tap an element by its accessibility label |
|
|
170
|
+
| `ios_swipe` | Swipe from one point to another |
|
|
171
|
+
| `ios_input_text` | Type text into the active input field |
|
|
172
|
+
| `ios_button` | Press hardware buttons (HOME, LOCK, SIRI, etc.) |
|
|
173
|
+
| `ios_key_event` | Send a key event by keycode |
|
|
174
|
+
| `ios_key_sequence` | Send multiple key events in sequence |
|
|
175
|
+
| `ios_describe_all` | Get accessibility tree for entire screen |
|
|
176
|
+
| `ios_describe_point`| Get accessibility info for element at specific point |
|
|
177
|
+
|
|
159
178
|
## Usage
|
|
160
179
|
|
|
161
180
|
1. Start your React Native app:
|
|
@@ -457,6 +476,79 @@ Open a deep link:
|
|
|
457
476
|
ios_open_url with url="myapp://settings"
|
|
458
477
|
```
|
|
459
478
|
|
|
479
|
+
### iOS UI Automation (requires IDB)
|
|
480
|
+
|
|
481
|
+
Install IDB first: `brew install idb-companion`
|
|
482
|
+
|
|
483
|
+
**Important: Coordinate System**
|
|
484
|
+
- iOS IDB uses **points** (logical coordinates), not pixels
|
|
485
|
+
- For 2x Retina displays: 1 point = 2 pixels
|
|
486
|
+
- Example: 1640x2360 pixel screenshot = 820x1180 points
|
|
487
|
+
- Use `ios_describe_all` to get exact element coordinates in points
|
|
488
|
+
|
|
489
|
+
Tap on screen (coordinates in points):
|
|
490
|
+
|
|
491
|
+
```
|
|
492
|
+
ios_tap with x=200 y=400
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
Long press (hold for 2 seconds):
|
|
496
|
+
|
|
497
|
+
```
|
|
498
|
+
ios_tap with x=200 y=400 duration=2
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
Swipe gesture:
|
|
502
|
+
|
|
503
|
+
```
|
|
504
|
+
ios_swipe with startX=200 startY=600 endX=200 endY=200
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
Type text (tap input field first):
|
|
508
|
+
|
|
509
|
+
```
|
|
510
|
+
ios_tap with x=200 y=300
|
|
511
|
+
ios_input_text with text="hello@example.com"
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
Press hardware buttons:
|
|
515
|
+
|
|
516
|
+
```
|
|
517
|
+
ios_button with button="HOME"
|
|
518
|
+
ios_button with button="LOCK"
|
|
519
|
+
ios_button with button="SIRI"
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
Get accessibility info for the screen:
|
|
523
|
+
|
|
524
|
+
```
|
|
525
|
+
ios_describe_all
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
Get accessibility info at a specific point:
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
ios_describe_point with x=200 y=400
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
Tap an element by accessibility label:
|
|
535
|
+
|
|
536
|
+
```
|
|
537
|
+
ios_tap_element with label="Settings"
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
Tap using partial label match:
|
|
541
|
+
|
|
542
|
+
```
|
|
543
|
+
ios_tap_element with labelContains="Sign"
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
When multiple elements match, use index (0-based):
|
|
547
|
+
|
|
548
|
+
```
|
|
549
|
+
ios_tap_element with labelContains="Button" index=1
|
|
550
|
+
```
|
|
551
|
+
|
|
460
552
|
## Supported React Native Versions
|
|
461
553
|
|
|
462
554
|
| Version | Runtime | Status |
|
package/build/core/index.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ export { COMMON_PORTS, isPortOpen, scanMetroPorts, fetchDevices, selectMainDevic
|
|
|
6
6
|
export { formatRemoteObject, handleCDPMessage, connectToDevice, getConnectedApps, getFirstConnectedApp, hasConnectedApp } from "./connection.js";
|
|
7
7
|
export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp } from "./executor.js";
|
|
8
8
|
export { isAdbAvailable, listAndroidDevices, getDefaultAndroidDevice, androidScreenshot, androidInstallApp, androidLaunchApp, androidListPackages, ANDROID_KEY_EVENTS, androidTap, androidLongPress, androidSwipe, androidInputText, androidKeyEvent, androidGetScreenSize } from "./android.js";
|
|
9
|
-
export { isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator } from "./ios.js";
|
|
9
|
+
export { isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator, isIdbAvailable, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, IOS_BUTTON_TYPES } from "./ios.js";
|
|
10
|
+
export type { iOSButtonType, iOSAccessibilityElement, iOSDescribeResult } from "./ios.js";
|
|
10
11
|
export { BundleErrorBuffer, parseMetroError, formatBundleError, formatBundleErrors, connectMetroBuildEvents, disconnectMetroBuildEvents, isConnectedToMetroBuildEvents, fetchBundleStatus, getBundleErrors, getBundleStatusWithErrors } from "./bundle.js";
|
|
11
12
|
export { startDebugHttpServer, getDebugServerPort } from "./httpServer.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG7H,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvF,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzF,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG7H,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvF,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzF,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEH,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAEhB,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG1F,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/build/core/index.js
CHANGED
|
@@ -16,8 +16,12 @@ export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp } from "./exec
|
|
|
16
16
|
export { isAdbAvailable, listAndroidDevices, getDefaultAndroidDevice, androidScreenshot, androidInstallApp, androidLaunchApp, androidListPackages,
|
|
17
17
|
// UI Input (Phase 2)
|
|
18
18
|
ANDROID_KEY_EVENTS, androidTap, androidLongPress, androidSwipe, androidInputText, androidKeyEvent, androidGetScreenSize } from "./android.js";
|
|
19
|
-
// iOS (simctl)
|
|
20
|
-
export {
|
|
19
|
+
// iOS (simctl + IDB)
|
|
20
|
+
export {
|
|
21
|
+
// simctl-based tools
|
|
22
|
+
isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator,
|
|
23
|
+
// IDB-based UI tools
|
|
24
|
+
isIdbAvailable, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, IOS_BUTTON_TYPES } from "./ios.js";
|
|
21
25
|
// Bundle (Metro build errors)
|
|
22
26
|
export { BundleErrorBuffer, parseMetroError, formatBundleError, formatBundleErrors, connectMetroBuildEvents, disconnectMetroBuildEvents, isConnectedToMetroBuildEvents, fetchBundleStatus, getBundleErrors, getBundleStatusWithErrors } from "./bundle.js";
|
|
23
27
|
// Debug HTTP Server
|
package/build/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7H,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvF,UAAU;AACV,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAEzB,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzF,gBAAgB;AAChB,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB;AACnB,qBAAqB;AACrB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAEtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7H,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvF,UAAU;AACV,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAClB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAClB,MAAM,iBAAiB,CAAC;AAEzB,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzF,gBAAgB;AAChB,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB;AACnB,qBAAqB;AACrB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAEtB,qBAAqB;AACrB,OAAO;AACH,qBAAqB;AACrB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB;AAChB,qBAAqB;AACrB,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,UAAU,CAAC;AAKlB,8BAA8B;AAC9B,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EAC5B,MAAM,aAAa,CAAC;AAErB,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/build/core/ios.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export declare const IOS_BUTTON_TYPES: readonly ["HOME", "LOCK", "SIDE_BUTTON", "SIRI", "APPLE_PAY"];
|
|
2
|
+
export type iOSButtonType = (typeof IOS_BUTTON_TYPES)[number];
|
|
3
|
+
/**
|
|
4
|
+
* Check if IDB is available
|
|
5
|
+
*/
|
|
6
|
+
export declare function isIdbAvailable(): Promise<boolean>;
|
|
1
7
|
export interface iOSSimulator {
|
|
2
8
|
udid: string;
|
|
3
9
|
name: string;
|
|
@@ -15,6 +21,24 @@ export interface iOSResult {
|
|
|
15
21
|
originalWidth?: number;
|
|
16
22
|
originalHeight?: number;
|
|
17
23
|
}
|
|
24
|
+
export interface iOSAccessibilityElement {
|
|
25
|
+
AXLabel?: string;
|
|
26
|
+
AXValue?: string;
|
|
27
|
+
AXFrame?: string;
|
|
28
|
+
frame?: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
};
|
|
34
|
+
AXUniqueId?: string;
|
|
35
|
+
type?: string;
|
|
36
|
+
children?: iOSAccessibilityElement[];
|
|
37
|
+
[key: string]: unknown;
|
|
38
|
+
}
|
|
39
|
+
export interface iOSDescribeResult extends iOSResult {
|
|
40
|
+
elements?: iOSAccessibilityElement[];
|
|
41
|
+
}
|
|
18
42
|
/**
|
|
19
43
|
* Check if simctl is available
|
|
20
44
|
*/
|
|
@@ -51,4 +75,60 @@ export declare function iosTerminateApp(bundleId: string, udid?: string): Promis
|
|
|
51
75
|
* Boot an iOS simulator
|
|
52
76
|
*/
|
|
53
77
|
export declare function iosBootSimulator(udid: string): Promise<iOSResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Tap at coordinates on an iOS simulator using IDB
|
|
80
|
+
*/
|
|
81
|
+
export declare function iosTap(x: number, y: number, options?: {
|
|
82
|
+
duration?: number;
|
|
83
|
+
udid?: string;
|
|
84
|
+
}): Promise<iOSResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Swipe gesture on an iOS simulator using IDB
|
|
87
|
+
*/
|
|
88
|
+
export declare function iosSwipe(startX: number, startY: number, endX: number, endY: number, options?: {
|
|
89
|
+
duration?: number;
|
|
90
|
+
delta?: number;
|
|
91
|
+
udid?: string;
|
|
92
|
+
}): Promise<iOSResult>;
|
|
93
|
+
/**
|
|
94
|
+
* Input text into the active field on an iOS simulator using IDB
|
|
95
|
+
*/
|
|
96
|
+
export declare function iosInputText(text: string, udid?: string): Promise<iOSResult>;
|
|
97
|
+
/**
|
|
98
|
+
* Press a hardware button on an iOS simulator using IDB
|
|
99
|
+
*/
|
|
100
|
+
export declare function iosButton(button: iOSButtonType, options?: {
|
|
101
|
+
duration?: number;
|
|
102
|
+
udid?: string;
|
|
103
|
+
}): Promise<iOSResult>;
|
|
104
|
+
/**
|
|
105
|
+
* Send a key event to an iOS simulator using IDB
|
|
106
|
+
*/
|
|
107
|
+
export declare function iosKeyEvent(keycode: number, options?: {
|
|
108
|
+
duration?: number;
|
|
109
|
+
udid?: string;
|
|
110
|
+
}): Promise<iOSResult>;
|
|
111
|
+
/**
|
|
112
|
+
* Send a sequence of key events to an iOS simulator using IDB
|
|
113
|
+
*/
|
|
114
|
+
export declare function iosKeySequence(keycodes: number[], udid?: string): Promise<iOSResult>;
|
|
115
|
+
/**
|
|
116
|
+
* Get accessibility info for the entire screen using IDB
|
|
117
|
+
*/
|
|
118
|
+
export declare function iosDescribeAll(udid?: string): Promise<iOSDescribeResult>;
|
|
119
|
+
/**
|
|
120
|
+
* Get accessibility info at a specific point using IDB
|
|
121
|
+
*/
|
|
122
|
+
export declare function iosDescribePoint(x: number, y: number, udid?: string): Promise<iOSDescribeResult>;
|
|
123
|
+
/**
|
|
124
|
+
* Tap an element by its accessibility label using IDB
|
|
125
|
+
* This simplifies the workflow: no need to manually find coordinates
|
|
126
|
+
*/
|
|
127
|
+
export declare function iosTapElement(options: {
|
|
128
|
+
label?: string;
|
|
129
|
+
labelContains?: string;
|
|
130
|
+
index?: number;
|
|
131
|
+
duration?: number;
|
|
132
|
+
udid?: string;
|
|
133
|
+
}): Promise<iOSResult>;
|
|
54
134
|
//# sourceMappingURL=ios.d.ts.map
|
package/build/core/ios.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}
|