Skip to content

Flutter TextField does not expose resource-id or stable element identifier in Appium Inspector #835

@ronak987

Description

@ronak987

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.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions