Ich verwende die KIF Framework für die funktionale UI-Tests. Angenommen, ich befinde mich auf einem aktuellen iPad-Bildschirm, auf dem vielen Ansichten (Beschriftungen, Schaltflächen, Textfelder usw.) eindeutige Zugriffsetiketten zugewiesen sind. Wenn ich die accessibilityLabel
Zeichenfolge handlich habe, kann ich einen Verweis auf die damit verbundenen UIView
vom aktuellen Bildschirm mit ihm bekommen?Get UIVIew von accessibilityLabel für KIF-Automatisierung
Zum Beispiel gibt [[UIView alloc] viewWithTag:5]
UIVIew
von bereitgestellten tag
zurück. Ich suche nach etwas wie [[UIView alloc] viewWithAccessiblityLabel:@"my label"]
.
S.S: Ich weiß, dass die Brute-Force-Methode wäre, alle Ansichten in self_nviews rekursiv zu durchlaufen und Barrierefreiheit zu vergleichen, um herauszufinden, nach was ich suche. Ich suche nach einem besseren Ansatz.
Sie können "UIView" in Ihren 'Custom' Klassen" unterordnen ". –
Die einzige Möglichkeit zu tun, was Sie wollen, besteht darin, die Subviews zu durchlaufen und zu überprüfen. Diese Art von Verhalten bedeutet wahrscheinlich, dass Sie schlechtes Design in Ihrer Klasse haben. Alles, auf was Sie später noch zurückgreifen müssen, könnte in einer Eigenschaft oder, wenn es dynamisch erstellt wird, in einem NSDictionary gespeichert werden, das als Eigenschaft gespeichert ist. –