Testing your App
Testing practices
The Overwolf team will review your app when you submit it both for the first time and when you update it. This article we will share how Overwolf's testing process works, what is focused on, and what you should focus on when preparing your app for submission. If you have any questions, reach out via Slack or email: developers@overwolf.com.
app manifest
Consistent UID
Make sure that the author
and app name
are identical in every version. Changes in these parameters will change the UID
of your app and cause issues.
Validate your manifest.json
Make sure to validate your manifest.json
. Make sure that your manifest.json
file is a strictly valid JSON, without trailing commas, etc. Make sure your file is correct and complete by validating it against Overwolf’s's schema file.
Use one of the following methods:
Validate the schema
Ensure that your manifest.json is consistent with our schema:
- Copy the contents of the app’s manifest.json and paste it under "Input JSON:" in jsonschemavalidator.net.
- Copy the contents of our schema and paste it under "Select schema:".
- Make sure you have no errors and that you see a green checkmark with the text "No errors found. JSON validates against the schema".
Minimum Overwolf supported version
Check your app's minimum Overwolf version and make sure that it supports your app's required features. Update the version when new APIs or bug fixes may be required or needed for your app. Verify that this minimum required version is fully rolled out to all users before releasing!
Verify correct Advertisement flags
"block_top_window_navigation":true
—opens the link from the ad in a new window when when the app user clicks on it."popup_blocker":true
—use this to prevent ads that try to create a popup without the user’s consent."mute":true
—mute sounds in window.
Verify the 'launcher_icon' property
- Make sure the key:value pair
"launcher_icon": "icon.ico"
appears in themeta
object. Replaceicon.ico
with the icon file name of the icon in your OPK. - Verify that you have an icon file in your app folder/opk and that its size is less than 150KB.
- Make sure that you have the following resolutions for it:
16x16, 32x32,48x48, 256x256
.
Verify the 'icon' and 'icon_gray' property
- Make sure the key:value pair
"icon": "IconMouseOver.png"
and"icon_gray": "IconMouseNormal.png"
appear in themeta
object. Replace"IconMouseOver.png"
and"IconMouseNormal.png"
with the names of the files in your app's OPK. - Verify that the files exist in your app folder or opk and the sizes are less than 30KB.
- Make sure that each of the files are
256x256
in resolution size.
Verify game_targeting flag existence
Verify correct launch_events
- Make sure that your app only launches with the games it interacts with.
- If your app is set to
LaunchWithOverwolf
, make sure:- It does not open any visible windows unless a game was opened.
- The user explicitly opts-in and can opt-out at any time.
Windows
Resolution compatibility
-
Before you test your app, set the DPI to 100% and window resolution to 1920 x 1080.
-
Change your screen resolution to the following settings and make sure that the app window stays within the borders of your screen:
- 1366 x 720 – 100 DPI
- 1366 x 768 – 100 DPI
- 1920 X 1080 – 125 DPI
- 3840 X 2160 – 150 DPI
Window states
Use the following tests with your app to find compatibility issues with different window states:
- Launch the game your app supports, then test the app in full-screen (game window). Make sure everything is located where you want it.
- Change to windowed mode and make sure that everything is where you want it.
Window behavior when "out of focus"
Overwolf only displays overlays in-game when the game is in focus. That means that whenever your game is alt+tabbed or minimized, no app window should appear.
To test this behavior:
- Launch the game your app supports. Make sure that the app launched correctly.
- Use Alt + Tab to get out of the game and make sure that your app window does not show on desktop.
- Alt+tab back to the game, the app should work normally.
Overlay
In-game behavior
Test preconditions: The user is now running the game your app supports.
- Open the app window with your designated hotkey and make sure the overlay appears properly.
- Test general app functionality in-game and ensure your features work.
- Press the app window in spots where clicks going through to the game would have an effect. For example, click an app button which covers an in-game menu and make sure your clicks only affect the app layer and never that menu.
- Any in-game browser links must be opened in Overwolf's browser. If you want to open them in user's default browser, prompt the user to let them know.
Hotkeys
General functionality
-
Use the hotkey to launch the app and ensure it launches properly.
-
Use the hotkey again to minimize your app.
-
Change your app's designated hotkey and make sure the change appears in the app's settings.
-
Use the changed hotkey to launch the app and ensure it launches properly.
-
Use the changed hotkey again to minimize your app.
-
Allow the user to change the hotkey combination from inside your app’s settings panel by automatically directing the user to the Overwolf settings page. Make sure that the new hotkey is updated automatically in your app without needing to re-launch the app. For more information about hotkeys, see
manifest.json
andoverwolf.settings
API pages. -
Launch your app using the dock icon while in-game to verify that it provides functionality to the user.
Test mid-game installation
Preconditions: Uninstall your app to perform the following test.
-
While in-game, open the Overwolf Appstore and install the app.
-
Use hotkey to launch the app and verify that it successfully opens.
-
Use hotkey again to minimize the app.
-
Change the designated hotkey and use it again to launch the app.
-
Used the changed hotkey again to minimize the app.
-
Whenever a user changes their hotkey, verify that your app changes both functionality and UI.
Desktop
Desktop app behavior
-
Launch your app while in desktop, verify that the app window appears in 30 milliseconds or less. It is acceptable that the app displays a loader until it's ready for use.
-
Test your app's desktop functionality and features.
-
Close the Overwolf client and launch your app using the desktop icon.
-
Verify that all windows are closed upon exit as well as all app-related processes in http://localhost:54284 (except those that are designed to be background processes).
Game specific apps
If your app supports a specific game only, make sure it runs when you launch that game and doesn't for others.