Xamarin UIテストを実装しようとしているアプリケーションがあります。ログイン処理をバイパスするには、バックドアする必要があります。 私のバックドアメソッドはうまくいきます。Xamarin.UITestスプラッシュ画面のバックドア
[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/
Android用バックドアメソッドのガイドによると、 'object'型、文字列、Java.Lang.String、またはvoidのみを返すことはできません。 https://developer.xamarin.com/guides/testcloud/uitest/working-with/backdoors/を参照してください。バックドアから次のアクティビティを開始したくないですか?その場合は、リンク先のガイドに従ってください。 – jgoldberger
nevermind、made comment answer – jgoldberger
実際にはXamarinフォームアプリです。 Splash画面の後に起動するMainActivityを取得してXamarin.Applicationへの参照を取得し、ログインスタックを参照するナビゲーションスタックへの参照を取得する必要があります。 – David