在Xamarin Android UITest中是否有关闭和重新连接应用程序的方法?

在Xamarin Android UITest中是否有关闭和重新连接应用程序的方法?,xamarin,xamarin.uitest,Xamarin,Xamarin.uitest,有没有办法在Xamarin UITest中关闭并重新连接到我的应用程序 在我的测试用例中,我希望关闭并重新连接我的Android应用程序。这取决于你所说的“关闭”是什么意思,但这里有几种方法 在您的Xamarin.FormsAndroid应用程序的main活动中,添加一些UITest后门: [Export("HardExitBackdoor")] public void HardExitBackdoor() { Log.Info("UITest", "Finish"); Fini

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


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

这取决于你所说的“关闭”是什么意思,但这里有几种方法

在您的
Xamarin.Forms
Android应用程序的
main活动中,添加一些
UITest
后门:

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

[Export("BackgroundBackdoor")]
public void BackgroundBackdoor()
{
    Log.Info("UITest", "MoveTaskToBack");
    MoveTaskToBack(true);
}
现在在测试中,您可以“退出”应用程序并“重新启动”它:

要在Ruby/calabash android中调用此方法:

backdoor "HardExitBackdoor"

我的android应用程序不是使用Xamarin开发的,因此我无法在我的应用程序产品代码中编写上述函数(HardExitBackdoor)。我们不能单独使用test-FWK吗?@user3446142我在回答中添加了Java/Ruby示例,因为您没有使用C#感谢Sushil的更新。但我的应用程序是使用ScriptSharp开发的,我根本没有使用Xamarin(无论是C#还是葫芦)来开发我的应用程序。因此,我无法将上述代码添加到我的产品代码中。我想使用Xamarin UI测试FWK关闭并重新连接。您能帮我一下吗。@user3446142您需要询问“script sharp”开发人员如何退出他们的应用程序环境(假设它是一个web视图外壳),因为您不使用C#或Java。如果他们为此提供了一些导出的API,那么您应该能够通过C#/UITest(或Calabash/Ruby)后门调用来调用它。实际上,我可以在没有后门的情况下执行此操作,同时保持测试运行:
public class MainActivity extends Activity {
    ~~~~
    public void HardExitBackdoor() {
        Log.w(TAG, "finish");
        finish();
    }
    ~~~~
}
backdoor "HardExitBackdoor"