gwaredd / unium

Automation for Unity games
MIT License
228 stars 44 forks source link
appium automation selenium test-automation testing unity unity3d

Unium

A library for game automation.

Unium is an library for unity that facilities automation. It exposes an HTTP API that can be used for tools or testing.

There are two parts:

This provides a flexible interface so you can remotely control and inspect your game as it runs. If necessary, you can add your own endpoints to the underlying web server to do custom operations.

Getting Started

The Tutorial

For the tutorial

Your default browser should open automatically.

The tutorial is best experienced with the editor and browser side-by-side.

Documentation can be found in unium.pdf.

See also the FAQ

For Your Project

There are several ways of installing the unium library in your project.

The preferred approach

Alternatively you can

NB: Remember to enable the development build flag if you are making builds (unium is disabled for release by default).

Package Manager

As of v1.0.4 you can use the unity packaging to add unium directly.

You can now import unium as a git package using UPM. With Unity 2020.1 or later, you can point to the github repository in your Packages/manifest.json dependencies. You can optionally pin to a specific version of unium by adding a revision or tag to this url as per the above documentation.

{
  "dependencies": {
    "com.gwaredd.unium": "https://github.com/gwaredd/unium.git?path=/Assets/Unium",
    ...
  }
}

For earlier versions of Unity that do not support sub folders in git dependencies, the upm branch of the repository contains just the library setup for use with the package manager. Note that this version might not contain all latest fixes and improvements.

Notes

Writing Tests

The Unium API facilitates automated tests but is not a testing framework. Below are a number of popular frameworks that have been used with Unium.

Examples can be found in the Examples folder.

Compatibility

Tutorial Video

Unium Tutorial Video

Demonstration of Unium and Appium working together

Unium with Appium