Skip to main content

A game testing tool.

Project description

Xumes

Xumes is a game testing tool designed to be used on top of games without the need to modify the game sources. It provides a framework for observing and interacting with game elements, training models, and conducting tests. For the moment, only the Godot framework has an implemented module for interacting with Xumes. So for the moment, the documentation will be focused on the implementation with Godot.

Please check the documentation for more information.

Test Animation

Framework

The framework is based on the BDD methodology, that's means that two type of files are needed to be write for conducting tests. Those file are the feature files and the steps files.

The following diagram illustrates the architecture of the framework:

framework schema

Installation

pip install xumes

Using with Godot

To use Xumes with Godot, you need to compile Godot from sources. Follow the instructions in the Godot documentation <https://docs.godotengine.org/en/stable/development/compiling/index.html>_.

Clone the following repository instead of the official one:

git clone https://github.com/mastainvin/godot.git

Don't forget to checkout to the xumes branch before build Godot.

To start the Godot editor, run the following command:

 ./bin/godot.x11.tools.64 --editor --path <path_to_godot_project>

Quick start

Once Xumes and Godot are installed, you can test your installation with the Flappy Bird example. First, clone the repository:

git clone https://github.com/mastainvin/Xumes-Examples.git

Then, navigate to the FlappyBird directory:

cd Xumes-Examples/Godot/flappy_bird/

Run the tests with the following command:

python -m xumes test ./Tests/PipeSizeTest/features -h 10 -i 100

⚠️ Always use python -m xumes to run the tests. This ensures the use Xumes as a module and be able to import other modules in the project.

This command will run the tests found in the features directory in headless mode (without rendering the game), with a frame rate limit of 10 FPS and 100 iterations.

You should see the following output:

               TEST REPORT

9 tests passed on a total of 9 in 00:01:16.
Tests passed:
    - PipeSize/Testing the pipe size [2] - (i=0.5, j=1, k=2)
    - PipeSize/Testing the pipe size easy [1] - (i=0.5, j=0.5, k=2)
    - PipeSize/Testing the pipe size easy [2] - (i=1, j=1, k=2)
    - PipeSize/Testing the pipe size hard [1] - (i=1, j=0, k=2)
    - PipeSize/Testing the pipe size [1] - (i=0.5, j=0, k=2)
    - PipeSize/Testing the pipe size easy [0] - (i=0, j=0, k=2)
    - PipeSize/Testing the pipe size hard [0] - (i=0, j=1, k=2)
    - PipeSize/Testing the pipe size [0] - (i=0, j=0.5, k=2)
    - PipeSize/Testing the pipe size [3] - (i=1, j=0.5, k=2)

Here is the video of godot first build and test execution.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xumes-0.2.2.tar.gz (42.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xumes-0.2.2-py3-none-any.whl (63.0 kB view details)

Uploaded Python 3

File details

Details for the file xumes-0.2.2.tar.gz.

File metadata

  • Download URL: xumes-0.2.2.tar.gz
  • Upload date:
  • Size: 42.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for xumes-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ef78fe0b26893e2c821e56b12a0cb89def4cf1ab96e98acb8df080d5414c3d2f
MD5 af4191d907ceae3e4dbb8478776ff584
BLAKE2b-256 79b1a6a3b97ebe82319e7c34b88849ec20312dea542981fcc27dacf0c6c3a504

See more details on using hashes here.

File details

Details for the file xumes-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: xumes-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 63.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for xumes-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 35593d4e80c7ba013e0561b5dc869c77828d938e6db82a182994035fa3f32e38
MD5 3969b69b2f5e8e01db36696d517d6349
BLAKE2b-256 f43ab167fb5de948a55e30ab50a534a9fddb87da599dd907bee67abefac499e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page