Как проверить свойства элемента в iOS gui automation?

Все примеры UI Automation, которые я видел, используют стандартные компоненты, состояние которых можно проверить с помощью JavaScript API, используя метод value() . Это немного ограничивает. Допустим, вы хотите проверить цвет или альфа-значение и еще много чего.

Как проверить свойства представления?

Пример: нажатие на определенный элемент должно сделать его «выбранным». Я хотел бы нажать на него, а затем проверить, что isSelected TRUE.

Обновить:

Я нашел метод withPredicate (), который должен делать это теоретически, за исключением того, что он, по-видимому, вызывает только свойства name :

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

One Solution collect form web for “Как проверить свойства элемента в iOS gui automation?”

Я закончил этот подход, который работает для моих целей:

Пусть UIView.accessibilityValue возвращает строку JSON с соответствующими свойствами:

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

Затем используйте eval () в тестовом коде и проверьте эти свойства. Значение () является сокращением для вызова 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"); } 
  • Autolayout - собственный размер UIButton не включает в себя вставки заголовков
  • Свойства CAGradientLayer не анимируются в блоке анимации UIView
  • Обнаружение события касания вне определенного UIView
  • Анимируйте `backgroundColor`` UIView`, который реализует `drawRect`
  • Как отобразить сложный UIView в PDF-контекст с высоким разрешением?
  • UIPageViewController-PDF Масштабирование не работает xcode?
  • Мой UIScrollView (содержащий некоторые UIControls) больше не прокручивается в iOS 8
  • UINavigationBar titleView выше, чем сам план
  • Рамка UIView изменяется после перевертывания
  • Замена self.view на новый UIView показывает черный вид
  • Почему UIViewController распространяется под UINavigationBar, а UITableViewController - нет?
  • Interesting Posts

    Захват нажатых ссылок в UIWebView с использованием RxSwift

    AVPlayer и AVFoundationErrorDomain Code = -11819

    Есть Facebook и Путь, используя библиотеку с открытым исходным кодом для своего пользовательского интерфейса навигации?

    Анимация SpriteKit неожиданно останавливается

    Голосовой чат реального времени между устройствами iOS в одной сети

    Передача массива с помощью prepareforsegue

    iPhone App «Ожидает выпуска разработчиков» – могу ли я представить для testflight сейчас без каких-либо последствий?

    Синхронизация фона в iOS7

    Как найти подстроку между двумя строками?

    Как читать образцы из AudioBufferList?

    Как сделать панель навигации прозрачной в iOS 10

    Размер UIView изменяется с использованием автоматического макета, но получение его размера кадра во время выполнения неверно. Ios

    Миграция основных данных невелика, хотя миграция не переносится

    UNMutableNotificationContent с пользовательским объектом в userinfo

    iOS 11 останавливает поведение по умолчанию для swipe UITableViewCell

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.