2012-04-24 5 views
3

Я пытаюсь получить значение из UILabel, выполнив target.logElementTree(), но я не могу увидеть значение, которое действительно установлено в Label.uiautomation iOS Значение uilabel

Это только показывает строку, мы устанавливаем на основе accessibilityLabel

self.settlementDate.isAccessibilityElement = YES; 
self.settlementDate.accessibilityLabel = @"DetailViewInCode_SettlementDate"; 

И в target.logElementTree() это значение, которое я вижу, я логарифм инструменты-Automation

UIAStaticText: name:DetailViewInCode_SettlementDate value:DetailViewInCode_SettlementDate rect:{{260, 345}, {304, 21}}  

UIALogger.logMessage("Target static:"+target.frontMostApp().mainWindow().staticTexts()["Activity_DetailedView_SettlementDate"].value()); 

И я может видеть скриншот, когда я нажимаю на эту запись
enter image description here

iOS 5.1 Симулятор

ответ

-1

Значение отображается в журнале. Значение этой метки: DetailViewInCode_SettlementDate. Тот факт, что значение и имя идентичны, возможно, вас путают. Это не редкость.

+0

yup. но он должен показать 03/22/2012 –

+0

Попробуйте использовать атрибут '.label()'. –

3

Похоже, что значение установлено по умолчанию со значением свойства accessibilityLabel. Попробуйте установить свойство accessibilityValue в коде так же, как вы установили свойство accessibilityLabel.

self.settlementDate.accessibilityValue = <ActualVale>; 
+0

Это действительно замечательная информация. Установка идентификатора accessibilityValue и accessibilityIdentifier UILabel обеспечивает решение для чего-то, что многие люди, похоже, ищут, но отказываются от этого: способ легко получить значение UILabel в сценарии UIAutomation, как можно было бы ожидать, что он будет работать: var foo = window.staticTexts() ["myAccessibilityID"]. value(); –

Смежные вопросы