Description
fill on Android truncates text input when the string contains standard ASCII special characters like + and @. Only the first few characters are entered before input stops.
Steps to Reproduce
-
Open an app with a text field on Android emulator:
agent-device open com.example.app --platform android --session my-session
-
Take a snapshot showing a text field:
agent-device snapshot -i --session my-session
Output: @e2 [text-field] "PHONE_NUMBER_or_EMAIL_ADDRESS"
-
Fill the field with an email containing + and @:
agent-device fill @e2 "curtis.layne+test+73kmc@uber.com" --session my-session
-
Error:
Error (COMMAND_FAILED): Android fill verification failed
{
"expected": "curtis.layne+test+73kmc@uber.com",
"actual": "curti"
}
Expected Behavior
fill should enter the complete string including + and @ characters. These are standard ASCII characters (not emoji or CJK), so the non-ASCII IME limitation mentioned in the docs should not apply.
Workaround
Fall back to adb shell input text with the phone number (digits only) instead of email. For strings with special chars, adb shell input text with URL-encoded characters works but is not ideal (%2B for +, %40 for @).
Environment
- agent-device version: latest (installed via npx)
- Platform: Android emulator (Pixel 8 Pro API 36)
- Host OS: macOS (Darwin, Apple Silicon)
- Context: WebView-based login form (Uber auth)
Notes
Description
fillon Android truncates text input when the string contains standard ASCII special characters like+and@. Only the first few characters are entered before input stops.Steps to Reproduce
Open an app with a text field on Android emulator:
Take a snapshot showing a text field:
Output:
@e2 [text-field] "PHONE_NUMBER_or_EMAIL_ADDRESS"Fill the field with an email containing
+and@:agent-device fill @e2 "curtis.layne+test+73kmc@uber.com" --session my-sessionError:
Expected Behavior
fillshould enter the complete string including+and@characters. These are standard ASCII characters (not emoji or CJK), so the non-ASCII IME limitation mentioned in the docs should not apply.Workaround
Fall back to
adb shell input textwith the phone number (digits only) instead of email. For strings with special chars,adb shell input textwith URL-encoded characters works but is not ideal (%2Bfor+,%40for@).Environment
Notes
+/@being interpreted as special by the underlyingadb shell input textcommand.