私がいくつかのテストを自動化しているアプリケーションの 1 つは、テキスト フィールド (UIA_TextControlTypeId(0xC364)) を初期化することであり、開発者はその内容と対応する名前を空白の "" として初期化するように設定しています。
実行時に、このテキスト フィールドをいくつかの文で更新しますが、inspect.exe または自分の AutomationElement オブジェクトでこの更新を確認できません。AutomationElement.Current.Name またはそのバリアント以外に「getText」する方法はありますか? AutomaitonElement で使用できる唯一のパターンは「IsLegacyIAccessiblePatternAvailable」であり、このパターンでさえ変更されない空白の Name および Help 属性を維持します。
UIAutomation の範囲内で、オブジェクトに表示されている現在の文字列を要求することはできませんか? これをアクセス可能にする別のコントロール パターンの追加を開発者に要求する必要がありますか? もしそうなら、どれですか?
理想的には、AutomationID が定義されているようなものを除いて、自動化が開発および設計プロセスに与える影響は最小限であるべきだと思います。この哲学自体に欠陥がありますか?