AltTester-Driver 2.3.1__tar.gz → 2.3.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.
Files changed (149) hide show
  1. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/AltTester_Driver.egg-info/PKG-INFO +7 -24
  2. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/AltTester_Driver.egg-info/SOURCES.txt +3 -2
  3. alttester_driver-2.3.2/LICENSE +63 -0
  4. alttester_driver-2.3.2/MANIFEST.in +2 -0
  5. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/PKG-INFO +7 -24
  6. alttester_driver-2.3.2/README.md +33 -0
  7. alttester_driver-2.3.2/alttester/__init__.py +12 -0
  8. alttester_driver-2.3.2/alttester/__version__.py +5 -0
  9. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/_websocket.py +12 -29
  10. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/altdriver.py +0 -13
  11. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/altobject.py +6 -19
  12. alttester_driver-2.3.2/alttester/by.py +23 -0
  13. alttester_driver-2.3.2/alttester/commands/AltTesterCommands/__init__.py +8 -0
  14. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/AltTesterCommands/add_notification_listener.py +0 -13
  15. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/AltTesterCommands/remove_notification_listener.py +0 -13
  16. alttester_driver-2.3.2/alttester/commands/AltTesterCommands/reset_input.py +17 -0
  17. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/AltTesterCommands/set_server_logging.py +0 -13
  18. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/__init__.py +0 -13
  19. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/find_object.py +0 -13
  20. alttester_driver-2.3.2/alttester/commands/FindObjects/find_object_at_coordinates.py +25 -0
  21. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/find_object_which_contains.py +0 -13
  22. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/find_objects.py +0 -13
  23. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/find_objects_which_contains.py +0 -13
  24. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/wait_for_component_property.py +0 -13
  25. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/wait_for_object.py +0 -13
  26. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/wait_for_object_to_not_be_present.py +0 -13
  27. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/wait_for_object_which_contains.py +0 -13
  28. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/FindObjects/wait_for_visual_element_property.py +0 -13
  29. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/__init__.py +0 -13
  30. alttester_driver-2.3.2/alttester/commands/InputActions/begin_touch.py +25 -0
  31. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/click_coordinates.py +0 -13
  32. alttester_driver-2.3.2/alttester/commands/InputActions/end_touch.py +26 -0
  33. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/keys_down.py +0 -13
  34. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/keys_up.py +0 -13
  35. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/move_mouse.py +0 -13
  36. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/move_touch.py +0 -13
  37. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/multi_point_swipe.py +0 -13
  38. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/press_keys.py +0 -13
  39. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/scroll_mouse.py +0 -13
  40. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/swipe.py +0 -13
  41. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/tap_coordinates.py +0 -13
  42. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/InputActions/tilt.py +0 -13
  43. alttester_driver-2.3.2/alttester/commands/Notifications/__init__.py +9 -0
  44. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/Notifications/base_notification_callbacks.py +0 -13
  45. alttester_driver-2.3.2/alttester/commands/Notifications/load_scene_mode.py +15 -0
  46. alttester_driver-2.3.2/alttester/commands/Notifications/load_scene_notification_result.py +9 -0
  47. alttester_driver-2.3.2/alttester/commands/Notifications/log_notification_result.py +11 -0
  48. alttester_driver-2.3.2/alttester/commands/Notifications/notification_type.py +12 -0
  49. alttester_driver-2.3.2/alttester/commands/ObjectCommands/__init__.py +17 -0
  50. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/ObjectCommands/call_method.py +0 -13
  51. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/ObjectCommands/click_element.py +0 -13
  52. alttester_driver-2.3.2/alttester/commands/ObjectCommands/fetch_text.py +25 -0
  53. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/ObjectCommands/find_object_from_object.py +0 -13
  54. alttester_driver-2.3.2/alttester/commands/ObjectCommands/get_all_components.py +25 -0
  55. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/ObjectCommands/get_component_property.py +0 -13
  56. alttester_driver-2.3.2/alttester/commands/ObjectCommands/pointer_down.py +24 -0
  57. alttester_driver-2.3.2/alttester/commands/ObjectCommands/pointer_enter.py +25 -0
  58. alttester_driver-2.3.2/alttester/commands/ObjectCommands/pointer_exit.py +25 -0
  59. alttester_driver-2.3.2/alttester/commands/ObjectCommands/pointer_up.py +25 -0
  60. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/ObjectCommands/set_component_property.py +0 -13
  61. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/ObjectCommands/tap_element.py +0 -13
  62. alttester_driver-2.3.2/alttester/commands/ObjectCommands/update_text.py +29 -0
  63. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/__init__.py +0 -13
  64. alttester_driver-2.3.2/alttester/commands/UnityCommands/delete_player_pref.py +14 -0
  65. alttester_driver-2.3.2/alttester/commands/UnityCommands/delete_player_pref_key.py +25 -0
  66. alttester_driver-2.3.2/alttester/commands/UnityCommands/get_all_loaded_scenes.py +14 -0
  67. alttester_driver-2.3.2/alttester/commands/UnityCommands/get_current_scene.py +15 -0
  68. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/get_player_pref_key.py +0 -13
  69. alttester_driver-2.3.2/alttester/commands/UnityCommands/get_time_scale.py +17 -0
  70. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/get_visual_element_property.py +0 -13
  71. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/load_scene.py +0 -13
  72. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/set_player_pref_key.py +0 -13
  73. alttester_driver-2.3.2/alttester/commands/UnityCommands/set_time_scale.py +31 -0
  74. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/unload_scene.py +0 -13
  75. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/UnityCommands/wait_for_current_scene_to_be.py +0 -13
  76. alttester_driver-2.3.2/alttester/commands/__init__.py +14 -0
  77. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/base_command.py +0 -13
  78. alttester_driver-2.3.2/alttester/commands/get_png_screenshot.py +24 -0
  79. alttester_driver-2.3.2/alttester/commands/get_server_version.py +14 -0
  80. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/get_static_property.py +0 -13
  81. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/commands/set_static_property.py +0 -13
  82. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/exceptions.py +0 -13
  83. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/keycode.py +0 -13
  84. alttester_driver-2.3.2/alttester/logging.py +29 -0
  85. alttester_driver-2.3.2/alttester/playerpref.py +19 -0
  86. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/alttester/reverse_port_forwarding.py +1 -15
  87. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/setup.py +3 -16
  88. alttester_driver-2.3.2/tests/integration/__init__.py +3 -0
  89. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/conftest.py +141 -36
  90. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_driver.py +0 -17
  91. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_notifications.py +0 -13
  92. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_reverse_port_forwarding.py +0 -13
  93. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene01_part1.py +2 -14
  94. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene01_part2.py +2 -14
  95. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene02.py +2 -14
  96. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene03.py +2 -14
  97. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene05.py +2 -14
  98. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene07.py +2 -14
  99. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene09.py +2 -14
  100. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/integration/test_scene10.py +2 -14
  101. alttester_driver-2.3.2/tests/integration/utils.py +16 -0
  102. alttester_driver-2.3.2/tests/unit/__init__.py +3 -0
  103. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/unit/test_altobject.py +0 -13
  104. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/unit/test_commands.py +0 -13
  105. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/tests/unit/test_websocket.py +0 -13
  106. alttester_driver-2.3.1/MANIFEST.in +0 -1
  107. alttester_driver-2.3.1/README.md +0 -52
  108. alttester_driver-2.3.1/alttester/__init__.py +0 -25
  109. alttester_driver-2.3.1/alttester/__version__.py +0 -18
  110. alttester_driver-2.3.1/alttester/by.py +0 -36
  111. alttester_driver-2.3.1/alttester/commands/AltTesterCommands/__init__.py +0 -21
  112. alttester_driver-2.3.1/alttester/commands/AltTesterCommands/reset_input.py +0 -30
  113. alttester_driver-2.3.1/alttester/commands/FindObjects/find_object_at_coordinates.py +0 -38
  114. alttester_driver-2.3.1/alttester/commands/InputActions/begin_touch.py +0 -38
  115. alttester_driver-2.3.1/alttester/commands/InputActions/end_touch.py +0 -39
  116. alttester_driver-2.3.1/alttester/commands/Notifications/__init__.py +0 -22
  117. alttester_driver-2.3.1/alttester/commands/Notifications/load_scene_mode.py +0 -28
  118. alttester_driver-2.3.1/alttester/commands/Notifications/load_scene_notification_result.py +0 -22
  119. alttester_driver-2.3.1/alttester/commands/Notifications/log_notification_result.py +0 -24
  120. alttester_driver-2.3.1/alttester/commands/Notifications/notification_type.py +0 -25
  121. alttester_driver-2.3.1/alttester/commands/ObjectCommands/__init__.py +0 -30
  122. alttester_driver-2.3.1/alttester/commands/ObjectCommands/get_all_components.py +0 -38
  123. alttester_driver-2.3.1/alttester/commands/ObjectCommands/get_text.py +0 -38
  124. alttester_driver-2.3.1/alttester/commands/ObjectCommands/pointer_down.py +0 -37
  125. alttester_driver-2.3.1/alttester/commands/ObjectCommands/pointer_enter.py +0 -38
  126. alttester_driver-2.3.1/alttester/commands/ObjectCommands/pointer_exit.py +0 -38
  127. alttester_driver-2.3.1/alttester/commands/ObjectCommands/pointer_up.py +0 -38
  128. alttester_driver-2.3.1/alttester/commands/ObjectCommands/set_text.py +0 -42
  129. alttester_driver-2.3.1/alttester/commands/UnityCommands/delete_player_pref.py +0 -27
  130. alttester_driver-2.3.1/alttester/commands/UnityCommands/delete_player_pref_key.py +0 -38
  131. alttester_driver-2.3.1/alttester/commands/UnityCommands/get_all_loaded_scenes.py +0 -27
  132. alttester_driver-2.3.1/alttester/commands/UnityCommands/get_current_scene.py +0 -28
  133. alttester_driver-2.3.1/alttester/commands/UnityCommands/get_time_scale.py +0 -33
  134. alttester_driver-2.3.1/alttester/commands/UnityCommands/set_time_scale.py +0 -47
  135. alttester_driver-2.3.1/alttester/commands/__init__.py +0 -27
  136. alttester_driver-2.3.1/alttester/commands/get_png_screenshot.py +0 -37
  137. alttester_driver-2.3.1/alttester/commands/get_server_version.py +0 -27
  138. alttester_driver-2.3.1/alttester/logging.py +0 -42
  139. alttester_driver-2.3.1/alttester/playerpref.py +0 -32
  140. alttester_driver-2.3.1/tests/integration/__init__.py +0 -16
  141. alttester_driver-2.3.1/tests/integration/utils.py +0 -29
  142. alttester_driver-2.3.1/tests/unit/__init__.py +0 -16
  143. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/AltTester_Driver.egg-info/dependency_links.txt +0 -0
  144. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/AltTester_Driver.egg-info/not-zip-safe +0 -0
  145. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/AltTester_Driver.egg-info/requires.txt +0 -0
  146. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/AltTester_Driver.egg-info/top_level.txt +0 -0
  147. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/requirements-dev.txt +0 -0
  148. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/requirements.txt +0 -0
  149. {alttester_driver-2.3.1 → alttester_driver-2.3.2}/setup.cfg +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AltTester-Driver
3
- Version: 2.3.1
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.
3
+ Version: 2.3.2
4
+ Summary: Python bindings for the AltTester® framework. AltTester® is an 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
7
7
  Author-email: contact@alttester.com
8
- License: GNU GPLv3
8
+ License: Proprietary
9
9
  Project-URL: Bug Tracker, https://github.com/alttester/AltTester-Unity-SDK/issues
10
10
  Project-URL: Documentation, https://alttester.com/docs/sdk/latest
11
11
  Project-URL: Source, https://github.com/alttester/AltTester-Unity-SDK
@@ -13,7 +13,7 @@ Keywords: unity testing tests
13
13
  Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Intended Audience :: Other Audience
16
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
16
+ Classifier: License :: Other/Proprietary License
17
17
  Classifier: Programming Language :: C#
18
18
  Classifier: Programming Language :: Java
19
19
  Classifier: Programming Language :: Cython
@@ -34,6 +34,7 @@ Classifier: Topic :: Software Development :: Testing :: Acceptance
34
34
  Classifier: Topic :: Software Development :: Testing :: Unit
35
35
  Requires-Python: >=3.4.0
36
36
  Description-Content-Type: text/markdown
37
+ License-File: LICENSE
37
38
  Requires-Dist: loguru
38
39
  Requires-Dist: deprecated
39
40
  Requires-Dist: websocket-client
@@ -46,6 +47,7 @@ Dynamic: description-content-type
46
47
  Dynamic: home-page
47
48
  Dynamic: keywords
48
49
  Dynamic: license
50
+ Dynamic: license-file
49
51
  Dynamic: project-url
50
52
  Dynamic: requires-dist
51
53
  Dynamic: requires-python
@@ -55,7 +57,7 @@ Dynamic: summary
55
57
 
56
58
  This package contains an library for adding Python language binding to the AltTester® framework.
57
59
 
58
- AltTester® Unity SDK is an open-source UI driven test automation tool that helps you find objects in your application and interacts with them using tests written in C#, Python, Java or Robot Framework.
60
+ AltTester® Unity SDK is an UI driven test automation tool that helps you find objects in your application and interacts with them using tests written in C#, Python, Java or Robot Framework.
59
61
 
60
62
  You can run your tests on real devices (mobile, PCs, etc.) or inside the Unity Editor.
61
63
 
@@ -65,11 +67,6 @@ Read the documentation on https://alttester.com/docs/sdk/latest/
65
67
 
66
68
  Check out the [Get Started](https://alttester.com/docs/sdk/latest/pages/get-started.html) guide from the documentation.
67
69
 
68
- ## Development
69
-
70
- - Code Style: [PEP-0008](https://www.python.org/dev/peps/pep-0008/)
71
- - Docstring style: [Google Style Docstrings](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html).
72
-
73
70
  ### Running Tests
74
71
 
75
72
  Run the following command to install the dev dependencies:
@@ -89,17 +86,3 @@ $ pytest tests/unit/
89
86
  ```
90
87
  $ pytest tests/integration/
91
88
  ```
92
-
93
- ## Contributing
94
-
95
- Check out the full contributing guide [contributing](https://alttester.com/docs/sdk/latest/pages/contributing.html).
96
-
97
- ## Support
98
-
99
- Join our Google Group for questions and discussions: https://groups.google.com/a/altom.com/g/alttesterforum
100
-
101
- Join our Discord Server to chat with other members of the community: https://discord.gg/Ag9RSuS
102
-
103
- ## License
104
-
105
- Distributed under the **GNU General Public License v3.0**. See [LICENSE](https://github.com/alttester/AltTester-Unity-SDK/blob/master/LICENSE) for more information.
@@ -1,3 +1,4 @@
1
+ LICENSE
1
2
  MANIFEST.in
2
3
  README.md
3
4
  requirements-dev.txt
@@ -65,17 +66,17 @@ alttester/commands/Notifications/notification_type.py
65
66
  alttester/commands/ObjectCommands/__init__.py
66
67
  alttester/commands/ObjectCommands/call_method.py
67
68
  alttester/commands/ObjectCommands/click_element.py
69
+ alttester/commands/ObjectCommands/fetch_text.py
68
70
  alttester/commands/ObjectCommands/find_object_from_object.py
69
71
  alttester/commands/ObjectCommands/get_all_components.py
70
72
  alttester/commands/ObjectCommands/get_component_property.py
71
- alttester/commands/ObjectCommands/get_text.py
72
73
  alttester/commands/ObjectCommands/pointer_down.py
73
74
  alttester/commands/ObjectCommands/pointer_enter.py
74
75
  alttester/commands/ObjectCommands/pointer_exit.py
75
76
  alttester/commands/ObjectCommands/pointer_up.py
76
77
  alttester/commands/ObjectCommands/set_component_property.py
77
- alttester/commands/ObjectCommands/set_text.py
78
78
  alttester/commands/ObjectCommands/tap_element.py
79
+ alttester/commands/ObjectCommands/update_text.py
79
80
  alttester/commands/UnityCommands/__init__.py
80
81
  alttester/commands/UnityCommands/delete_player_pref.py
81
82
  alttester/commands/UnityCommands/delete_player_pref_key.py
@@ -0,0 +1,63 @@
1
+ AltTester® SDK License Agreement
2
+ Software Product: AltTester® SDK Bindings (Non-GPL Version)
3
+ 2026
4
+ This is a legal agreement between you, the end user (either individual or legal entity such as
5
+ corporation and hereinafter referred to as "Licensee") and Altom Consulting SRL ("Licensor").
6
+ Loading a copy of the Software Product means you accept these terms and conditions. If you do not agree with them, you may not load the program and you may not use the Software Product.
7
+ 1. Grant of License
8
+ Licensor grants to you a personal, non-exclusive, non-transferable, limited term license (the
9
+ "License") to use the Software Product and the accompanying documentation, if any, in accord with the terms set forth in this agreement.
10
+ 2. Copyright
11
+ The Software Product is owned exclusively by Licensor and is proprietary in nature. The Software Product is protected by national and international copyright and trademark laws and international treaty provisions.
12
+ 3. Restrictions
13
+ 3.1 You may:
14
+ (a) use the Software Product for your own software testing and quality assurance purposes, including: (i) internal use within your business group and with your sub-contractors who are bound by terms no less restrictive than those set forth in this agreement; or (ii) use in the provision of software testing or quality assurance services to your clients, provided that such use remains subject to all terms of this agreement and does not grant your clients any independent rights to the Software Product;
15
+ (b) deliver a copy of the Software Product to a single client as part of a proof-of-concept or reference implementation, provided that (i) Licensee ensures that the client holds, or will obtain, a valid AltTester® software subscription covering their use of the Software Product; (ii) the Software Product is delivered unmodified; and (iii) the delivery is not made through any public channel described in §3.2(c).
16
+ (c) integrate the Software Product into your own internal software tools or test automation pipelines. Any distribution, bundling, or making available of such integration to third parties outside the scope of Section 3.1(a) or Section 3.1(b) requires the prior written consent of Licensor.
17
+ 3.2 You may not:
18
+ (a) use the Software Product without a valid AltTester® software subscription — Community,
19
+ Pro or Enterprise — obtained from Licensor;
20
+ (b) sublicense, rent, lease, give or transfer any rights in the Software Product or
21
+ accompanying documentation in any form to any person or entity without the prior written
22
+ consent of Licensor;
23
+ (c) redistribute, republish, upload, or otherwise make the Software Product or any part of it
24
+ available to third parties through any channel, including but not limited to public or private
25
+ package registries (such as PyPI, NuGet, or Maven), version control repositories, file sharing
26
+ platforms, or any other distribution mechanism, without the prior written consent of Licensor —
27
+ except as expressly permitted under Section 3.1(b) for proof-of-concept deliveries.
28
+ (d) create, distribute, or publish modified versions of the Software Product or any derivative
29
+ works based on it, without the prior written consent of Licensor;
30
+ (e) reverse engineer, decompile, disassemble, or otherwise attempt to derive the source code
31
+ of the Software Product, except to the extent that such activity is expressly permitted by
32
+ applicable law notwithstanding this limitation;
33
+ (f) remove any proprietary notices, labels, or marks on the Software Product or
34
+ documentation.
35
+ 3.3 All rights, title, interest, and all copyrights to the Software Product, documentation, and
36
+ any copy made by you remain with Licensor. Unauthorized copying of the Software or the
37
+ documentation, or failure to comply with the above restrictions, will result in automatic
38
+ termination of this License and will make available to Licensor any and all other legal remedies,
39
+ whether in law or in equity.
40
+ 4. Term of License
41
+ This License will be effective from the date you obtain a valid AltTester® software subscription
42
+ (Community, Pro, or Enterprise) from Licensor and shall remain in force until (a) the expiration
43
+ or termination of your AltTester® software subscription; or (b) Licensor otherwise terminates this
44
+ agreement, whichever is earlier. Upon termination you agree to destroy all copies of the
45
+ Software Product and its documentation including any Software Products stored on the hard
46
+ disk of any computer or any cloud service under your control.
47
+ 5. Limitation of Liability
48
+ Licensor's sole, exclusive and maximum liability for any claim by you or anyone claiming
49
+ through or on behalf of you arising out of your order or the warranty for all damages, losses, and
50
+ causes of action (whether in contract, tort (including negligence) or otherwise), shall not in any
51
+ event exceed the greater of (a) the actual amount paid by you for the Software Product in the
52
+ twelve (12) months preceding the claim, or (b) EUR 100. You expressly acknowledge and agree
53
+ that use of the Software Product at your sole risk. Under no circumstances will Licensor, or its
54
+ developers, directors, officers, employees, agents or affiliates be liable to you for any
55
+ consequential, incidental, or indirect damages (including damages for loss of business profits, business interruption, loss of business information, and the like) arising out of the use of or inability to use the Software Product or accompanying written materials, even if Licensor or an authorized representative has been advised of the possibility of such damages.
56
+ 6. Disclaimer of Warranty on Software Product
57
+ The Software Product and related documentation are provided "as is" without warranty of any kind, and Licensor expressly disclaims all implied warranties, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Licensor does not warrant, guarantee, or make any representations regarding the use or the results of the use of the Software Product or any accompanying written materials in terms of their correctness, accuracy, reliability, currentness, or otherwise. The entire risk as to the results and performance of the Software Product and written materials is assumed by you. There is no guarantee that the functions contained in this Software Product will meet your requirements, or that the operation of the Software Product will be uninterrupted or error-free, or that defects in the Software Product will be corrected. Licensor does not warrant that the Software Product will work correctly in your multi-user or network environment. Should the Software Product prove defective, you, and not Licensor or its dealers, distributors, agents, or employees, assume the entire cost of all necessary servicing, repair or correction. The limited warranty set forth herein may not be extended, enlarged or otherwise modified by any distributor, agent or employee of Licensor.
58
+ 7. Applicable Law
59
+ This License shall be governed by and construed in accordance with the laws of Romania. If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License shall be enforced to the maximum extent permissible so as to affect the intent of the parties, and the remainder of this License shall continue in full force and effect.
60
+ 8. Complete Agreement
61
+ This License constitutes the entire agreement between the parties with respect to the use of the Software Product and related documentation, and supersedes all prior or contemporaneous understandings or agreements, written or oral, regarding such subject matter, except that this License shall be read in conjunction with ALTOM's Terms and Conditions as referenced in Section 9 herein. No amendment to or modification of this License will be binding unless in writing and signed by a duly authorized representative of Licensor.
62
+ 9. Compliance with Terms and Conditions
63
+ This License is granted subject to the Licensee's compliance with ALTOM's Terms and Conditions available at https://alttester.com/terms-and-conditions/, including but not limited to the Service Tier Eligibility Terms set forth therein. In the event of any conflict between this License and the Terms and Conditions, this License shall prevail with respect to the use of the Software Product.
@@ -0,0 +1,2 @@
1
+ include README.md requirements.txt requirements-dev.txt LICENSE
2
+
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AltTester-Driver
3
- Version: 2.3.1
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.
3
+ Version: 2.3.2
4
+ Summary: Python bindings for the AltTester® framework. AltTester® is an 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
7
7
  Author-email: contact@alttester.com
8
- License: GNU GPLv3
8
+ License: Proprietary
9
9
  Project-URL: Bug Tracker, https://github.com/alttester/AltTester-Unity-SDK/issues
10
10
  Project-URL: Documentation, https://alttester.com/docs/sdk/latest
11
11
  Project-URL: Source, https://github.com/alttester/AltTester-Unity-SDK
@@ -13,7 +13,7 @@ Keywords: unity testing tests
13
13
  Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Intended Audience :: Other Audience
16
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
16
+ Classifier: License :: Other/Proprietary License
17
17
  Classifier: Programming Language :: C#
18
18
  Classifier: Programming Language :: Java
19
19
  Classifier: Programming Language :: Cython
@@ -34,6 +34,7 @@ Classifier: Topic :: Software Development :: Testing :: Acceptance
34
34
  Classifier: Topic :: Software Development :: Testing :: Unit
35
35
  Requires-Python: >=3.4.0
36
36
  Description-Content-Type: text/markdown
37
+ License-File: LICENSE
37
38
  Requires-Dist: loguru
38
39
  Requires-Dist: deprecated
39
40
  Requires-Dist: websocket-client
@@ -46,6 +47,7 @@ Dynamic: description-content-type
46
47
  Dynamic: home-page
47
48
  Dynamic: keywords
48
49
  Dynamic: license
50
+ Dynamic: license-file
49
51
  Dynamic: project-url
50
52
  Dynamic: requires-dist
51
53
  Dynamic: requires-python
@@ -55,7 +57,7 @@ Dynamic: summary
55
57
 
56
58
  This package contains an library for adding Python language binding to the AltTester® framework.
57
59
 
58
- AltTester® Unity SDK is an open-source UI driven test automation tool that helps you find objects in your application and interacts with them using tests written in C#, Python, Java or Robot Framework.
60
+ AltTester® Unity SDK is an UI driven test automation tool that helps you find objects in your application and interacts with them using tests written in C#, Python, Java or Robot Framework.
59
61
 
60
62
  You can run your tests on real devices (mobile, PCs, etc.) or inside the Unity Editor.
61
63
 
@@ -65,11 +67,6 @@ Read the documentation on https://alttester.com/docs/sdk/latest/
65
67
 
66
68
  Check out the [Get Started](https://alttester.com/docs/sdk/latest/pages/get-started.html) guide from the documentation.
67
69
 
68
- ## Development
69
-
70
- - Code Style: [PEP-0008](https://www.python.org/dev/peps/pep-0008/)
71
- - Docstring style: [Google Style Docstrings](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html).
72
-
73
70
  ### Running Tests
74
71
 
75
72
  Run the following command to install the dev dependencies:
@@ -89,17 +86,3 @@ $ pytest tests/unit/
89
86
  ```
90
87
  $ pytest tests/integration/
91
88
  ```
92
-
93
- ## Contributing
94
-
95
- Check out the full contributing guide [contributing](https://alttester.com/docs/sdk/latest/pages/contributing.html).
96
-
97
- ## Support
98
-
99
- Join our Google Group for questions and discussions: https://groups.google.com/a/altom.com/g/alttesterforum
100
-
101
- Join our Discord Server to chat with other members of the community: https://discord.gg/Ag9RSuS
102
-
103
- ## License
104
-
105
- Distributed under the **GNU General Public License v3.0**. See [LICENSE](https://github.com/alttester/AltTester-Unity-SDK/blob/master/LICENSE) for more information.
@@ -0,0 +1,33 @@
1
+ # AltTester® Python Bindings
2
+
3
+ This package contains an library for adding Python language binding to the AltTester® framework.
4
+
5
+ AltTester® Unity SDK is an UI driven test automation tool that helps you find objects in your application and interacts with them using tests written in C#, Python, Java or Robot Framework.
6
+
7
+ You can run your tests on real devices (mobile, PCs, etc.) or inside the Unity Editor.
8
+
9
+ Read the documentation on https://alttester.com/docs/sdk/latest/
10
+
11
+ ## Get Started
12
+
13
+ Check out the [Get Started](https://alttester.com/docs/sdk/latest/pages/get-started.html) guide from the documentation.
14
+
15
+ ### Running Tests
16
+
17
+ Run the following command to install the dev dependencies:
18
+
19
+ ```
20
+ $ pip install -r requirements-dev.txt
21
+ ```
22
+
23
+ #### Unit Tests
24
+
25
+ ```
26
+ $ pytest tests/unit/
27
+ ```
28
+
29
+ #### Integration Tests
30
+
31
+ ```
32
+ $ pytest tests/integration/
33
+ ```
@@ -0,0 +1,12 @@
1
+ """
2
+ Copyright(C) 2026 Altom Consulting
3
+ """
4
+
5
+ from alttester.altdriver import AltDriver
6
+ from alttester.altobject import AltObject
7
+ from alttester.by import By
8
+ from alttester.playerpref import PlayerPrefKeyType
9
+ from alttester.keycode import AltKeyCode
10
+ from alttester.logging import AltLogLevel, AltLogger
11
+ from alttester.exceptions import *
12
+ from alttester.reverse_port_forwarding import *
@@ -0,0 +1,5 @@
1
+ """
2
+ Copyright(C) 2026 Altom Consulting
3
+ """
4
+
5
+ VERSION = "2.3.2"
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  import time
@@ -216,23 +203,19 @@ class WebsocketConnection:
216
203
 
217
204
  def _check_close_message(self, close_message):
218
205
  if close_message:
219
- reason = close_message[1]
220
-
221
- if close_message[0] == 4001:
222
- raise exceptions.NoAppConnected(reason)
223
- if close_message[0] == 4002:
224
- raise exceptions.AppDisconnectedError(reason)
225
- if close_message[0] == 4005:
226
- raise exceptions.MultipleDriverError(reason)
227
- if close_message[0] == 4007:
228
- raise exceptions.MultipleDriversTryingToConnectException(
229
- reason)
230
- if close_message[0] == 4009:
231
- raise exceptions.MaxNoOfConnectionsDriversExceededException(
232
- reason)
233
-
206
+ code, reason = close_message[0], close_message[1]
207
+ error_map = {
208
+ 4001: exceptions.NoAppConnected,
209
+ 4002: exceptions.AppDisconnectedError,
210
+ 4005: exceptions.MultipleDriverError,
211
+ 4007: exceptions.MultipleDriversTryingToConnectException,
212
+ 4009: exceptions.MaxNoOfConnectionsDriversExceededException
213
+ }
214
+ exc = error_map.get(code)
215
+ if exc:
216
+ raise exc(reason)
234
217
  raise exceptions.ConnectionError(
235
- "Connection closed by AltTester(R) Server with reason: {}.".format(reason))
218
+ f"Connection closed by AltTester(R) Server with reason: {reason}.")
236
219
 
237
220
  def _check_errors(self):
238
221
  if self._errors:
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  import warnings
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  import json
@@ -130,8 +117,8 @@ class AltObject:
130
117
  tuple: A tuple containing ``x`` and ``y``.
131
118
 
132
119
  """
133
-
134
- return self.x, self.y
120
+ position = (self.x, self.y)
121
+ return position
135
122
 
136
123
  def get_world_position(self):
137
124
  """Returns the world position.
@@ -140,8 +127,8 @@ class AltObject:
140
127
  tuple: A tuple containing ``worldX``, ``worldY`` and ``worldZ``.
141
128
 
142
129
  """
143
-
144
- return self.worldX, self.worldY, self.worldZ
130
+ position = (self.worldX, self.worldY, self.worldZ)
131
+ return position
145
132
 
146
133
  def get_parent(self):
147
134
  """Returns the parent object.
@@ -286,7 +273,7 @@ class AltObject:
286
273
 
287
274
  """
288
275
 
289
- return commands.GetText.run(self._connection, self)
276
+ return commands.FetchText.run(self._connection, self)
290
277
 
291
278
  def set_text(self, text, submit=False):
292
279
  """Sets text value for a Button, Text or InputField. This also works with TextMeshPro elements.
@@ -300,7 +287,7 @@ class AltObject:
300
287
 
301
288
  """
302
289
 
303
- data = commands.SetText.run(self._connection, text, self, submit)
290
+ data = commands.UpdateText.run(self._connection, text, self, submit)
304
291
  return AltObject(self._altdriver, data)
305
292
 
306
293
  def pointer_up(self):
@@ -0,0 +1,23 @@
1
+ """
2
+ Copyright(C) 2026 Altom Consulting
3
+ """
4
+
5
+ from enum import Enum, unique
6
+
7
+ """The By implementation."""
8
+
9
+
10
+ @unique
11
+ class By(Enum):
12
+ """Set of supported locator strategies."""
13
+
14
+ NAME = 1
15
+ TAG = 2
16
+ LAYER = 3
17
+ COMPONENT = 4
18
+ ID = 5
19
+ PATH = 6
20
+ TEXT = 7
21
+
22
+ def __str__(self):
23
+ return self.name
@@ -0,0 +1,8 @@
1
+ """
2
+ Copyright(C) 2026 Altom Consulting
3
+ """
4
+
5
+ from alttester.commands.AltTesterCommands.set_server_logging import *
6
+ from alttester.commands.AltTesterCommands.add_notification_listener import *
7
+ from alttester.commands.AltTesterCommands.remove_notification_listener import *
8
+ from alttester.commands.AltTesterCommands.reset_input import *
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  from alttester.commands.Notifications.notification_type import NotificationType
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  from alttester.commands.Notifications.notification_type import NotificationType
@@ -0,0 +1,17 @@
1
+ """
2
+ Copyright(C) 2026 Altom Consulting
3
+ """
4
+
5
+ from alttester.commands.base_command import BaseCommand
6
+
7
+
8
+ class ResetInput(BaseCommand):
9
+
10
+ def __init__(self, connection):
11
+ super().__init__(connection, "resetInput")
12
+
13
+ def execute(self):
14
+ data = self.send()
15
+ self.validate_response("Ok", data)
16
+
17
+ return data
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  from alttester.commands.base_command import BaseCommand
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  from alttester.commands.FindObjects.find_object_which_contains import *
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  from alttester.commands.base_command import BaseCommand
@@ -0,0 +1,25 @@
1
+ """
2
+ Copyright(C) 2026 Altom Consulting
3
+ """
4
+
5
+ from alttester.commands.base_command import validate_coordinates, BaseCommand
6
+
7
+
8
+ class FindObjectAtCoordinates(BaseCommand):
9
+
10
+ def __init__(self, connection, coordinates):
11
+ super().__init__(connection, "findObjectAtCoordinates")
12
+
13
+ self.coordinates = validate_coordinates(coordinates)
14
+
15
+ @property
16
+ def _parameters(self):
17
+ parameters = super()._parameters
18
+ parameters.update(**{
19
+ "coordinates": self.coordinates,
20
+ })
21
+
22
+ return parameters
23
+
24
+ def execute(self):
25
+ return self.send()
@@ -1,18 +1,5 @@
1
1
  """
2
2
  Copyright(C) 2026 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
3
  """
17
4
 
18
5
  from alttester.commands.base_command import BaseCommand