3

しばらく前に書いた UIAutomation スクリプトで、しばらく実行していない奇妙な動作に気付きました。私の主張は失敗していました。掘り下げた後、UIAElement の を反復すると.elements()、サブ要素がそれ自体と等しくないように見えることがわかりました。

これは過去に期待どおりに機能しましたが、少なくとも XCode 4.3.2 では壊れているようです

再現するには:

  1. シングルビュー アプリを作成する
  2. ビューにいくつかの要素をスローし、要素にアクセシビリティ ラベルを設定して、UIAutomation によって取得されるようにします。
  3. 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);
    }
    
  4. el1とが同じオブジェクトを参照el2しているようには見えません。

これが予想される動作であるかどうかはわかりませんが、これは私には非常に当てはまらないようです。誰かが洞察を持っているなら、私はそれを感謝します。

4

3 に答える 3

0

これが役立つかどうかはわかりませんが、オブジェクトを比較するために === 演算子を試すことはできますか?

于 2012-11-09T09:59:30.117 に答える