2016-07-17 3 views
1

Diese Frage ist für Android. StyleIds wurden für Bilder festgelegt. Laut der Dokumentation sollten diese StyleIds als Bezeichnungen in Android erscheinen. Aber sie nicht.Xamarin UItest Android - IDs für Bilder nicht im Baum angezeigt

Ich habe festgestellt, dass die folgende existiert -

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

Ich bin neu in Xamarin UItests und haben dies als das erste, was zu lösen. Ist das schon mal jemand begegnet?

+0

Hallo, im Interesse der zukünftigen Benutzer/Zuschauer, wenn die Antwort unten Ihr Problem löst, fügen Sie es als die Lösung und upvote markieren. :) –

Antwort

3

Sie können wechseln Sie zu verwenden AutomationId, es wurde Xamarin.Forms in Version eingeführt 2.2 (release notes)

Die AutomationId Eigenschaft nicht von Xamarin.Forms verwendet wird, so dass es keine Funktionalität nicht beeinträchtigt zu verwenden es als eindeutige Kennung für das Testen.

Unten sehen Sie ein Beispiel mit AutomationId auf einem Bild, zusammen mit einem Screenshot eines Repl Tree-Ausgangs. (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

Verwandte Themen