NewDeveloper
NewDeveloper

Reputation: 11

Xamarin UItest Android - Ids for images do not display in tree

This question is for Android. StyleIds have been set for images. Per the documentation, these StyleIds should appear as labels in Android. But they do not.

I have verified that the following exists -

            Xamarin.Forms.Forms.ViewInitialized += (object sender, Xamarin.Forms.ViewInitializedEventArgs e) =>
            {
                if (!string.IsNullOrWhiteSpace(e.View.StyleId))
                {
                    e.NativeView.ContentDescription = e.View.StyleId;
                }
            };

I am new to Xamarin UItests and have to solve this as the first thing. Has anyone encountered this before?

Upvotes: 1

Views: 519

Answers (1)

Matthew Regul
Matthew Regul

Reputation: 1050

You could switch over to using AutomationId, it was introduced to Xamarin.Forms in version 2.2 (release notes)

The AutomationId property isn't used by Xamarin.Forms so it doesn't affect any functionality to use it as a unique identifier for testing.

Below is a sample using AutomationId on an image, along with a screenshot of a Repl Tree output. (Click here to read more about AutomationId)

public App()
{
    // The root page of your application
    var content = new ContentPage
    {
        Title = "XamarinUITest_Images",
        Content = new StackLayout
        {
            VerticalOptions = LayoutOptions.Center,
            Children = {
                new Label {
                    HorizontalTextAlignment = TextAlignment.Center,
                    Text = "Welcome to Xamarin Forms!"
                },
                new Image {
                    Source = "circle1",
                    StyleId = "myStyleID",
                    AutomationId = "myAutomationID"
                }

            }
        }
    };

    MainPage = new NavigationPage(content);
}

try enter image description here

app screenshot

Upvotes: 3

Related Questions