1

Xamarin UITest でアプリを閉じて再接続する方法はありますか?

私のテスト ケースでは、Android アプリを閉じて再接続します。

4

1 に答える 1

3

「閉じる」の意味にもよりますが、いくつかの方法があります...

Android アプリのに、いくつかのバックドアを追加MainActivtyします。Xamarin.FormsUITest

[Export("HardExitBackdoor")]
public void HardExitBackdoor()
{
    Log.Info("UITest", "Finish");
    Finish();
}

[Export("BackgroundBackdoor")]
public void BackgroundBackdoor()
{
    Log.Info("UITest", "MoveTaskToBack");
    MoveTaskToBack(true);
}

テストで、アプリを「終了」して「再起動」できます。

[Test]
public void HardRestartApp()
{
    app.Invoke("HardExitBackdoor");
    BeforeEachTest();
    WelcomeTextIsDisplayed();
}

[Test]
public void BackgroundedApp()
{
    app.Invoke("BackgroundBackdoor");
    BeforeEachTest();
    WelcomeTextIsDisplayed();
}

[Test]
public void SoftRestartApp()
{
    for (var i = 0; i < 10; i++)
        app.Back();
    BeforeEachTest();
    WelcomeTextIsDisplayed();
}

アップデート:

Android/Java およびひょうたん/Ruby

public class MainActivity extends Activity {
    ~~~~
    public void HardExitBackdoor() {
        Log.w(TAG, "finish");
        finish();
    }
    ~~~~
}

Ruby/calabash-android でこのメソッドを呼び出すには:

backdoor "HardExitBackdoor"
于 2016-06-29T16:52:19.573 に答える