AltTester-Driver 2.2.0__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.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/PKG-INFO +14 -2
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/SOURCES.txt +1 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/PKG-INFO +14 -2
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/__version__.py +2 -2
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/_websocket.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/altdriver.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/altobject.py +14 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/by.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/add_notification_listener.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/remove_notification_listener.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/reset_input.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/AltTesterCommands/set_server_logging.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_object.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_object_at_coordinates.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_object_which_contains.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_objects.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/find_objects_which_contains.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_component_property.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_object.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_object_to_not_be_present.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/FindObjects/wait_for_object_which_contains.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/begin_touch.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/click_coordinates.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/end_touch.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/keys_down.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/keys_up.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/move_mouse.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/move_touch.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/multi_point_swipe.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/press_keys.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/scroll_mouse.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/swipe.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/tap_coordinates.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/InputActions/tilt.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/Notifications/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/Notifications/base_notification_callbacks.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/Notifications/load_scene_mode.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/Notifications/load_scene_notification_result.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/Notifications/log_notification_result.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/Notifications/notification_type.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/__init__.py +2 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/call_method.py +1 -1
- {alttester_driver-2.2.0 → 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.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/get_all_components.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/get_component_property.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/get_text.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_down.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_enter.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_exit.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/pointer_up.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/set_component_property.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/set_text.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/ObjectCommands/tap_element.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/delete_player_pref.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/delete_player_pref_key.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_all_loaded_scenes.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_current_scene.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_player_pref_key.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_time_scale.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/get_visual_element_property.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/load_scene.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/set_player_pref_key.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/set_time_scale.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/unload_scene.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/UnityCommands/wait_for_current_scene_to_be.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/base_command.py +17 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/get_png_screenshot.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/get_server_version.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/get_static_property.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/commands/set_static_property.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/exceptions.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/keycode.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/logging.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/playerpref.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/alttester/reverse_port_forwarding.py +2 -2
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/setup.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/conftest.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_driver.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_notifications.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_reverse_port_forwarding.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene01_part1.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene01_part2.py +36 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene02.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene03.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene05.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene07.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene09.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/test_scene10.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/integration/utils.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/unit/__init__.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/unit/test_altobject.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/unit/test_commands.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/tests/unit/test_websocket.py +1 -1
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/dependency_links.txt +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/not-zip-safe +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/requires.txt +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/top_level.txt +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/MANIFEST.in +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/README.md +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/requirements-dev.txt +0 -0
- {alttester_driver-2.2.0 → alttester_driver-2.2.2}/requirements.txt +0 -0
- {alttester_driver-2.2.0 → 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.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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: AltTester-Driver
|
|
3
|
-
Version: 2.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.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
|
|
@@ -158,6 +158,19 @@ class AltObject:
|
|
|
158
158
|
|
|
159
159
|
return AltObject(self._altdriver, data)
|
|
160
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
|
+
|
|
161
174
|
def get_all_components(self):
|
|
162
175
|
"""Returns all components."""
|
|
163
176
|
|
{alttester_driver-2.2.0 → 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()
|
|
@@ -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
|
|
@@ -100,6 +100,22 @@ class Command(metaclass=abc.ABCMeta):
|
|
|
100
100
|
if by == By.PATH:
|
|
101
101
|
return value
|
|
102
102
|
|
|
103
|
+
def get_path_from_object(self, obj, by, value):
|
|
104
|
+
if by == By.TAG:
|
|
105
|
+
return "//*[@id={}]//*[@tag={}]".format(obj.id, value)
|
|
106
|
+
if by == By.LAYER:
|
|
107
|
+
return "//*[@id={}]//*[@layer={}]".format(obj.id, value)
|
|
108
|
+
if by == By.NAME:
|
|
109
|
+
return "//*[@id={}]//{}".format(obj.id, value)
|
|
110
|
+
if by == By.COMPONENT:
|
|
111
|
+
return "//*[@id={}]//*[@component={}]".format(obj.id, value)
|
|
112
|
+
if by == By.PATH:
|
|
113
|
+
return "//*[@id={}]{}".format(obj.id, value)
|
|
114
|
+
if by == By.ID:
|
|
115
|
+
return "//*[@id={}]//*[@id={}]".format(obj.id, value)
|
|
116
|
+
if by == By.TEXT:
|
|
117
|
+
return "//*[@id={}]//*[@text={}]".format(obj.id, value)
|
|
118
|
+
|
|
103
119
|
def get_path_contains(self, by, value):
|
|
104
120
|
if by == By.TAG:
|
|
105
121
|
return "//*[contains(@tag,{})]".format(value)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Copyright(C)
|
|
3
|
-
Copyright(C)
|
|
2
|
+
Copyright(C) 2025 Altom Consulting
|
|
3
|
+
Copyright(C) 2025 Altom Consulting
|
|
4
4
|
|
|
5
5
|
This program is free software: you can redistribute it and/or modify
|
|
6
6
|
it under the terms of the GNU General Public License as published by
|
|
@@ -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
|
|
@@ -474,3 +474,38 @@ class TestScene01Part2:
|
|
|
474
474
|
countKeyDown = self.alt_driver.find_object(By.NAME, "AltTesterPrefab").get_component_property(
|
|
475
475
|
"Input", "_keyCodesPressed.Count", "AltTester.AltTesterUnitySDK.InputModule")
|
|
476
476
|
assert 0 == countKeyDown
|
|
477
|
+
|
|
478
|
+
def test_find_object_in_object_by_tag(self):
|
|
479
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
480
|
+
child = parent.find_object_from_object(By.TAG, "Finish")
|
|
481
|
+
assert child.name == "Button"
|
|
482
|
+
|
|
483
|
+
def test_find_object_in_object_by_layer(self):
|
|
484
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
485
|
+
child = parent.find_object_from_object(By.LAYER, "ButtonLayer")
|
|
486
|
+
assert child.name == "Button"
|
|
487
|
+
|
|
488
|
+
def test_find_object_in_object_by_name(self):
|
|
489
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
490
|
+
child = parent.find_object_from_object(By.NAME, "Button")
|
|
491
|
+
assert child.name == "Button"
|
|
492
|
+
|
|
493
|
+
def test_find_object_in_object_by_component(self):
|
|
494
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
495
|
+
child = parent.find_object_from_object(By.COMPONENT, "Button")
|
|
496
|
+
assert child.name == "UIButton"
|
|
497
|
+
|
|
498
|
+
def test_find_object_in_object_by_path(self):
|
|
499
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
500
|
+
child = parent.find_object_from_object(By.PATH, "/Button")
|
|
501
|
+
assert child.name == "Button"
|
|
502
|
+
|
|
503
|
+
def test_find_object_in_object_by_id(self):
|
|
504
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
505
|
+
child = parent.find_object_from_object(By.ID, "049eccc5-b072-468b-83bf-119d868ca311")
|
|
506
|
+
assert child.name == "Button"
|
|
507
|
+
|
|
508
|
+
def test_find_object_in_object_by_text(self):
|
|
509
|
+
parent = self.alt_driver.find_object(By.NAME, "Canvas")
|
|
510
|
+
child = parent.find_object_from_object(By.TEXT, "Change Camera Mode")
|
|
511
|
+
assert child.name == "Text"
|
{alttester_driver-2.2.0 → alttester_driver-2.2.2}/AltTester_Driver.egg-info/dependency_links.txt
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
|