AltTester-Driver 2.1.2__tar.gz → 2.2.2__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.
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/PKG-INFO +14 -2
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/SOURCES.txt +2 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/PKG-INFO +14 -2
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/__version__.py +2 -2
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/_websocket.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/altdriver.py +11 -9
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/altobject.py +32 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/by.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/add_notification_listener.py +4 -4
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/remove_notification_listener.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/reset_input.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/set_server_logging.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_object.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_object_at_coordinates.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_object_which_contains.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_objects.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_objects_which_contains.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_component_property.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_object.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_object_to_not_be_present.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_object_which_contains.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/begin_touch.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/click_coordinates.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/end_touch.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/keys_down.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/keys_up.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/move_mouse.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/move_touch.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/multi_point_swipe.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/press_keys.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/scroll_mouse.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/swipe.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/tap_coordinates.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/InputActions/tilt.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/Notifications/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/Notifications/base_notification_callbacks.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/Notifications/load_scene_mode.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/Notifications/load_scene_notification_result.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/Notifications/log_notification_result.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/Notifications/notification_type.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/__init__.py +2 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/call_method.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/click_element.py +1 -1
- alttester_driver-2.2.2/alttester/commands/ObjectCommands/find_object_from_object.py +63 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/get_all_components.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/get_component_property.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/get_text.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_down.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_enter.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_exit.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_up.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/set_component_property.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/set_text.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/tap_element.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/__init__.py +2 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/delete_player_pref.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/delete_player_pref_key.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_all_loaded_scenes.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_current_scene.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_player_pref_key.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_time_scale.py +1 -1
- alttester_driver-2.2.2/alttester/commands/UnityCommands/get_visual_element_property.py +40 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/load_scene.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/set_player_pref_key.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/set_time_scale.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/unload_scene.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/wait_for_current_scene_to_be.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/base_command.py +17 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/get_png_screenshot.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/get_server_version.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/get_static_property.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/set_static_property.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/exceptions.py +5 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/keycode.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/logging.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/playerpref.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/reverse_port_forwarding.py +2 -2
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/setup.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/conftest.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_driver.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_notifications.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_reverse_port_forwarding.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene01_part1.py +2 -2
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene01_part2.py +39 -4
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene02.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene03.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene05.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene07.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene09.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/test_scene10.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/integration/utils.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/unit/__init__.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/unit/test_altobject.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/unit/test_commands.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/tests/unit/test_websocket.py +1 -1
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/dependency_links.txt +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/not-zip-safe +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/requires.txt +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/top_level.txt +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/MANIFEST.in +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/README.md +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/requirements-dev.txt +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/requirements.txt +0 -0
- {alttester_driver-2.1.2 → alttester_driver-2.2.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: AltTester-Driver
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: Python bindings for the AltTester® framework. AltTester® is an open-source UI driven test automation tool that helps you find objects in your game and interacts with them.
|
|
5
5
|
Home-page: https://alttester.com/docs/sdk/latest/
|
|
6
6
|
Author: Altom Consulting
|
|
@@ -38,6 +38,18 @@ Requires-Dist: loguru
|
|
|
38
38
|
Requires-Dist: deprecated
|
|
39
39
|
Requires-Dist: websocket-client
|
|
40
40
|
Requires-Dist: pure-python-adb
|
|
41
|
+
Dynamic: author
|
|
42
|
+
Dynamic: author-email
|
|
43
|
+
Dynamic: classifier
|
|
44
|
+
Dynamic: description
|
|
45
|
+
Dynamic: description-content-type
|
|
46
|
+
Dynamic: home-page
|
|
47
|
+
Dynamic: keywords
|
|
48
|
+
Dynamic: license
|
|
49
|
+
Dynamic: project-url
|
|
50
|
+
Dynamic: requires-dist
|
|
51
|
+
Dynamic: requires-python
|
|
52
|
+
Dynamic: summary
|
|
41
53
|
|
|
42
54
|
# AltTester® Python Bindings
|
|
43
55
|
|
|
@@ -64,6 +64,7 @@ alttester/commands/Notifications/notification_type.py
|
|
|
64
64
|
alttester/commands/ObjectCommands/__init__.py
|
|
65
65
|
alttester/commands/ObjectCommands/call_method.py
|
|
66
66
|
alttester/commands/ObjectCommands/click_element.py
|
|
67
|
+
alttester/commands/ObjectCommands/find_object_from_object.py
|
|
67
68
|
alttester/commands/ObjectCommands/get_all_components.py
|
|
68
69
|
alttester/commands/ObjectCommands/get_component_property.py
|
|
69
70
|
alttester/commands/ObjectCommands/get_text.py
|
|
@@ -81,6 +82,7 @@ alttester/commands/UnityCommands/get_all_loaded_scenes.py
|
|
|
81
82
|
alttester/commands/UnityCommands/get_current_scene.py
|
|
82
83
|
alttester/commands/UnityCommands/get_player_pref_key.py
|
|
83
84
|
alttester/commands/UnityCommands/get_time_scale.py
|
|
85
|
+
alttester/commands/UnityCommands/get_visual_element_property.py
|
|
84
86
|
alttester/commands/UnityCommands/load_scene.py
|
|
85
87
|
alttester/commands/UnityCommands/set_player_pref_key.py
|
|
86
88
|
alttester/commands/UnityCommands/set_time_scale.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: AltTester-Driver
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: Python bindings for the AltTester® framework. AltTester® is an open-source UI driven test automation tool that helps you find objects in your game and interacts with them.
|
|
5
5
|
Home-page: https://alttester.com/docs/sdk/latest/
|
|
6
6
|
Author: Altom Consulting
|
|
@@ -38,6 +38,18 @@ Requires-Dist: loguru
|
|
|
38
38
|
Requires-Dist: deprecated
|
|
39
39
|
Requires-Dist: websocket-client
|
|
40
40
|
Requires-Dist: pure-python-adb
|
|
41
|
+
Dynamic: author
|
|
42
|
+
Dynamic: author-email
|
|
43
|
+
Dynamic: classifier
|
|
44
|
+
Dynamic: description
|
|
45
|
+
Dynamic: description-content-type
|
|
46
|
+
Dynamic: home-page
|
|
47
|
+
Dynamic: keywords
|
|
48
|
+
Dynamic: license
|
|
49
|
+
Dynamic: project-url
|
|
50
|
+
Dynamic: requires-dist
|
|
51
|
+
Dynamic: requires-python
|
|
52
|
+
Dynamic: summary
|
|
41
53
|
|
|
42
54
|
# AltTester® Python Bindings
|
|
43
55
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright(C)
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
3
|
|
|
4
4
|
This program is free software: you can redistribute it and/or modify
|
|
5
5
|
it under the terms of the GNU General Public License as published by
|
|
@@ -15,4 +15,4 @@
|
|
|
15
15
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
|
-
VERSION = "2.
|
|
18
|
+
VERSION = "2.2.2"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright(C)
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
3
|
|
|
4
4
|
This program is free software: you can redistribute it and/or modify
|
|
5
5
|
it under the terms of the GNU General Public License as published by
|
|
@@ -133,18 +133,20 @@ class AltDriver:
|
|
|
133
133
|
|
|
134
134
|
def _check_server_version(self):
|
|
135
135
|
server_version = commands.GetServerVersion.run(self._connection)
|
|
136
|
-
logger.info(
|
|
137
|
-
|
|
136
|
+
logger.info("Connection established with instrumented Unity app. AltTester(R) Version: {}".format(
|
|
137
|
+
server_version))
|
|
138
138
|
|
|
139
139
|
major_server, minor_server = self._split_version(server_version)
|
|
140
|
-
major_driver, minor_driver = self._split_version(VERSION)
|
|
141
140
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
VERSION,
|
|
145
|
-
server_version
|
|
146
|
-
)
|
|
141
|
+
server_major = int(major_server)
|
|
142
|
+
server_minor = int(minor_server)
|
|
147
143
|
|
|
144
|
+
is_supported = (server_major == 2 and server_minor == 2) or (
|
|
145
|
+
server_major == 1 and server_minor == 0)
|
|
146
|
+
|
|
147
|
+
if not is_supported:
|
|
148
|
+
message = "Version mismatch. AltDriver version is {}. AltTester(R) version is {}.".format(
|
|
149
|
+
VERSION, server_version)
|
|
148
150
|
logger.warning(message)
|
|
149
151
|
|
|
150
152
|
def _get_alt_object(self, data):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright(C)
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
3
|
|
|
4
4
|
This program is free software: you can redistribute it and/or modify
|
|
5
5
|
it under the terms of the GNU General Public License as published by
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
20
|
import alttester.commands as commands
|
|
21
|
+
import alttester.exceptions as exceptions
|
|
21
22
|
from alttester.by import By
|
|
22
23
|
|
|
23
24
|
|
|
@@ -157,6 +158,19 @@ class AltObject:
|
|
|
157
158
|
|
|
158
159
|
return AltObject(self._altdriver, data)
|
|
159
160
|
|
|
161
|
+
def find_object_from_object(self, by, value, camera_by=By.NAME, camera_value="", enabled=True):
|
|
162
|
+
"""Returns the child of the object that meets the specified conditions."""
|
|
163
|
+
|
|
164
|
+
data = commands.FindObjectFromObject.run(self._connection,
|
|
165
|
+
by, value, camera_by, camera_value, enabled, self)
|
|
166
|
+
|
|
167
|
+
if data is None:
|
|
168
|
+
return None
|
|
169
|
+
|
|
170
|
+
alt_object = AltObject(self, data)
|
|
171
|
+
|
|
172
|
+
return alt_object
|
|
173
|
+
|
|
160
174
|
def get_all_components(self):
|
|
161
175
|
"""Returns all components."""
|
|
162
176
|
|
|
@@ -368,3 +382,20 @@ class AltObject:
|
|
|
368
382
|
self, count, interval, wait
|
|
369
383
|
)
|
|
370
384
|
return AltObject(self._altdriver, data)
|
|
385
|
+
|
|
386
|
+
def get_visual_element_property(self, property_name: str) -> str:
|
|
387
|
+
"""Gets a value for a given visual element property.
|
|
388
|
+
|
|
389
|
+
Args:
|
|
390
|
+
property_name: The name of the property of which value you want to get.
|
|
391
|
+
|
|
392
|
+
Returns:
|
|
393
|
+
The property value is serialized to a JSON string.
|
|
394
|
+
|
|
395
|
+
Raises:
|
|
396
|
+
WrongAltObjectTypeException: The method is called on an object that is not a VisualElement.
|
|
397
|
+
"""
|
|
398
|
+
if self.type != "UIToolkit":
|
|
399
|
+
raise exceptions.WrongAltObjectTypeException(
|
|
400
|
+
"This method is only available for VisualElement objects")
|
|
401
|
+
return commands.GetVisualElementProperty.run(self._connection, property_name, self,)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright(C)
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
3
|
|
|
4
4
|
This program is free software: you can redistribute it and/or modify
|
|
5
5
|
it under the terms of the GNU General Public License as published by
|
|
@@ -22,7 +22,7 @@ from alttester.exceptions import InvalidParameterTypeException
|
|
|
22
22
|
|
|
23
23
|
class AddNotificationListener(BaseCommand):
|
|
24
24
|
|
|
25
|
-
def __init__(self, connection, notification_type, notification_callback, overwrite):
|
|
25
|
+
def __init__(self, connection, notification_type, notification_callback, overwrite=False):
|
|
26
26
|
super().__init__(connection, "activateNotification")
|
|
27
27
|
|
|
28
28
|
if notification_type not in NotificationType:
|
|
@@ -33,7 +33,7 @@ class AddNotificationListener(BaseCommand):
|
|
|
33
33
|
)
|
|
34
34
|
self.notification_type = notification_type
|
|
35
35
|
|
|
36
|
-
if
|
|
36
|
+
if not callable(notification_callback):
|
|
37
37
|
raise InvalidParameterTypeException(
|
|
38
38
|
parameter_name='notification_callback',
|
|
39
39
|
expected_types=[callable],
|
|
@@ -41,7 +41,7 @@ class AddNotificationListener(BaseCommand):
|
|
|
41
41
|
)
|
|
42
42
|
self.notification_callback = notification_callback
|
|
43
43
|
|
|
44
|
-
if
|
|
44
|
+
if not isinstance(overwrite, bool):
|
|
45
45
|
raise InvalidParameterTypeException(
|
|
46
46
|
parameter_name='overwrite',
|
|
47
47
|
expected_types=[bool],
|
{alttester_driver-2.1.2 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/__init__.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright(C)
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
3
|
|
|
4
4
|
This program is free software: you can redistribute it and/or modify
|
|
5
5
|
it under the terms of the GNU General Public License as published by
|
|
@@ -27,3 +27,4 @@ from alttester.commands.ObjectCommands.pointer_up import *
|
|
|
27
27
|
from alttester.commands.ObjectCommands.set_component_property import *
|
|
28
28
|
from alttester.commands.ObjectCommands.tap_element import *
|
|
29
29
|
from alttester.commands.ObjectCommands.click_element import *
|
|
30
|
+
from alttester.commands.ObjectCommands.find_object_from_object import *
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
|
+
|
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
from alttester.commands.base_command import BaseCommand
|
|
19
|
+
from alttester.exceptions import InvalidParameterTypeException
|
|
20
|
+
from alttester.by import By
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FindObjectFromObject(BaseCommand):
|
|
24
|
+
|
|
25
|
+
def __init__(self, connection, by, value, camera_by, camera_value, enabled, alt_object):
|
|
26
|
+
super().__init__(connection, "findObject")
|
|
27
|
+
|
|
28
|
+
if by not in By:
|
|
29
|
+
raise InvalidParameterTypeException(
|
|
30
|
+
parameter_name="by",
|
|
31
|
+
expected_types=[By],
|
|
32
|
+
received_type=type(by)
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
if camera_by not in By:
|
|
36
|
+
raise InvalidParameterTypeException(
|
|
37
|
+
parameter_name="camera_by",
|
|
38
|
+
expected_types=[By],
|
|
39
|
+
received_type=type(camera_by)
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
self.by = by
|
|
43
|
+
self.value = value
|
|
44
|
+
self.camera_by = camera_by
|
|
45
|
+
self.camera_value = camera_value
|
|
46
|
+
self.enabled = enabled
|
|
47
|
+
self.alt_object = alt_object
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def _parameters(self):
|
|
51
|
+
parameters = super()._parameters
|
|
52
|
+
parameters.update(**{
|
|
53
|
+
"by": str(self.by),
|
|
54
|
+
"path": self.get_path_from_object(self.alt_object, self.by, self.value),
|
|
55
|
+
"cameraBy": str(self.camera_by),
|
|
56
|
+
"cameraPath": self.get_path(self.camera_by, self.camera_value),
|
|
57
|
+
"enabled": self.enabled,
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
return parameters
|
|
61
|
+
|
|
62
|
+
def execute(self):
|
|
63
|
+
return self.send()
|