Почему дети UIAElement не равны себе?
Я заметил странное поведение в сценарии UIAutomation, которое я написал некоторое время назад и которое я не запускал некоторое время назад. Мои утверждения не оправдались; после некоторого копания я увидел, что при итерации элемента UIAElement.elements()
субэлементы не кажутся равными себе.
Это сработало для меня, как и ожидалось в прошлом, но, похоже, не работает, по крайней мере, в XCode 4.3.2
Для воспроизведения:
create a single-view app throw some elements in the view, set Accessibility Labels on the elements so they get picked up by UIAutomationRun the following script in UIAutomation:
var elements = UIATarget.localTarget().frontMostApp().mainWindow().elements();
for (var i = 0; i < elements.length; i++) {
var el1 = elements[i];
var el2 = elements[i];
var equals = (el1 == el2);
UIALogger.logMessage(el1.label() + " is equal to " + el2.label() + " ? " + equals);
}
See that el1
and el2
do not appear to reference the same object.
Я не уверен, является ли это ожидаемым поведением, хотя мне это кажется очень неприятным. Если у кого-то есть понимание, я буду признателен за это.