Skip to content

Elements, Safer Input, and Automatic Updates

Choose a tag to compare

@AGulev AGulev released this 09 Aug 13:41
· 23 commits to master since this release

This release introduces Automation Bridge HTTP API v2 and Python wrapper 3.0, with safer element input and easier future upgrades.

What’s new

  • Passing an Element to click(), or two Element objects to drag(), now verifies their runtime identities. If an element ID has been reused, the wrapper raises engine.StaleElementError instead of sending input to the wrong element.
  • key() now accepts normalized names such as M, SPACE, KEY_ENTER, and {KEY_ESCAPE}. Unsupported names fail before input is queued.
  • type_text() now always treats braces and other characters as literal UTF-8 text.
  • project.update_automation_bridge() can update the project to the latest stable release or an explicitly pinned version. It updates game.project, fetches dependencies through Defold, replaces the complete project-root Python wrapper, and rolls back on failure.
  • A Python migration guide is now included with the wrapper.

Migration from 2.0.x

Extension 2.1.0 and Python wrapper 3.0 must be updated together. Wrapper 3.0 communicates only with HTTP API v2.

2.0.x 2.1.0
/automation-bridge/v1 /automation-bridge/v2
/nodes and /node /elements and /element
Response fields nodes and node elements and element
Capabilities nodes and node elements and element
Element IDs beginning with n: Element IDs beginning with e:
automation_bridge.nodes automation_bridge.elements; preferably use engine.Element and engine.Bounds

The documented high-level Python helpers—including element(), elements(), maybe_element(), element_by_id(), click(), drag(), and type_text()—retain their names.

For the initial upgrade, replace the complete Python wrapper directory instead of merging files, restart Python, and follow automation-bridge-python/MIGRATION.md. Future upgrades can use project.update_automation_bridge().