Xamarin UI テストを配置しようとしているアプリケーションがあります。ログイン プロセスをバイパスするには、アプリをバックドアする必要があります。バックドア メソッドは正常に起動します。
[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}
}
}
ただし、スプラッシュ画面で起動するため、SplashActivity ではなく、実際の MainActivity への参照を取得する必要があります。BackDoor メソッドで MainActivity への参照を取得するにはどうすればよいですか?
Xamarin バックドア ドキュメント: https://developer.xamarin.com/recipes/testcloud/start-activity-with-backdoor/ https://developer.xamarin.com/guides/testcloud/uitest/working-with/backdoors/