有没有办法在Xamarin UITest中关闭并重新连接我的应用程序?
在我的测试用例中,我希望关闭并重新连接我的Android应用。
答案 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"