アサーションが生成されずに動作するようにUIPickerViewを含むビューコントローラのXCUITestを取得できない状況に遭遇しました。アサーションの原因となる問題は、XCUITestで使用されるアクセシビリティ機能によって、ピッカー値のそれぞれに偽の「1のn」が追加されていることが明らかです。この1行のような単純なadjustToPickerWheelValueを使用したXCUITest:&& viewForRow:デリゲートの結果がアサーション
何かがテスト
[app.pickers.pickerWheels.element adjustToPickerWheelValue:@"ANYVALUE"];
の間に主張するだろう。これはまさに私の問題だったCannot use UI Testing to adjust pickerView which uses a view-based delegate
をこれはXcodeの持つ既知のバグであることが判明し、オープンレーダーがあります私はviewForRow:delegateを使用して、ピッカー値で属性付きの文字列を使用します。代わりに、titleForRow:delegateを使用しても問題は発生しません。
私はアクセシビリティ情報を手動で設定することでこれを回避しようとしましたが、役に立たないものです。
私はtitleForRow:delegateの使用を検討することはできません。
しかし、ジレンマは、他のクライアントの要件としてすべてのビューの完全なXCUITestを配信することもできます。
実行可能な回避策はありますか?