У меня есть приложение, в котором я пытаюсь включить тесты Xamarin UI. Мне нужно Backdoor приложение, чтобы обойти мой процесс входа в систему. My Backdoor метод срабатывает просто отлично.Xamarin.UITest Backdoor with Splash Screen
[Activity(Label = "AppName", Icon = "@drawable/icon", Theme = "@style/Theme.Splash", MainLauncher = true, NoHistory = true)]
public class SplashActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
StartActivity(typeof(MainActivity));
}
[Java.Interop.Export("BackDoor")]
public void BackDoor()
{
var myActivity = {Magic code to get reference to the the instance of MainActivity goes here}
}
}
Однако его обжиг в моем экране выплеска и мне нужно получить ссылку на мой фактический MainActivity не мой SplashActivity. Как получить ссылку на MainActivity в моем методе BackDoor?
Xamarin Backdoor Docs: https://developer.xamarin.com/recipes/testcloud/start-activity-with-backdoor/ https://developer.xamarin.com/guides/testcloud/uitest/working-with/backdoors/
В соответствии с руководством для бэкдор-метода для Android он не может возвращать тип 'object', только строка, Java.Lang.String или void. См. Https://developer.xamarin.com/guides/testcloud/uitest/working-with/backdoors/. Вы не хотите запускать следующую активность из бэкдора? Если да, просто следуйте руководству, которое вы связываете более подробно. – jgoldberger
nevermind, сделал комментарий ответ – jgoldberger
Его фактически приложение Xamarin Forms. Я должен получить MainActivity, который запускается после экрана Splash, чтобы получить ссылку на Xamarin.Application, чтобы получить ссылку на стек навигации, чтобы ввести логин. – David