2011-06-28 9 views
5

Wszystkie funkcje interfejsu użytkownika interfejsu użytkownika examples Widziałem używane standardowe komponenty, których stan można sprawdzić za pomocą interfejsu API JavaScript przy użyciu metody value(). To trochę ogranicza. Powiedzmy, że chcesz sprawdzić kolor lub wartość alfa i cokolwiek.Jak sprawdzić właściwości elementu w iOS gui automation?

Jak mogę sprawdzić właściwości widoku?

Przykład: dotknięcie wybranego elementu powinno spowodować "zaznaczenie". Chciałbym go dotknąć, a następnie sprawdzić, czy wybrano opcję PRAWDA.

Aktualizacja:

znalazłem metodę withPredicate() który powinien zrobić to w teorii, z wyjątkiem wydaje się tylko wyzwalać name properties:

element.withPredicate("isSelected == YES")   // always fails 
element.withPredicate("name matches 'my element'") // works 

Odpowiedz

6

skończyło się z tym podejściem, które pracuje dla moje cele:

Niech UIView.accessibilityValue zwraca ciąg JSON o odpowiednich właściwościach:

- (NSString *)accessibilityValue 
{ 
    return [NSString stringWithFormat: 
      @"{'alpha':%f, 'isSelected':%@}", 
      self.alpha, self.isSelected ? @"true" : @"false"]; 
} 

Następnie użyj eval() w kodzie testowym i sprawdź te właściwości. Wartość() jest skrótem dla wywołania accessibilityValue:

var props = eval("(" + element.value() + ")"); 

if (props.isSelected) { 
    UIALogger.logFail("Should not be selected"); 
} 

UIATarget.localTarget().tap({"x":471, "y":337}); 

var props = eval("(" + element.value() + ")"); 

if (!props.isSelected) { 
    UIALogger.logFail("Should be selected"); 
}