2016-05-18 19 views
3

Ich habe eine Suite von UITest für unser Xamarin Forms-Projekt. Alle AutomationId's sind in der XAML-Datei vorhanden und funktionieren gut auf dem iOS-Projekt. Wenn die Tests auf Android ausgeführt werden, ist die AutomationId jedoch nicht vorhanden, wodurch meine Tests fehlschlagen.Q: AutomationId wird nicht auf Android mit Forms gesetzt

ich verdoppelt habe geprüft REPL und Baum mit jeder Ansicht zu inspizieren dafür

Ids ist
+0

Können Sie den betreffenden Code posten? – wogsland

Antwort

1

Sind Sie die Initialisierung AutomationId ‚s in den OnCreate der MainActivity im Android nativen Projekt?

Nach dem Xamarin.Forms.Forms.Init (this, bundle);:

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

Ja, ich habe es überprüft. Habe auch einen sauberen gebaut. – Mike

+0

@Mike Wird dieser Delegat jemals aufgerufen? – SushiHangover

+0

Ja, es wird angerufen. Ich ging durch und die 'AutomationId' wird gesetzt, aber wenn' '' REPL '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'erscheint – Mike

0

Es gibt keine AutomationId sich sichtbar in REPL, sondern nur beschriften oder id mit dem Wert gleich diese Menge auf dem AutomationId, so dass Sie nur in dem Wert vorbei bezeich verwenden sollten .