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

时间:2016-06-29 12:21:46

标签: xamarin xamarin.uitest

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

在我的测试用例中,我希望关闭并重新连接我的Android应用。

1 个答案:

答案 0 :(得分:2)

取决于“关闭”的含义,但这里有两种方式......

MainActivty Android应用的Xamarin.Forms中,添加一些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"