0

Xamarin.Forms アプリを作成していて、UITest を使用してビューの正しい動作をテストしたいと考えています。ビューは、ボタンのクリックなどのユーザー入力に反応するだけではありません。代わりに、この時点で 1 つの要素を非表示にして別の要素を表示するなど、ビューの変更につながるバックグラウンド操作があります。もう 1 つの例は、バックグラウンド操作によって生成される要素で ListView を埋めることです。これらの変更は、プロパティがビューにバインドされているビューモデルで行われます。ここで、バックグラウンド操作をシミュレートし、View が正しく動作することをテストしたいと考えています。ただし、Test クラスで Xamarin.Forms を参照できないため、UITest プロジェクトで ViewModel を操作することはできません。この方法でアプリケーションをテストすることを意図していないようです。アプリ全体は UITest のブラック ボックスであり、マウスとキーボードの入力によってのみ操作できます。アプリの内部、対応する ViewModel などにアクセスするにはどうすればよいですか。私はすでにこの問題を検索しましたが、何も見つかりませんでした。多分私は間違った方向に探しています。どんな助けでも大歓迎です。

4

2 に答える 2

0

iOS では、それを実現するための というメソッドがすでに用意されていますSendAppToBackgroundTimeSpanオブジェクト(wiki 情報)を使用してバックグラウンドで時間を過ごすこともできます。ただし、Android ではこれを実現できません。

UITest プロジェクトで使用するサンプルを次に示します。

public void SendAppToBackground(IApp app, TimeSpan timeSpan)
{
    if (OnAndroid)
    {
        return;
    }

    ((iOSApp)app).SendAppToBackground(timeSpan);

    app.Screenshot("Return from background state.");

    return this;
}
于 2019-05-28T11:43:15.683 に答える