uiautodev 0.3.5__tar.gz → 0.3.6__tar.gz
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.
- {uiautodev-0.3.5 → uiautodev-0.3.6}/PKG-INFO +1 -1
- {uiautodev-0.3.5 → uiautodev-0.3.6}/pyproject.toml +1 -1
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/app.py +1 -1
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/android.py +15 -17
- {uiautodev-0.3.5 → uiautodev-0.3.6}/LICENSE +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/README.md +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/__init__.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/__main__.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/appium_proxy.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/case.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/cli.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/command_proxy.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/command_types.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/common.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/appium.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/base_driver.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/ios.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/mock.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/udt/appium-uiautomator2-v5.12.4-light.apk +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/udt/udt.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/exceptions.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/model.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/provider.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/router/device.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/router/xml.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/static/demo.html +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/utils/common.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/utils/exceptions.py +0 -0
- {uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/utils/usbmux.py +0 -0
|
@@ -13,7 +13,6 @@ from typing import List, Tuple
|
|
|
13
13
|
from xml.etree import ElementTree
|
|
14
14
|
|
|
15
15
|
import adbutils
|
|
16
|
-
import requests
|
|
17
16
|
import uiautomator2 as u2
|
|
18
17
|
from PIL import Image
|
|
19
18
|
|
|
@@ -29,7 +28,7 @@ logger = logging.getLogger(__name__)
|
|
|
29
28
|
class AndroidDriver(BaseDriver):
|
|
30
29
|
def __init__(self, serial: str):
|
|
31
30
|
super().__init__(serial)
|
|
32
|
-
self.
|
|
31
|
+
self.adb_device = adbutils.device(serial)
|
|
33
32
|
self._try_dump_list = [
|
|
34
33
|
self._get_u2_hierarchy,
|
|
35
34
|
self._get_appium_hierarchy,
|
|
@@ -38,7 +37,7 @@ class AndroidDriver(BaseDriver):
|
|
|
38
37
|
|
|
39
38
|
@cached_property
|
|
40
39
|
def udt(self) -> UDT:
|
|
41
|
-
return UDT(self.
|
|
40
|
+
return UDT(self.adb_device)
|
|
42
41
|
|
|
43
42
|
@cached_property
|
|
44
43
|
def ud(self) -> u2.Device:
|
|
@@ -46,8 +45,7 @@ class AndroidDriver(BaseDriver):
|
|
|
46
45
|
|
|
47
46
|
def screenshot(self, id: int) -> Image.Image:
|
|
48
47
|
try:
|
|
49
|
-
|
|
50
|
-
return img.convert("RGB")
|
|
48
|
+
return self.adb_device.screenshot() # display_id is not OK now
|
|
51
49
|
except adbutils.AdbError as e:
|
|
52
50
|
logger.warning("screenshot error: %s", str(e))
|
|
53
51
|
if id > 0:
|
|
@@ -56,7 +54,7 @@ class AndroidDriver(BaseDriver):
|
|
|
56
54
|
|
|
57
55
|
def shell(self, command: str) -> ShellResponse:
|
|
58
56
|
try:
|
|
59
|
-
ret = self.
|
|
57
|
+
ret = self.adb_device.shell2(command, rstrip=True, timeout=20)
|
|
60
58
|
if ret.returncode == 0:
|
|
61
59
|
return ShellResponse(output=ret.output, error=None)
|
|
62
60
|
else:
|
|
@@ -68,7 +66,7 @@ class AndroidDriver(BaseDriver):
|
|
|
68
66
|
|
|
69
67
|
def dump_hierarchy(self) -> Tuple[str, Node]:
|
|
70
68
|
"""returns xml string and hierarchy object"""
|
|
71
|
-
wsize = self.
|
|
69
|
+
wsize = self.adb_device.window_size()
|
|
72
70
|
logger.debug("window size: %s", wsize)
|
|
73
71
|
start = time.time()
|
|
74
72
|
xml_data = self._dump_hierarchy_raw()
|
|
@@ -125,7 +123,7 @@ class AndroidDriver(BaseDriver):
|
|
|
125
123
|
# c.close()
|
|
126
124
|
|
|
127
125
|
def _get_appium_hierarchy(self) -> str:
|
|
128
|
-
c = self.
|
|
126
|
+
c = self.adb_device.create_connection(adbutils.Network.TCP, 6790)
|
|
129
127
|
try:
|
|
130
128
|
content = fetch_through_socket(c, "/wd/hub/session/0/source", timeout=10)
|
|
131
129
|
return json.loads(content)["value"]
|
|
@@ -140,34 +138,34 @@ class AndroidDriver(BaseDriver):
|
|
|
140
138
|
return self.udt.dump_hierarchy()
|
|
141
139
|
|
|
142
140
|
def tap(self, x: int, y: int):
|
|
143
|
-
self.
|
|
141
|
+
self.adb_device.click(x, y)
|
|
144
142
|
|
|
145
143
|
def window_size(self) -> Tuple[int, int]:
|
|
146
|
-
w, h = self.
|
|
144
|
+
w, h = self.adb_device.window_size()
|
|
147
145
|
return (w, h)
|
|
148
146
|
|
|
149
147
|
def app_install(self, app_path: str):
|
|
150
|
-
self.
|
|
148
|
+
self.adb_device.install(app_path)
|
|
151
149
|
|
|
152
150
|
def app_current(self) -> CurrentAppResponse:
|
|
153
|
-
info = self.
|
|
151
|
+
info = self.adb_device.app_current()
|
|
154
152
|
return CurrentAppResponse(
|
|
155
153
|
package=info.package, activity=info.activity, pid=info.pid
|
|
156
154
|
)
|
|
157
155
|
|
|
158
156
|
def app_launch(self, package: str):
|
|
159
|
-
if self.
|
|
157
|
+
if self.adb_device.package_info(package) is None:
|
|
160
158
|
raise AndroidDriverException(f"App not installed: {package}")
|
|
161
|
-
self.
|
|
159
|
+
self.adb_device.app_start(package)
|
|
162
160
|
|
|
163
161
|
def app_terminate(self, package: str):
|
|
164
|
-
self.
|
|
162
|
+
self.adb_device.app_stop(package)
|
|
165
163
|
|
|
166
164
|
def home(self):
|
|
167
|
-
self.
|
|
165
|
+
self.adb_device.keyevent("HOME")
|
|
168
166
|
|
|
169
167
|
def wake_up(self):
|
|
170
|
-
self.
|
|
168
|
+
self.adb_device.keyevent("WAKEUP")
|
|
171
169
|
|
|
172
170
|
|
|
173
171
|
def parse_xml(xml_data: str, wsize: WindowSize) -> Node:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uiautodev-0.3.5 → uiautodev-0.3.6}/uiautodev/driver/udt/appium-uiautomator2-v5.12.4-light.apk
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|