README.txt 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. Copyright (c) Contributors to the Open 3D Engine Project.
  2. For complete copyright and license terms please see the LICENSE at the root of this distribution.
  3. SPDX-License-Identifier: Apache-2.0 OR MIT
  4. INTRODUCTION
  5. ------------
  6. LyTestTools is a Python project that contains a collection of testing tools
  7. developed by the Lumberyard Test Tech team. The project contains
  8. the following tools:
  9. * Workspace Manager:
  10. A library to manipulate Lumberyard installations
  11. * Launchers:
  12. A library to test the game in a variety of platforms
  13. * O3DE:
  14. Contains various modules to test o3de specific executables
  15. * Environment:
  16. Contains various modules to assist with environmental dependencies
  17. REQUIREMENTS
  18. ------------
  19. * Python 3.10.13 (64-bit)
  20. It is recommended that you completely remove any other versions of Python
  21. installed on your system.
  22. INSTALL
  23. -----------
  24. It is recommended to set up these these tools with Lumberyard's CMake build commands.
  25. Assuming CMake is already setup on your operating system, below are some sample build commands:
  26. cd /path/to/lumberyard/dev/
  27. mkdir windows
  28. cd windows
  29. cmake -E time cmake --build . --target ALL_BUILD --config profile
  30. To manually install the project in development mode using your own installed Python interpreter:
  31. cd /path/to/lumberyard/dev/Tools/LyTestTools/
  32. /path/to/your/python -m pip install -e .
  33. For console/mobile testing, update the following .ini file in your root user directory:
  34. i.e. C:/Users/myusername/ly_test_tools/devices.ini (a.k.a. %USERPROFILE%/ly_test_tools/devices.ini)
  35. You will need to add a section for the device, and a key holding the device identifier value (usually an IP or ID).
  36. It should look similar to this for each device:
  37. [android]
  38. id = 988939353955305449
  39. [gameconsole]
  40. ip = 192.168.1.1
  41. [gameconsole2]
  42. ip = 192.168.1.2
  43. PACKAGE STRUCTURE
  44. -----------------
  45. The project is organized into packages. Each package corresponds to a tool:
  46. - LyTestTools.ly_test_tools._internal: contains logging setup, pytest fixture, and o3de workspace manager modules
  47. - LyTestTools.ly_test_tools.builtin: builtin helpers and fixtures for quickly writing tests
  48. - LyTestTools.ly_test_tools.console: modules used for consoles
  49. - LyTestTools.ly_test_tools.environment: functions related to file/process management and cleanup
  50. - LyTestTools.ly_test_tools.image: modules related to image capturing and processing
  51. - LyTestTools.ly_test_tools.launchers: game launchers library
  52. - LyTestTools.ly_test_tools.log: modules for interacting with generated or existing log files
  53. - LyTestTools.ly_test_tools.o3de: modules used to interact with Open 3D Engine
  54. - LyTestTools.ly_test_tools.mobile: modules used for android/ios
  55. - LyTestTools.ly_test_tools.report: modules used for reporting
  56. - LyTestTools.tests: LyTestTools integration, unit, and example usage tests
  57. DIRECTORY STRUCTURE
  58. -------------------
  59. The directory structure corresponds to the package structure. For example, the
  60. ly_test_tools.builtin package is located in the ly_test_tools/builtin/ directory.
  61. ENTRY POINTS
  62. ------------
  63. Deploying the project in development mode installs only entry points for pytest fixtures.
  64. UNINSTALLATION
  65. --------------
  66. The preferred way to uninstall the project is:
  67. /path/to/your/python -m pip uninstall ly_test_tools