Как проверить свойства элемента в 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"); } 
  • Лучшая практика iPhone UIView Animation
  • iOS Qt - загрузить QWidget внутри UIView?
  • Учитывая, как мне получить свой viewController?
  • Как имитировать resizable StatusBar в приложении Spotify iOS
  • Уровень UILabel cornerRadius отрицательно влияет на производительность
  • Перехват затрагивает UIView над GMSMapView
  • Анимация UIView определяет центр во время анимации
  • Можно ли подключить верхнюю часть UIView к нижней части панели навигации?
  • Градиент рисования на UIView не работает с iOS 9
  • Почему документы указывают, что анимация CALayer должна быть в блоках анимации UIView?
  • Рисование линии в UIView
  • Interesting Posts

    Периодически добавляйте узлы в сцену со случайным интервалом времени между

    AVAudioPlayer запускается на устройстве iOS, сбой в симуляторе. Должен ли я беспокоиться?

    «база данных заблокирована» в sqlite в iPhone

    SpriteKit: найти всех потомков SKNode определенного класса?

    Как заблокировать экран в портрете / пейзаже в iPhone?

    может ли titleView быть принятым для принятия жестов tap?

    Разница между загрузкой многостраничной формы и NSURLSession.uploadTaskWithRequest

    Проверьте, что текст текстового поля почти равен строке

    Tag Друзья в Facebook Фото Загрузить

    Передача целого числа между сценами, iphone game sprite-kit

    UIButton внизу экрана только с перерывами

    Панель поиска с подготовкой для функции DetailViewController

    Схема URL для открытия видеоролика из браузера на iPad

    (NSFetchedResultsController): не удалось прочитать файл кеша, чтобы обновить временные метки хранилища

    глубокое связывание: открыть приложение Amazon на странице продукта

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