{"version":"2.1.277","anchor":"plugin-ui-test-api-uipress-now-supports-non-terminal-su","canonical_anchor":"plugin-ui-test-api-uipress-now-supports-non-terminal-su","heading":"Plugin UI test API $.ui.press now supports non-terminal surfaces","tier":"internal","area":"Plugin UI","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/plugin-ui-test-api-uipress-now-supports-non-terminal-su","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### Plugin UI test API `$.ui.press` now supports non-terminal surfaces\n\nPlugin test helper `$.ui.press` can now press buttons on non-terminal surfaces\n\n**What**\n\nThe plugin test API's `$.ui.press` (used by plugin tests to simulate pressing a button) used to only find and press buttons rendered on the \"terminal\" surface. It now accepts an optional `surface` parameter, so it can filter by and press buttons drawn on other surfaces too. When a press is ambiguous, the error message now names both the request ID and the surface involved to help pinpoint the issue.\n\n**Why**\n\nThis lets plugin authors write tests that exercise UI drawn outside the terminal, and makes failures easier to diagnose when multiple matching buttons exist.\n\n- Area: Plugin UI\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}