appium-espresso-driver 6.3.3 → 6.3.4
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 +6 -0
- package/build/lib/commands/element.d.ts +68 -57
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +56 -46
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/misc.d.ts +46 -46
- package/build/lib/commands/misc.d.ts.map +1 -1
- package/build/lib/commands/misc.js +34 -35
- package/build/lib/commands/misc.js.map +1 -1
- package/build/lib/commands/screenshot.d.ts +10 -27
- package/build/lib/commands/screenshot.d.ts.map +1 -1
- package/build/lib/commands/screenshot.js +16 -21
- package/build/lib/commands/screenshot.js.map +1 -1
- package/build/lib/commands/types.d.ts +17 -0
- package/build/lib/commands/types.d.ts.map +1 -0
- package/build/lib/commands/types.js +3 -0
- package/build/lib/commands/types.js.map +1 -0
- package/espresso-server/library/src/main/java/io/appium/espressoserver/lib/helpers/Version.kt +1 -1
- package/lib/commands/element.ts +258 -0
- package/lib/commands/{misc.js → misc.ts} +68 -58
- package/lib/commands/{screenshot.js → screenshot.ts} +25 -28
- package/lib/commands/types.ts +16 -0
- package/npm-shrinkwrap.json +5 -5
- package/package.json +1 -1
- package/lib/commands/element.js +0 -241
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [6.3.4](https://github.com/appium/appium-espresso-driver/compare/v6.3.3...v6.3.4) (2026-01-17)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* Migrate various commands to typescript (part 1) ([#1124](https://github.com/appium/appium-espresso-driver/issues/1124)) ([ed66c3b](https://github.com/appium/appium-espresso-driver/commit/ed66c3bcec7bf19dd6eceb69080ccbfd56771705))
|
|
6
|
+
|
|
1
7
|
## [6.3.3](https://github.com/appium/appium-espresso-driver/compare/v6.3.2...v6.3.3) (2026-01-16)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -1,94 +1,105 @@
|
|
|
1
|
+
import type { EspressoDriver } from '../driver';
|
|
1
2
|
/**
|
|
2
3
|
* Flash the element with given id.
|
|
3
4
|
* durationMillis and repeatCount are optional
|
|
4
|
-
* @this {import('../driver').EspressoDriver}
|
|
5
5
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-flashelement
|
|
6
|
-
* @param
|
|
7
|
-
* @param
|
|
8
|
-
* @param
|
|
6
|
+
* @param elementId - The ID of the element to flash
|
|
7
|
+
* @param durationMillis - Optional duration in milliseconds for each flash
|
|
8
|
+
* @param repeatCount - Optional number of times to repeat the flash
|
|
9
|
+
* @returns Promise that resolves when the flash command is executed
|
|
9
10
|
*/
|
|
10
|
-
export function mobileFlashElement(this:
|
|
11
|
+
export declare function mobileFlashElement(this: EspressoDriver, elementId: string, durationMillis?: number, repeatCount?: number): Promise<any>;
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
+
* Dismisses the autofill UI for the given element.
|
|
13
14
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-dismissautofill
|
|
14
|
-
* @param
|
|
15
|
+
* @param elementId - The ID of the element for which to dismiss autofill
|
|
16
|
+
* @returns Promise that resolves when the autofill is dismissed
|
|
15
17
|
*/
|
|
16
|
-
export function mobileDismissAutofill(this:
|
|
18
|
+
export declare function mobileDismissAutofill(this: EspressoDriver, elementId: string): Promise<void>;
|
|
17
19
|
/**
|
|
18
|
-
*
|
|
20
|
+
* Performs a swipe gesture on the given element.
|
|
19
21
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-swipe
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
25
|
-
* @param
|
|
22
|
+
* @param elementId - The ID of the element to swipe
|
|
23
|
+
* @param direction - Optional swipe direction (e.g., 'up', 'down', 'left', 'right')
|
|
24
|
+
* @param swiper - Optional swiper configuration
|
|
25
|
+
* @param startCoordinates - Optional starting coordinates for the swipe
|
|
26
|
+
* @param endCoordinates - Optional ending coordinates for the swipe
|
|
27
|
+
* @param precisionDescriber - Optional precision describer for the swipe action
|
|
28
|
+
* @returns Promise that resolves when the swipe is completed
|
|
26
29
|
*/
|
|
27
|
-
export function mobileSwipe(this:
|
|
30
|
+
export declare function mobileSwipe(this: EspressoDriver, elementId: string, direction?: string, swiper?: string, startCoordinates?: string, endCoordinates?: string, precisionDescriber?: string): Promise<any>;
|
|
28
31
|
/**
|
|
29
|
-
*
|
|
32
|
+
* Opens a drawer element (e.g., Navigation Drawer) with the specified gravity.
|
|
30
33
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-opendrawer
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
34
|
+
* @param elementId - The ID of the drawer element to open
|
|
35
|
+
* @param gravity - Optional gravity value for drawer positioning (e.g., Gravity.START, Gravity.END)
|
|
36
|
+
* @returns Promise that resolves when the drawer is opened
|
|
33
37
|
*/
|
|
34
|
-
export function mobileOpenDrawer(this:
|
|
38
|
+
export declare function mobileOpenDrawer(this: EspressoDriver, elementId: string, gravity?: number): Promise<any>;
|
|
35
39
|
/**
|
|
36
|
-
*
|
|
40
|
+
* Closes a drawer element (e.g., Navigation Drawer) with the specified gravity.
|
|
37
41
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-closedrawer
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
42
|
+
* @param elementId - The ID of the drawer element to close
|
|
43
|
+
* @param gravity - Optional gravity value for drawer positioning (e.g., Gravity.START, Gravity.END)
|
|
44
|
+
* @returns Promise that resolves when the drawer is closed
|
|
40
45
|
*/
|
|
41
|
-
export function mobileCloseDrawer(this:
|
|
46
|
+
export declare function mobileCloseDrawer(this: EspressoDriver, elementId: string, gravity?: number): Promise<any>;
|
|
42
47
|
/**
|
|
43
|
-
*
|
|
48
|
+
* Sets the date on a date picker element.
|
|
44
49
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-setdate
|
|
45
|
-
* @param
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
48
|
-
* @param
|
|
50
|
+
* @param elementId - The ID of the date picker element
|
|
51
|
+
* @param year - The year to set (e.g., 2024)
|
|
52
|
+
* @param monthOfYear - The month to set (0-11, where 0 is January)
|
|
53
|
+
* @param dayOfMonth - The day of the month to set (1-31)
|
|
54
|
+
* @returns Promise that resolves when the date is set
|
|
49
55
|
*/
|
|
50
|
-
export function mobileSetDate(this:
|
|
56
|
+
export declare function mobileSetDate(this: EspressoDriver, elementId: string, year: number, monthOfYear: number, dayOfMonth: number): Promise<any>;
|
|
51
57
|
/**
|
|
52
|
-
*
|
|
58
|
+
* Sets the time on a time picker element.
|
|
53
59
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-settime
|
|
54
|
-
* @param
|
|
55
|
-
* @param
|
|
56
|
-
* @param
|
|
60
|
+
* @param elementId - The ID of the time picker element
|
|
61
|
+
* @param hours - The hour to set (0-23)
|
|
62
|
+
* @param minutes - The minute to set (0-59)
|
|
63
|
+
* @returns Promise that resolves when the time is set
|
|
57
64
|
*/
|
|
58
|
-
export function mobileSetTime(this:
|
|
65
|
+
export declare function mobileSetTime(this: EspressoDriver, elementId: string, hours: number, minutes: number): Promise<any>;
|
|
59
66
|
/**
|
|
60
|
-
*
|
|
67
|
+
* Navigates to a menu item in a navigation element (e.g., BottomNavigationView).
|
|
61
68
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-navigateto
|
|
62
|
-
* @param
|
|
63
|
-
* @param
|
|
69
|
+
* @param elementId - The ID of the navigation element
|
|
70
|
+
* @param menuItemId - The ID of the menu item to navigate to (must be a non-negative number)
|
|
71
|
+
* @returns Promise that resolves when navigation is completed
|
|
72
|
+
* @throws {errors.InvalidArgumentError} If menuItemId is not a non-negative number
|
|
64
73
|
*/
|
|
65
|
-
export function mobileNavigateTo(this:
|
|
74
|
+
export declare function mobileNavigateTo(this: EspressoDriver, elementId: string, menuItemId: number | string): Promise<any>;
|
|
66
75
|
/**
|
|
67
76
|
* Perform a 'GeneralClickAction' (https://developer.android.com/reference/androidx/test/espresso/action/GeneralClickAction)
|
|
68
77
|
*
|
|
69
78
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-clickaction
|
|
70
|
-
* @
|
|
71
|
-
* @param
|
|
72
|
-
* @param
|
|
73
|
-
* @param
|
|
74
|
-
* @param
|
|
75
|
-
* @param
|
|
76
|
-
* @
|
|
79
|
+
* @param elementId - The ID of the element to perform the click action on
|
|
80
|
+
* @param tapper - Optional tapper configuration for the click action
|
|
81
|
+
* @param coordinatesProvider - Optional coordinates provider for the click position
|
|
82
|
+
* @param precisionDescriber - Optional precision describer for the click action
|
|
83
|
+
* @param inputDevice - Optional input device identifier
|
|
84
|
+
* @param buttonState - Optional button state for the click action
|
|
85
|
+
* @returns Promise that resolves when the click action is performed
|
|
77
86
|
*/
|
|
78
|
-
export function mobileClickAction(this:
|
|
87
|
+
export declare function mobileClickAction(this: EspressoDriver, elementId: string, tapper?: string, coordinatesProvider?: string, precisionDescriber?: string, inputDevice?: number, buttonState?: number): Promise<any>;
|
|
79
88
|
/**
|
|
80
|
-
*
|
|
89
|
+
* Scrolls to a specific page in a ViewPager or similar scrollable element.
|
|
81
90
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-scrolltopage
|
|
82
|
-
* @param
|
|
83
|
-
* @param
|
|
84
|
-
* @param
|
|
85
|
-
* @param
|
|
91
|
+
* @param elementId - The ID of the scrollable element (e.g., ViewPager)
|
|
92
|
+
* @param scrollTo - Optional direction to scroll: 'first', 'last', 'left', or 'right'
|
|
93
|
+
* @param scrollToPage - Optional page index to scroll to (must be non-negative)
|
|
94
|
+
* @param smoothScroll - Optional flag to enable smooth scrolling (default: false)
|
|
95
|
+
* @returns Promise that resolves when scrolling is completed
|
|
96
|
+
* @throws {errors.InvalidArgumentError} If scrollTo is not one of the valid values or scrollToPage is negative
|
|
86
97
|
*/
|
|
87
|
-
export function mobileScrollToPage(this:
|
|
98
|
+
export declare function mobileScrollToPage(this: EspressoDriver, elementId: string, scrollTo?: string, scrollToPage?: number, smoothScroll?: boolean): Promise<any>;
|
|
88
99
|
/**
|
|
89
|
-
*
|
|
90
|
-
* @param
|
|
91
|
-
* @returns
|
|
100
|
+
* Performs an editor action (e.g., IME action like DONE, SEARCH, NEXT) on the current input field.
|
|
101
|
+
* @param action - The editor action to perform (can be a string or numeric action code)
|
|
102
|
+
* @returns Promise that resolves when the editor action is performed
|
|
92
103
|
*/
|
|
93
|
-
export function mobilePerformEditorAction(this:
|
|
104
|
+
export declare function mobilePerformEditorAction(this: EspressoDriver, action: string | number): Promise<void>;
|
|
94
105
|
//# sourceMappingURL=element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../lib/commands/element.
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../lib/commands/element.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,CAAC,CAQd;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnG;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,GAAG,CAAC,CAad;AAGD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAM/G;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAMhH;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,CAQd;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAY1H;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,mBAAmB,CAAC,EAAE,MAAM,EAC5B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,CAAC,CAOd;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,GAAG,CAAC,CAwBd;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7G"}
|
|
@@ -20,11 +20,11 @@ const support_1 = require("appium/support");
|
|
|
20
20
|
/**
|
|
21
21
|
* Flash the element with given id.
|
|
22
22
|
* durationMillis and repeatCount are optional
|
|
23
|
-
* @this {import('../driver').EspressoDriver}
|
|
24
23
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-flashelement
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @param
|
|
24
|
+
* @param elementId - The ID of the element to flash
|
|
25
|
+
* @param durationMillis - Optional duration in milliseconds for each flash
|
|
26
|
+
* @param repeatCount - Optional number of times to repeat the flash
|
|
27
|
+
* @returns Promise that resolves when the flash command is executed
|
|
28
28
|
*/
|
|
29
29
|
async function mobileFlashElement(elementId, durationMillis, repeatCount) {
|
|
30
30
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/flash`, 'POST', {
|
|
@@ -33,22 +33,24 @@ async function mobileFlashElement(elementId, durationMillis, repeatCount) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Dismisses the autofill UI for the given element.
|
|
37
37
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-dismissautofill
|
|
38
|
-
* @param
|
|
38
|
+
* @param elementId - The ID of the element for which to dismiss autofill
|
|
39
|
+
* @returns Promise that resolves when the autofill is dismissed
|
|
39
40
|
*/
|
|
40
41
|
async function mobileDismissAutofill(elementId) {
|
|
41
42
|
await this.espresso.jwproxy.command(`/session/:sessionId/appium/execute_mobile/${elementId}/dismiss_autofill`, 'POST', {});
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
|
-
*
|
|
45
|
+
* Performs a swipe gesture on the given element.
|
|
45
46
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-swipe
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
48
|
-
* @param
|
|
49
|
-
* @param
|
|
50
|
-
* @param
|
|
51
|
-
* @param
|
|
47
|
+
* @param elementId - The ID of the element to swipe
|
|
48
|
+
* @param direction - Optional swipe direction (e.g., 'up', 'down', 'left', 'right')
|
|
49
|
+
* @param swiper - Optional swiper configuration
|
|
50
|
+
* @param startCoordinates - Optional starting coordinates for the swipe
|
|
51
|
+
* @param endCoordinates - Optional ending coordinates for the swipe
|
|
52
|
+
* @param precisionDescriber - Optional precision describer for the swipe action
|
|
53
|
+
* @returns Promise that resolves when the swipe is completed
|
|
52
54
|
*/
|
|
53
55
|
async function mobileSwipe(elementId, direction, swiper, startCoordinates, endCoordinates, precisionDescriber) {
|
|
54
56
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/swipe`, 'POST', {
|
|
@@ -61,30 +63,33 @@ async function mobileSwipe(elementId, direction, swiper, startCoordinates, endCo
|
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
65
|
/**
|
|
64
|
-
*
|
|
66
|
+
* Opens a drawer element (e.g., Navigation Drawer) with the specified gravity.
|
|
65
67
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-opendrawer
|
|
66
|
-
* @param
|
|
67
|
-
* @param
|
|
68
|
+
* @param elementId - The ID of the drawer element to open
|
|
69
|
+
* @param gravity - Optional gravity value for drawer positioning (e.g., Gravity.START, Gravity.END)
|
|
70
|
+
* @returns Promise that resolves when the drawer is opened
|
|
68
71
|
*/
|
|
69
72
|
async function mobileOpenDrawer(elementId, gravity) {
|
|
70
73
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/open_drawer`, 'POST', { gravity });
|
|
71
74
|
}
|
|
72
75
|
/**
|
|
73
|
-
*
|
|
76
|
+
* Closes a drawer element (e.g., Navigation Drawer) with the specified gravity.
|
|
74
77
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-closedrawer
|
|
75
|
-
* @param
|
|
76
|
-
* @param
|
|
78
|
+
* @param elementId - The ID of the drawer element to close
|
|
79
|
+
* @param gravity - Optional gravity value for drawer positioning (e.g., Gravity.START, Gravity.END)
|
|
80
|
+
* @returns Promise that resolves when the drawer is closed
|
|
77
81
|
*/
|
|
78
82
|
async function mobileCloseDrawer(elementId, gravity) {
|
|
79
83
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/close_drawer`, 'POST', { gravity });
|
|
80
84
|
}
|
|
81
85
|
/**
|
|
82
|
-
*
|
|
86
|
+
* Sets the date on a date picker element.
|
|
83
87
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-setdate
|
|
84
|
-
* @param
|
|
85
|
-
* @param
|
|
86
|
-
* @param
|
|
87
|
-
* @param
|
|
88
|
+
* @param elementId - The ID of the date picker element
|
|
89
|
+
* @param year - The year to set (e.g., 2024)
|
|
90
|
+
* @param monthOfYear - The month to set (0-11, where 0 is January)
|
|
91
|
+
* @param dayOfMonth - The day of the month to set (1-31)
|
|
92
|
+
* @returns Promise that resolves when the date is set
|
|
88
93
|
*/
|
|
89
94
|
async function mobileSetDate(elementId, year, monthOfYear, dayOfMonth) {
|
|
90
95
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/set_date`, 'POST', {
|
|
@@ -94,11 +99,12 @@ async function mobileSetDate(elementId, year, monthOfYear, dayOfMonth) {
|
|
|
94
99
|
});
|
|
95
100
|
}
|
|
96
101
|
/**
|
|
97
|
-
*
|
|
102
|
+
* Sets the time on a time picker element.
|
|
98
103
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-settime
|
|
99
|
-
* @param
|
|
100
|
-
* @param
|
|
101
|
-
* @param
|
|
104
|
+
* @param elementId - The ID of the time picker element
|
|
105
|
+
* @param hours - The hour to set (0-23)
|
|
106
|
+
* @param minutes - The minute to set (0-59)
|
|
107
|
+
* @returns Promise that resolves when the time is set
|
|
102
108
|
*/
|
|
103
109
|
async function mobileSetTime(elementId, hours, minutes) {
|
|
104
110
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/set_time`, 'POST', {
|
|
@@ -107,10 +113,12 @@ async function mobileSetTime(elementId, hours, minutes) {
|
|
|
107
113
|
});
|
|
108
114
|
}
|
|
109
115
|
/**
|
|
110
|
-
*
|
|
116
|
+
* Navigates to a menu item in a navigation element (e.g., BottomNavigationView).
|
|
111
117
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-navigateto
|
|
112
|
-
* @param
|
|
113
|
-
* @param
|
|
118
|
+
* @param elementId - The ID of the navigation element
|
|
119
|
+
* @param menuItemId - The ID of the menu item to navigate to (must be a non-negative number)
|
|
120
|
+
* @returns Promise that resolves when navigation is completed
|
|
121
|
+
* @throws {errors.InvalidArgumentError} If menuItemId is not a non-negative number
|
|
114
122
|
*/
|
|
115
123
|
async function mobileNavigateTo(elementId, menuItemId) {
|
|
116
124
|
const menuItemIdAsNumber = parseInt(`${menuItemId}`, 10);
|
|
@@ -123,13 +131,13 @@ async function mobileNavigateTo(elementId, menuItemId) {
|
|
|
123
131
|
* Perform a 'GeneralClickAction' (https://developer.android.com/reference/androidx/test/espresso/action/GeneralClickAction)
|
|
124
132
|
*
|
|
125
133
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-clickaction
|
|
126
|
-
* @
|
|
127
|
-
* @param
|
|
128
|
-
* @param
|
|
129
|
-
* @param
|
|
130
|
-
* @param
|
|
131
|
-
* @param
|
|
132
|
-
* @
|
|
134
|
+
* @param elementId - The ID of the element to perform the click action on
|
|
135
|
+
* @param tapper - Optional tapper configuration for the click action
|
|
136
|
+
* @param coordinatesProvider - Optional coordinates provider for the click position
|
|
137
|
+
* @param precisionDescriber - Optional precision describer for the click action
|
|
138
|
+
* @param inputDevice - Optional input device identifier
|
|
139
|
+
* @param buttonState - Optional button state for the click action
|
|
140
|
+
* @returns Promise that resolves when the click action is performed
|
|
133
141
|
*/
|
|
134
142
|
async function mobileClickAction(elementId, tapper, coordinatesProvider, precisionDescriber, inputDevice, buttonState) {
|
|
135
143
|
return await this.espresso.jwproxy.command(`/appium/execute_mobile/${elementId}/click_action`, 'POST', {
|
|
@@ -137,12 +145,14 @@ async function mobileClickAction(elementId, tapper, coordinatesProvider, precisi
|
|
|
137
145
|
});
|
|
138
146
|
}
|
|
139
147
|
/**
|
|
140
|
-
*
|
|
148
|
+
* Scrolls to a specific page in a ViewPager or similar scrollable element.
|
|
141
149
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-scrolltopage
|
|
142
|
-
* @param
|
|
143
|
-
* @param
|
|
144
|
-
* @param
|
|
145
|
-
* @param
|
|
150
|
+
* @param elementId - The ID of the scrollable element (e.g., ViewPager)
|
|
151
|
+
* @param scrollTo - Optional direction to scroll: 'first', 'last', 'left', or 'right'
|
|
152
|
+
* @param scrollToPage - Optional page index to scroll to (must be non-negative)
|
|
153
|
+
* @param smoothScroll - Optional flag to enable smooth scrolling (default: false)
|
|
154
|
+
* @returns Promise that resolves when scrolling is completed
|
|
155
|
+
* @throws {errors.InvalidArgumentError} If scrollTo is not one of the valid values or scrollToPage is negative
|
|
146
156
|
*/
|
|
147
157
|
async function mobileScrollToPage(elementId, scrollTo, scrollToPage, smoothScroll) {
|
|
148
158
|
const scrollToTypes = ['first', 'last', 'left', 'right'];
|
|
@@ -162,9 +172,9 @@ async function mobileScrollToPage(elementId, scrollTo, scrollToPage, smoothScrol
|
|
|
162
172
|
});
|
|
163
173
|
}
|
|
164
174
|
/**
|
|
165
|
-
*
|
|
166
|
-
* @param
|
|
167
|
-
* @returns
|
|
175
|
+
* Performs an editor action (e.g., IME action like DONE, SEARCH, NEXT) on the current input field.
|
|
176
|
+
* @param action - The editor action to perform (can be a string or numeric action code)
|
|
177
|
+
* @returns Promise that resolves when the editor action is performed
|
|
168
178
|
*/
|
|
169
179
|
async function mobilePerformEditorAction(action) {
|
|
170
180
|
await this.espresso.jwproxy.command('/appium/device/perform_editor_action', 'POST', { action });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../lib/commands/element.
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../lib/commands/element.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,38 @@
|
|
|
1
|
+
import type { StringRecord } from '@appium/types';
|
|
2
|
+
import type { EspressoDriver } from '../driver';
|
|
3
|
+
import type { DeviceInfo } from '../types';
|
|
1
4
|
/**
|
|
2
5
|
* Emulates key press event.
|
|
3
6
|
*
|
|
4
|
-
* @
|
|
5
|
-
* @param {number} keycode A valid Android key code. See https://developer.android.com/reference/android/view/KeyEvent
|
|
7
|
+
* @param keycode A valid Android key code. See https://developer.android.com/reference/android/view/KeyEvent
|
|
6
8
|
* for the list of available key codes
|
|
7
|
-
* @param
|
|
9
|
+
* @param metastate An integer in which each bit set to 1 represents a pressed meta key. See
|
|
8
10
|
* https://developer.android.com/reference/android/view/KeyEvent for more details.
|
|
9
|
-
* @param
|
|
11
|
+
* @param flags Flags for the particular key event. See
|
|
10
12
|
* https://developer.android.com/reference/android/view/KeyEvent for more details.
|
|
11
|
-
* @param
|
|
13
|
+
* @param isLongPress Whether to emulate long key press
|
|
12
14
|
*/
|
|
13
|
-
export function mobilePressKey(this:
|
|
15
|
+
export declare function mobilePressKey(this: EspressoDriver, keycode: number, metastate?: number, flags?: number, isLongPress?: boolean): Promise<void>;
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
16
|
-
* @returns
|
|
17
|
+
* Retrieves information about the connected Android device.
|
|
18
|
+
* @returns Promise that resolves to device information including API version, platform version, manufacturer,
|
|
19
|
+
* model, display size, and density
|
|
17
20
|
*/
|
|
18
|
-
export function mobileGetDeviceInfo(this:
|
|
21
|
+
export declare function mobileGetDeviceInfo(this: EspressoDriver): Promise<DeviceInfo>;
|
|
19
22
|
/**
|
|
20
|
-
*
|
|
23
|
+
* Checks if a toast message with the given text is currently visible on the screen.
|
|
21
24
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-istoastvisible
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
25
|
+
* @param text - The text to search for in the toast message
|
|
26
|
+
* @param isRegexp - Optional flag indicating if the text should be treated as a regular expression
|
|
27
|
+
* @returns Promise that resolves to true if the toast is visible, false otherwise
|
|
28
|
+
* @throws {errors.InvalidArgumentError} If text is not provided
|
|
24
29
|
*/
|
|
25
|
-
export function mobileIsToastVisible(this:
|
|
30
|
+
export declare function mobileIsToastVisible(this: EspressoDriver, text: string, isRegexp?: boolean): Promise<any>;
|
|
26
31
|
/**
|
|
27
|
-
*
|
|
28
|
-
* @returns
|
|
32
|
+
* Gets the display density (DPI) of the connected Android device.
|
|
33
|
+
* @returns Promise that resolves to the display density value
|
|
29
34
|
*/
|
|
30
|
-
export function getDisplayDensity(this:
|
|
35
|
+
export declare function getDisplayDensity(this: EspressoDriver): Promise<number>;
|
|
31
36
|
/**
|
|
32
37
|
* API to invoke methods defined in Android app.
|
|
33
38
|
*
|
|
@@ -66,15 +71,17 @@ export function getDisplayDensity(this: import("../driver").EspressoDriver): Pro
|
|
|
66
71
|
*
|
|
67
72
|
* @throws {Error} if target is not 'activity' or 'application'
|
|
68
73
|
* @throws {Error} if a method is not found with given argument types
|
|
69
|
-
* @this {import('../driver').EspressoDriver}
|
|
70
74
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-backdoor
|
|
71
|
-
* @param
|
|
72
|
-
* @param
|
|
73
|
-
* @param
|
|
74
|
-
* @
|
|
75
|
+
* @param target - The target object to invoke methods on: 'activity', 'application', or 'element'
|
|
76
|
+
* @param methods - Array of method definitions to invoke in sequence. Each method can have a name and optional args array
|
|
77
|
+
* @param elementId - Required if target is 'element', the ID of the element to invoke methods on
|
|
78
|
+
* @returns Promise that resolves to the result of the last method in the invocation chain.
|
|
75
79
|
* If method return type is void, then "<VOID>" will be returned
|
|
80
|
+
* @throws {errors.InvalidArgumentError} If target is 'element' but elementId is not provided
|
|
81
|
+
* @throws {Error} If target is not 'activity', 'application', or 'element'
|
|
82
|
+
* @throws {Error} If a method is not found with the given argument types
|
|
76
83
|
*/
|
|
77
|
-
export function mobileBackdoor(this:
|
|
84
|
+
export declare function mobileBackdoor(this: EspressoDriver, target: string, methods: StringRecord[], elementId?: string): Promise<any>;
|
|
78
85
|
/**
|
|
79
86
|
* Execute UiAutomator2 commands to drive out of app areas.
|
|
80
87
|
* strategy can be one of: "clazz", "res", "text", "textContains", "textEndsWith", "textStartsWith",
|
|
@@ -84,44 +91,37 @@ export function mobileBackdoor(this: import("../driver").EspressoDriver, target:
|
|
|
84
91
|
* "getResourceName", "getVisibleBounds", "getVisibleCenter", "getApplicationPackage",
|
|
85
92
|
* "getChildCount", "clear", "isCheckable", "isChecked", "isClickable", "isEnabled",
|
|
86
93
|
* "isFocusable", "isFocused", "isLongClickable", "isScrollable", "isSelected"
|
|
87
|
-
* @this {import('../driver').EspressoDriver}
|
|
88
94
|
* @see https://github.com/appium/appium-espresso-driver?tab=readme-ov-file#mobile-uiautomator
|
|
89
|
-
* @param
|
|
90
|
-
* @param
|
|
91
|
-
* @param
|
|
92
|
-
* @param
|
|
95
|
+
* @param strategy - The locator strategy to use (e.g., "clazz", "res", "text", "desc", "pkg", etc.)
|
|
96
|
+
* @param locator - The locator value to match elements
|
|
97
|
+
* @param action - The action to perform on the matched element
|
|
98
|
+
* @param index - Optional zero-based index if multiple elements match the locator
|
|
99
|
+
* @returns Promise that resolves to the result of the action (varies by action type)
|
|
93
100
|
*/
|
|
94
|
-
export function mobileUiautomator(this:
|
|
101
|
+
export declare function mobileUiautomator(this: EspressoDriver, strategy: string, locator: string, action: string, index?: number): Promise<any>;
|
|
95
102
|
/**
|
|
96
103
|
* Execute UiAutomator2 command to return the UI dump when AUT is in background.
|
|
97
|
-
* @this {import('../driver').EspressoDriver}
|
|
98
104
|
* @throws {Error} if uiautomator view dump is unsuccessful
|
|
99
105
|
* @returns {Promise<string>} uiautomator DOM xml as string
|
|
100
106
|
*/
|
|
101
|
-
export function mobileUiautomatorPageSource(this:
|
|
107
|
+
export declare function mobileUiautomatorPageSource(this: EspressoDriver): Promise<string>;
|
|
102
108
|
/**
|
|
103
|
-
*
|
|
104
|
-
* @property {!string|number|boolean} Object Settings parameters that is available in
|
|
109
|
+
* Settings parameters that is available in
|
|
105
110
|
* https://github.com/appium/appium-espresso-driver#settings-api or enabled plugins.
|
|
106
111
|
*/
|
|
112
|
+
export interface SettingsOptions {
|
|
113
|
+
[key: string]: string | number | boolean;
|
|
114
|
+
}
|
|
107
115
|
/**
|
|
108
116
|
* Apply the given settings to the espresso driver and the espresso server.
|
|
109
117
|
* Errors by the espresso server will be printed as log, but it does not return an error message.
|
|
110
|
-
* @param
|
|
111
|
-
* @
|
|
118
|
+
* @param settings - Settings object containing key-value pairs of settings to apply
|
|
119
|
+
* @returns Promise that resolves when settings are updated
|
|
112
120
|
*/
|
|
113
|
-
export function updateSettings(this:
|
|
121
|
+
export declare function updateSettings(this: EspressoDriver, settings: SettingsOptions): Promise<void>;
|
|
114
122
|
/**
|
|
115
|
-
*
|
|
123
|
+
* Retrieves the current settings from both the driver and the espresso server.
|
|
124
|
+
* @returns Promise that resolves to a merged object containing all current settings from both driver and server
|
|
116
125
|
*/
|
|
117
|
-
export function getSettings(this:
|
|
118
|
-
[x: string]: any;
|
|
119
|
-
}>;
|
|
120
|
-
export type SettingsOptions = {
|
|
121
|
-
/**
|
|
122
|
-
* Settings parameters that is available in
|
|
123
|
-
* https://github.com/appium/appium-espresso-driver#settings-api or enabled plugins.
|
|
124
|
-
*/
|
|
125
|
-
Object: string | number | boolean;
|
|
126
|
-
};
|
|
126
|
+
export declare function getSettings(this: EspressoDriver): Promise<Record<string, any>>;
|
|
127
127
|
//# sourceMappingURL=misc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../lib/commands/misc.
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../lib/commands/misc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAEpF;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAQhH;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,CAOd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,CAId;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxF;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpG;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAMrF"}
|