1

有没有办法在 Xamarin UITest 中关闭并重新连接到我的应用程序?

在我的测试用例中,我想关闭并重新连接我的 Android 应用程序。

4

1 回答 1

3

取决于您所说的“关闭”,但这里有几种方法......

MainActivty您的Xamarin.FormsAndroid 应用程序中,添加一些UITest后门:

[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 和 Calabash/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 回答