Overview

AltTester® Desktop‘s main goal is to allow games to be explored and inspected outside of the Unity Editor, on the platform the game was built for. This approach is very similar to the Appium Inspector or to the DOM Inspector of a web browser. It also offers the possibility to generate automated tests by recording the steps you take while interacting with the app through AltTester® Desktop.

Main functionalities:

  • Inspect the game objects hierarchy outside the Unity Editor

  • Get object’s components, assemblies, methods, fields and properties without access to the source code

  • Record your steps taken in the AltTester® Desktop and generate automated tests (C#, Python, Java, Robot Framework)

  • Run your recorded steps (Python, Robot Framework)

  • Interact with your game from AltTester® Desktop using keyboard, mouse, touchscreen and joystick actions

  • Display different scenes or levels; the hierarchy objects are wrapped within a scene object

  • Control the speed of the game

  • Search the hierarchy of objects by selectors

  • Scenes can be loaded or unloaded in a single or additive manner

  • The last successful connection info is saved to make reconnecting easier

It could help you with a few challenges you’ve possibly encountered when testing Unity Games:

  • Test a game without access to the source code or access to Unity Editor

  • Debug the built game, to check the values of the objects during runtime

  • Get a property from the object. For this, you’ll need the component name and sometimes the assembly, which is time-consuming to search. AltTester® Desktop will make sure to give you the exact component name and assembly, ready to be added to your tests

AltTester® Desktop

How it works

In order to test your application you need to create an instrumented build of your Unity App. The instrumented build opens a communication protocol which gives you programmatic access to objects inside your Unity App.

Architecture

Components

  • AltTester® Unity SDK Unity Package - tool for instrumenting your app.

  • AltDriver (C#, Python, Java, Robot Framework) - bindings for C#, Python, Java and Robot Framework to write your tests.

  • AltTester® Desktop - the AltTester® Server module that binds the drivers with the instrumented app, and the Inspector for interacting with the instrumented build and exploring the hierarchy of the unity objects.