Skip to content

Add testID props to interactive UI elements for automated testing (Appium) #181

Description

@shreynolds3

Currently the components in components (e.g. Scanner.tsx, Cropper.tsx, ResultViewer.tsx) don't expose any testID props. When writing end-to-end tests with Appium, there are no stable identifiers to target elements. We're forced to locate elements by their visible text / auto-generated accessibilityLabel, which is brittle — it breaks when copy changes or is localized, and it doesn't work at all for non-text controls like the camera view.

Suggestion
Add testID props to the key interactive/UI elements so they can be reliably located in automated tests. On iOS testID maps to accessibilityIdentifier (Appium accessibility id), and on Android it maps to resource-id.

Ideal features

Allow consumers to override or supply testIDs via component props, rather than hardcoding, so downstream apps can namespace them.
Consistent, documented naming convention (e.g. scanner-camera, white-background-switch).

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions