Xamarin UItest Android — идентификаторы изображений не отображаются в дереве

Этот вопрос для Android. StyleIds были установлены для изображений. Согласно документации, эти StyleId должны отображаться в виде меток в Android. Но это не так.

Я проверил, что существует следующее:

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

Я новичок в тестах пользовательского интерфейса Xamarin и должен решить это в первую очередь. Кто-нибудь сталкивался с этим раньше?


person NewDeveloper    schedule 17.07.2016    source источник
comment
Здравствуйте, ради будущих пользователей/зрителей, если приведенный ниже ответ решает вашу проблему, отметьте его как решение и проголосуйте. :)   -  person Matthew Regul    schedule 17.01.2017


Ответы (1)


Вы можете переключиться на использование AutomationId, это было введено в Xamarin.Forms в версии 2.2 (примечания к выпуску)

Свойство AutomationId не используется Xamarin.Forms, поэтому оно не влияет на функциональные возможности использования его в качестве уникального идентификатора для тестирования.

Ниже приведен пример использования AutomationId на изображении вместе со снимком экрана вывода Repl Tree. (Нажмите здесь, чтобы подробнее об 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);
}

попробуйте ввести описание изображения здесь

скриншот приложения

person Matthew Regul    schedule 20.10.2016