Gibt es eine Möglichkeit, die AutomationID der ein Objekt ohne die Verwendung von XAML?
Muss ich automatisiert eine Winform-Anwendung. Wie setze ich die AutomationID
(oder AutomationName
), wie Sie in der XAML-in dieser Artikel tut?
Aus diesem stack-überlauf Artikel die Antwort scheint zu sein, Nein, es sei denn, ich schalte die Anwendung ein WPF-Anwendung (so kann ich die Verwendung von XAML zum definieren der Steuerelemente).
Habe ich versucht, dieses naive Ansatz:
AutomationElement formAutomation = AutomationElement.FromHandle(this.Handle);
formAutomation.Current.Name = "SandboxResponseDialogName";
formAutomation.Current.ClassName = "SandboxResponseDialogClassName";
formAutomation.Current.AutomationId = "SandboxResponseDialogID;
Aber an diesem Punkt in den Konstruktor für die Steuerung, diese Automation-Eigenschaften haben nur Getter; keine setter.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, legen Sie nichts in Bezug auf
UI Automation
im code, die Sie benötigen, um diese zu verwenden:In seinem code:
Können Sie auch
AutomationProperties.NameProperty
für die UIAutomation Namen.AutomationProperties
enthält alle Eigenschaften für die UIAutomation Elemente (setter und getter), wie der name vermuten lässt.element
ist nicht eine UI-Automatisierung-element (AutomationElement
), sondern ein WPF-Steuerelement (z.B.CheckBox
).