Skip to main content

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.

Metadata

Release files for xumes 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xumes 0.3.0
File Size Uploaded
xumes-0.3.0.tar.gz 45.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xumes 0.3.0
File Interpreter ABI Platform
xumes-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 114.2 kB

Release files / xumes-0.3.0.tar.gz

Download URL xumes-0.3.0.tar.gz
Size 45.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fbdd65556742714d9bf0cda4ec1c2e05f373197f8f4feaa36939b44295d225ce
BLAKE2b-256 checksum
How to use checksums
6a476873d3d15eff5caf19c2e7268b7f764a0a007e28f989be2577b533c8b2bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / xumes-0.3.0-py3-none-any.whl

Download URL xumes-0.3.0-py3-none-any.whl
Size 68.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79741052f5543ccafc6c6ea1cd2b151fd26e13e311ef6aba6a942023444a9de9
BLAKE2b-256 checksum
How to use checksums
9c629ac81ed5be36f3396d5d9b94d441882042840ad0584cb9473644c20da710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page