Gamium
Gamium is an SDK that allows you to automate game test
Gamium provides the ability to script the behavior of game users. Starting from a simple function of clicking on the UI, you can automate various cases and be free from repetitive manual tests.
Automation starts when the gamium client sends a network message to the gamium engine for the specified command. Users just need to put the gamium engine into the game build and send the specified message using the client sdk.
As various platforms emerge, the number of things to test is increasing. Accordingly, the mobile app automation framework is used universally, but in the case of games, there are many projects where tests are not yet automated.
We want to solve this problem and develop automation library with multi-engine support through the same interface. The interface we provide is inspired by Selenium and Playwright.
Engine | Windows / macOS | Android | iOS | Xbox | PS4 / PS5 | Switch |
---|---|---|---|---|---|---|
Unity | ✅ | ✅ | ✅ | Need testing | Need testing | Need testing |
Unreal | Planned | Planned | Planned | Planned | Planned | Planned |
Godot | Planned | Planned | Planned | Planned | Planned | Planned |
Language | Support |
---|---|
C++ | Planned |
C# | Planned |
Language | Support |
---|---|
Typescript | ✅ |
Python | ✅ |
C# | Planned |
Please refer to the Get Started
npm i gamium
pip install gamium
You can look up the UI and then click and scroll,
await gamium.ui().click(By.path('/Canvas[1]/Login[1]/Panel[1]/GuestLoginBtn[1]'));
You can simulate input into the game,
await gamium.sendKey(KeyBy.unityKeyboard('Space'));
You can also call specific functions.
await gamium.executeRpc(RpcBy.method('Gamium.Private.CodebaseSample', 'CallParam1', 10));
Please, don't hesitate to file a question.
If you have problem, file an issue.
If you are interested in contributing directly to the code base, don't hesitate to Pull request.
But I'd really appreciate it if you could read the CONTRIBUTING.md before making your request.
Gamium is MIT licensed