¿Por qué los hijos de UIAElement no son iguales a ellos mismos?

Noté un comportamiento extraño en un script de UIAutomation que había escrito hacía un tiempo que no había corrido en mucho tiempo. Mis afirmaciones estaban fallando; después de hacer un poco de excavación, vi que cuando se iteraba un UIAElement.elements()Los subelementos no parecen ser iguales a ellos mismos.

Esto me ha funcionado como se esperaba en el pasado, pero parece estar roto en al menos XCode 4.3.2

A repro

crear una aplicación de vista únicacoloque algunos elementos en la vista, configure Etiquetas de accesibilidad en los elementos para que sean recogidos por UIAutomation

Ejecute el siguiente script en 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);
}
Mira esoel1 yel2 No parecen hacer referencia al mismo objeto.

No estoy seguro de si este es el comportamiento esperado, aunque me parece muy mal. Si alguien tiene alguna idea, lo apreciaría.

Respuestas a la pregunta(3)

Su respuesta a la pregunta