Overwolf Events Recorder
This tool can be found over in the following GitHub repository.
Record
)This page specifically refers to the Record
tab of the relevant Application.
For the other tabs, see ow-events-tester
The Overwolf Events Recorder allows Developers to record important API Events/Calls that happen to them in real time.
These recordings can then be used by the ow-events-tester, to mimic the exact* state of the game,
and ensure that your App reacts to it properly - Without even needing to run the game, much less replicate those exact scenarios.
* See Supported APIs.
Getting Started
To get started with the Game Events Recorder, you must first obtain the latest build.
- Download as Unpacked Application (Quick)
- Build Locally
Simply download the latest build from the release history and unzip it.
To build the latest version locally, simply clone the github repositry:
git clone https://github.com/overwolf/ow-events-recorder
Then, once you're within the relevant folder, run the following (using your preferred package manager):
# Switch to the relevant folder
cd ow-events-recorder
# Install all dependencies
npm i
# Build the application
npm run build
Once the build
command finishes running, the dist/
folder will correspond to the latest build.
When you have the latest build, simply load it as an unpacked extension, and you can start using the app.
Quickstart
To quickly get started using the recorder, run the following in your chosen terminal (using your preferred package manager):
// Install all dependencies
npm i
// Build the application
npm run build
Once the build
command finishes running, simply load the newly created dist/
folder as an unpacked Overwolf application, and launch it.
You should now be greeted by the following screen, in which case, you can already start recording your Session:
Simply click the red circle, and any API events/calls from the supported list will be recorded!
Then, once you are ready to stop recording, simply click the button again, and the recording will stop.
You can then view, rename, or even delete the new recording, by hovering over it in the relevant screen
This recording can then be used within the Overwolf Events Tester, in order to see how your app would act during this specific event sequence.
Supported APIs
The Overwolf Events Recorder can currently include the following Overwolf APIs*.
* Currently, only Overwolf APIs are supported. This means that external, game-based APIs, like the League of Legends LCU are not supported, and need to be appropriately mocked for these tests.
Supported API Events
The following events can be recorded (and then mimicked by the Events Tester)
overwolf.games.onGameLaunched
overwolf.games.onGameInfoUpdated
overwolf.games.events.onGameInfoUpdated2
overwolf.games.events.onNewEvents
overwolf.games.events.onError
overwolf.games.launchers.onLaunched
overwolf.games.launchers.onUpdated
overwolf.games.launchers.onTerminated
overwolf.games.launchers.events.onInfoUpdates
overwolf.games.launchers.events.onNewEvents
Supported API Calls
overwolf.games.getRunningGameInfo()
overwolf.games.getRunningGameInfo2()
overwolf.games.events.setRequiredFeatures()
overwolf.games.launchers.getRunningLaunchersInfo()
overwolf.games.launchers.events.setRequiredFeatures()
Creating effective recordings
The Overwolf Events Recorder can record all Events and Calls made while a recording Session is running. However, it will not record things outside of that timeframe. As such, it is highly recommended that you carefully plan out your recordings, to ensure that they cover the entire flow you use.
Full-Session recordings
Full-Session recordings are the main type of recordings used. These are recordings made of a full game Session, including the entire chain of Events and Calls, from before a game was first launched, until after the last game was closed.
For example:
- A recording of a full game Session, when a quick match was played, and then the game was closed.
- A recording of a full long game Session, potentially spanning over several hours.
- A recording of a Session where multiple full game Sessions were done in succession, at times without even closing the game.
These recordings can be used to test more general App flows, ensuring that it behaves as expected, end-to-end. Paired up with the different playback tools included in the Overwolf Events Tester, these can significantly help with automating tests.
Mid-Session recordings
Mid-Session recordings are a more advanced recording type, made in the middle of a game Session. They do not include the entire chain of Events and Calls that has led the app to the current state, but they do include specific set of Events and Calls that are relevant at this point.
For example:
- A recording of a game round where one person took out the entire enemy team.
- A recording of the character select phase.
- A recording of the post-match phase.
These recordings can be used to test specific App edge cases, rather than entire flows.
However, they require you to ensure that the App is brought to a state where these recordings can reasonably happen,
before starting to play them.
When properly chained together, these can be used as small Unit Tests for your App.