1

Xamarin Forms プロジェクトで UI テストをセットアップしようとしています。

こちらのガイドに従い、ユーザー名コントロールに StyleId を追加しました

<Entry x:Name="username_name" 
        StyleId="username_styleid"
        Text="{Binding Username, Mode=TwoWay}"
        IsEnabled="{Binding IsBusy, Converter={StaticResource ReverseBoolConverter}}"
        Style="{StaticResource TextboxLight}"
        Placeholder="{Binding UsernameLabel}" />

Android MainActivity にコードを追加しました

Forms.ViewInitialized += (sender, e) => {
    if (!string.IsNullOrWhiteSpace(e.View.StyleId))
    {
        e.NativeView.ContentDescription = e.View.StyleId;
    }
};

テストを実行して REPL を使用すると、StyleId が id プロパティではなく label プロパティとして出力されていることがわかります

ここに画像の説明を入力

誰かがこれを機能させることができましたか?

4

2 に答える 2

2

StyleId の使用は、まもなく 2.2.0 で廃止されます。

個人的にはまだ試していませんが、

AutomationId のサポート

Xamarin.Forms では、Xamarin UITest またはその他のテスト フレームワークで使用するオートメーション識別子を設定するためのファースト クラス サポートが提供されるようになりました。AutomationID プロパティを設定するだけで、オートメーション フレームワークがコントロールを見つけて操作できるようになります。

ただし、AutomationId が何に変換されるかはわかりませんが、うまくいけば ID です。

于 2016-04-18T06:18:34.730 に答える