Xamarin Forms プロジェクト用の UITest スイートがあります。すべての AutomationId は XAML ファイルに存在し、iOS プロジェクトで正常に動作します。ただし、Android でテストを実行すると、AutomationId が存在しないため、テストが失敗します。
REPL とツリーを使用してダブルチェックし、各ビューの ID を検査しました
Xamarin Forms プロジェクト用の UITest スイートがあります。すべての AutomationId は XAML ファイルに存在し、iOS プロジェクトで正常に動作します。ただし、Android でテストを実行すると、AutomationId が存在しないため、テストが失敗します。
REPL とツリーを使用してダブルチェックし、各ビューの ID を検査しました
Android ネイティブ プロジェクトのAutomationId
のを初期化していますか?OnCreate
MainActivity
の後Xamarin.Forms.Forms.Init (this, bundle);
:
Xamarin.Forms.Forms.ViewInitialized += (object sender, Xamarin.Forms.ViewInitializedEventArgs e) => {
if (!string.IsNullOrWhiteSpace (e.View.AutomationId)) {
e.NativeView.ContentDescription = e.View.AutomationId;
}
};
Xamarin Forms を使用した Android アプリのビルドでは、オートメーション ID がcont-descに変換されます。テストには cont-desc を使用できます。