Skip to content

Tool schemas declare additionalProperties:false but unknown arguments are silently dropped #538

Description

@yusufcihankmr
### What happened

`appium_set_value` appends to the existing value instead of replacing it,
and there is no tool that clears a field. Measured on the Windows driver
(`platform=general` + `remoteServerUrl`, `appium:automationName=Windows`):

    initial value : ""
    set_value "ASP00052"       -> "ASP00052"
    set_value "ZZZ99999"       -> "ASP00052ZZZ99999"
    set_value "ASP00052"       -> "ASP00052ZZZ99999ASP00052"

The tool description says "Enter text into an element", so the behaviour
matches the docs — but with no clear tool available, a field can only ever
be appended to. For a test-automation server this silently corrupts any
flow that types into a field twice.

### Workarounds tried (both fail on this driver)

1. `appium_set_value` with `w3cActions: true`
   -> `WebDriverError: Currently key input source type is not supported`
      (WinAppDriver does not implement the W3C key actions API)
2. `appium_perform_actions` with a Ctrl+A key sequence
   -> RPC error

### The capability exists in Appium, it is just not exposed

The plain W3C endpoint works fine against the same session:

    POST /session/{id}/element/{el}/clear

    before : "ASP00052ZZZ99999ASP00052"
    clear  : ""
    after set_value : "ASP00052"

### Suggestion

Expose the W3C clear command — either as a new `appium_clear_element` tool,
or as an optional `clear: true` parameter on `appium_set_value`.

### Environment

    appium-mcp          1.94.0
    appium              3.7.0
    appium-windows-driver 6.3.0
    WinAppDriver        1.2.2009.02003 (v1.2.1)
    Windows 11 Pro, Node 24.19.0
    target: .NET Framework 4.7.2 WinForms + DevExpress app

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions