Appium-Python-Client 6.0.12__py3-none-any.whl → 6.1.0__py3-none-any.whl

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.
@@ -19,7 +19,7 @@ from selenium.webdriver.common.actions import interaction
19
19
  from selenium.webdriver.common.actions.action_builder import ActionBuilder
20
20
  from selenium.webdriver.common.actions.mouse_button import MouseButton
21
21
  from selenium.webdriver.common.actions.pointer_input import PointerInput
22
- from typing_extensions import Self
22
+ from typing_extensions import Self, deprecated
23
23
 
24
24
  from appium.webdriver.webelement import WebElement
25
25
 
@@ -29,9 +29,14 @@ if TYPE_CHECKING:
29
29
 
30
30
 
31
31
  class ActionHelpers:
32
+ @deprecated('Please use W3C actions (ActionChains/ActionBuilder) or mobile: gesture extensions instead.')
32
33
  def scroll(self, origin_el: WebElement, destination_el: WebElement, duration: int | None = None) -> Self:
33
34
  """Scrolls from one element to another
34
35
 
36
+ .. deprecated::
37
+ Please use W3C actions (`ActionChains` / `ActionBuilder`) or driver-specific
38
+ `mobile:` gesture extensions instead.
39
+
35
40
  Args:
36
41
  origin_el: the element from which to begin scrolling (center of element)
37
42
  destination_el: the element to scroll to (center of element)
@@ -63,9 +68,14 @@ class ActionHelpers:
63
68
  actions.perform()
64
69
  return self
65
70
 
71
+ @deprecated('Please use W3C actions (ActionChains/ActionBuilder) or mobile: gesture extensions instead.')
66
72
  def drag_and_drop(self, origin_el: WebElement, destination_el: WebElement, pause: float | None = None) -> Self:
67
73
  """Drag the origin element to the destination element
68
74
 
75
+ .. deprecated::
76
+ Please use W3C actions (`ActionChains` / `ActionBuilder`) or driver-specific
77
+ `mobile:` gesture extensions instead.
78
+
69
79
  Args:
70
80
  origin_el: the element to drag
71
81
  destination_el: the element to drag to
@@ -84,10 +94,15 @@ class ActionHelpers:
84
94
  actions.perform()
85
95
  return self
86
96
 
97
+ @deprecated('Please use W3C actions (ActionChains/ActionBuilder) or mobile: gesture extensions instead.')
87
98
  def tap(self, positions: list[tuple[int, int]], duration: int | None = None) -> Self:
88
99
  """Taps on an particular place with up to five fingers, holding for a
89
100
  certain time
90
101
 
102
+ .. deprecated::
103
+ Please use W3C actions (`ActionChains` / `ActionBuilder`) or driver-specific
104
+ `mobile:` gesture extensions instead.
105
+
91
106
  Args:
92
107
  positions: an array of tuples representing the x/y coordinates of
93
108
  the fingers to tap. Length can be up to five.
@@ -132,9 +147,14 @@ class ActionHelpers:
132
147
  actions.perform()
133
148
  return self
134
149
 
150
+ @deprecated('Please use W3C actions (ActionChains/ActionBuilder) or mobile: gesture extensions instead.')
135
151
  def swipe(self, start_x: int, start_y: int, end_x: int, end_y: int, duration: int = 0) -> Self:
136
152
  """Swipe from one point to another point, for an optional duration.
137
153
 
154
+ .. deprecated::
155
+ Please use W3C actions (`ActionChains` / `ActionBuilder`) or driver-specific
156
+ `mobile:` gesture extensions instead.
157
+
138
158
  Args:
139
159
  start_x: x-coordinate at which to start
140
160
  start_y: y-coordinate at which to start
@@ -161,9 +181,14 @@ class ActionHelpers:
161
181
  actions.perform()
162
182
  return self
163
183
 
184
+ @deprecated('Please use W3C actions (ActionChains/ActionBuilder) or mobile: gesture extensions instead.')
164
185
  def flick(self, start_x: int, start_y: int, end_x: int, end_y: int) -> Self:
165
186
  """Flick from one point to another point.
166
187
 
188
+ .. deprecated::
189
+ Please use W3C actions (`ActionChains` / `ActionBuilder`) or driver-specific
190
+ `mobile:` gesture extensions instead.
191
+
167
192
  Args:
168
193
  start_x: x-coordinate at which to start
169
194
  start_y: y-coordinate at which to start
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: Appium-Python-Client
3
- Version: 6.0.12
3
+ Version: 6.1.0
4
4
  Summary: Python client for Appium
5
5
  Project-URL: Homepage, https://appium.io/
6
6
  Project-URL: Repository, https://github.com/appium/python-client
@@ -152,10 +152,12 @@ For example, some changes in the Selenium binding could break the Appium client.
152
152
  - `MultiAction` and `TouchAction` are deprecated. Please use W3C WebDriver actions or `mobile:` extensions
153
153
  - `launch_app`, `close_app`, and `reset` are deprecated. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details
154
154
 
155
- #### MultiAction/TouchAction to W3C actions
155
+ #### MultiAction/TouchAction and ActionHelpers Shortcuts to W3C Actions
156
+
157
+ The interaction shortcut methods on `ActionHelpers` (`scroll`, `drag_and_drop`, `tap`, `swipe`, and `flick`) are deprecated because gesture behavior varies across drivers and pointer types (for example, Android UiAutomator2 handles `POINTER_TOUCH` and `POINTER_MOUSE` inputs differently in the underlying UIAutomator framework). Build W3C WebDriver actions directly with `ActionChains` / `ActionBuilder` instead.
156
158
 
157
159
  Some elements can be handled with `touch` pointer action instead of the default `mouse` pointer action in the Selenium Python client.
158
- For example, the below action builder is to replace the default one with the `touch` pointer action.
160
+ For example, the below action builder is to replace the default one with the `touch` pointer action:
159
161
 
160
162
  ```python
161
163
  from selenium.webdriver import ActionChains
@@ -164,7 +166,7 @@ from selenium.webdriver.common.actions.action_builder import ActionBuilder
164
166
  from selenium.webdriver.common.actions.pointer_input import PointerInput
165
167
 
166
168
  actions = ActionChains(driver)
167
- # override as 'touch' pointer action
169
+ # override as 'touch' pointer action (or use interaction.POINTER_MOUSE for mouse input)
168
170
  actions.w3c_actions = ActionBuilder(driver, mouse=PointerInput(interaction.POINTER_TOUCH, 'touch'))
169
171
  actions.w3c_actions.pointer_action.move_to_location(start_x, start_y)
170
172
  actions.w3c_actions.pointer_action.pointer_down()
@@ -287,7 +287,7 @@ appium/webdriver/webelement.py,sha256=ewBkxaZiJtmhRoKjQk317WjewansQ6tpm3JePSv1pQ
287
287
  appium/webdriver/common/__init__.py,sha256=4MapoJ3p5LiP0AsHMgL2xoPTIFno4dcH1GSoxaZzv4w,623
288
288
  appium/webdriver/common/appiumby.py,sha256=1sFzgJht8v9pO0fG-uK1jgbb8zMJwfBy3LJH15OPqq8,1785
289
289
  appium/webdriver/extensions/__init__.py,sha256=wSUl6yC2TJNla7xbHXkCfn9J1LpQs9UIx8oOs6V8kZA,567
290
- appium/webdriver/extensions/action_helpers.py,sha256=LPpEia81XoMMt6ENdP8hvY1WOoy7ST5tzN1NuzQQv-g,8006
290
+ appium/webdriver/extensions/action_helpers.py,sha256=yK_SDJCl-PeepC3C-zXJnfCLkcFwRz3NB_SH4JicFTw,9388
291
291
  appium/webdriver/extensions/applications.py,sha256=KnRD9-JilgYtBuy8dik2iGI5GeS2RPQws2BSdKL9HDo,6575
292
292
  appium/webdriver/extensions/clipboard.py,sha256=G0qvK5I5DP87IR8A5ICMC-_mtEPktSCOPKif-RZwX2M,3470
293
293
  appium/webdriver/extensions/context.py,sha256=Ldhyld4n_JRu9YhgnIOtF-qZQYsXlYrjdYHStcIV2jA,1994
@@ -319,7 +319,7 @@ appium/webdriver/extensions/flutter_integration/__init__.py,sha256=wSUl6yC2TJNla
319
319
  appium/webdriver/extensions/flutter_integration/flutter_commands.py,sha256=FwNqIykRyMAU8-344GTlceBOxLbS-bA9bfGX4iJpHxw,11985
320
320
  appium/webdriver/extensions/flutter_integration/flutter_finder.py,sha256=HH9vGAouJuHzp29Jam_lQGrh67PDq6MxU5Ifewf7C5w,2164
321
321
  appium/webdriver/extensions/flutter_integration/scroll_directions.py,sha256=CkOv7k21SMe-h2-EYSZ6MBKBGTRC1csQ-tuowHgMn0E,85
322
- appium_python_client-6.0.12.dist-info/METADATA,sha256=4-B6Vfcd_WKqdqJytd1zySO73Oukatozsdyd3dPEKww,21274
323
- appium_python_client-6.0.12.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
324
- appium_python_client-6.0.12.dist-info/licenses/LICENSE,sha256=QxeKfXNmPWCfFyrXiwdVzMFPFMK0nlBrKhYLUoIcqhk,11384
325
- appium_python_client-6.0.12.dist-info/RECORD,,
322
+ appium_python_client-6.1.0.dist-info/METADATA,sha256=lnYvisOqH_pImigF_8hYtOb-kSMOLzqzSnpE2k7oLS4,21766
323
+ appium_python_client-6.1.0.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
324
+ appium_python_client-6.1.0.dist-info/licenses/LICENSE,sha256=QxeKfXNmPWCfFyrXiwdVzMFPFMK0nlBrKhYLUoIcqhk,11384
325
+ appium_python_client-6.1.0.dist-info/RECORD,,