-
-
Notifications
You must be signed in to change notification settings - Fork 196
Description
I am testing a Flutter application using Appium, and Flutter’s TextField widget is not exposing any stable identifier when inspected.
Appium Inspector shows:
No resource-id
No accessibility-id
Only a generic android.widget.EditText
Auto-generated elementId (changes every run)
content-desc only appears if manually added in Flutter code
This makes it impossible to create stable Appium locators without modifying the Flutter source code.
Steps to Reproduce
Create a sample Flutter app with a simple TextField:
TextField();
Run the app on an Android device/emulator.
Open Appium Inspector.
Inspect the TextField.
Expected Behavior
Appium Inspector should expose at least one consistent identifier for the Flutter TextField, such as:
resource-id
or accessibility-id
or any stable property usable for UI automation
Actual Behavior
The inspected element returns:
class: android.widget.EditText
resource-id: (empty)
elementId: 00000000-0000-0541-0000-000f00000004 (auto-generated)
content-desc: (empty unless manually set)
Since Flutter does not provide native Android view IDs, the element cannot be targeted reliably from Appium.
Screenshot
(include your screenshot)
Environment
Flutter: (your version)
Appium: (your version)
Appium Inspector: (your version)
Android Device/OS: (your device + OS)
Automation backend: uiautomator2 / flutter-driver (specify if used)
Additional Notes
This behavior occurs with any Flutter TextField, even in a minimal example.
Flutter’s rendering architecture prevents Android from generating resource-ids automatically, creating limitations for Appium UI automation.
A consistent identifier would greatly improve test automation support for Flutter apps.
