Meine Benutzeroberfläche verwendet ein benutzerdefiniertes Steuerelement, um einen Ja/Nein-Schalter darzustellen. Auf dem UI-Test würde ich gerne Ja oder Nein für jede Iteration des Steuerelements auf dem Bildschirm tippen können, aber die Abfrage durch die AutomationID ergreift das erste Ergebnis. Wie kann ich auf die untergeordnete Schaltfläche eines bestimmten benutzerdefinierten Steuerelements zugreifen? Die Elemente, auf die ich tippen möchte, sind SwitchLPRrecs ButtonNo/ButtonYes und SwitchTowDollys ButtonNo/ButtonYes.Xamarin.UITest Tippen Sie auf Kind des benutzerdefinierten Steuerelements, in dem untergeordnete Elemente dieselbe Automatisierungs-ID haben
CUSTOM
public RC_Switch_YesNo()
{
try
{
this.HorizontalOptions = LayoutOptions.Center;
this.VerticalOptions = LayoutOptions.Center;
negative = new Button();
negative.Text = "No";
negative.AutomationId = "ButtonNo";
negative.Style = AppStyling.Style_Button_Switch;
negative.Clicked += (o, s) => OnSelectedItemChanged(this, ItemSelected, (int)Enums_RecoveryConnect.SelectionStatus.SelectionFalse);
positive = new Button();
positive.Text = "Yes";
positive.AutomationId = "ButtonYes";
positive.Style = AppStyling.Style_Button_Switch;
positive.Clicked += (o, s) => OnSelectedItemChanged(this, ItemSelected, (int)Enums_RecoveryConnect.SelectionStatus.SelectionTrue);
if(Device.Idiom == TargetIdiom.Tablet)
{
negative.HeightRequest = (int)AppStyling.TabletEntry.TabletHeight;
positive.HeightRequest = (int)AppStyling.TabletEntry.TabletHeight;
negative.FontSize = (int)AppStyling.TabletEntry.TabletEntryTextSize;
positive.FontSize = (int)AppStyling.TabletEntry.TabletEntryTextSize;
}
this.Children.Add(negative, 0,0);
this.Children.Add(positive, 1,0);
}
catch(System.Exception ex)
{
Helpers.Helper_ErrorHandling.SendErrorToServer(ex);
}
}
REPL von Screen