Как запустить / отладить функциональность бэкдора в Xamarin.Forms.UITesting? - PullRequest
1 голос
/ 19 сентября 2019

Я пытаюсь добавить BackdoorMethod в приложение Xamarin.Forms, чтобы обойти этап входа в систему (IDP - открыт в браузере Chrome).У меня такое ощущение, что метод не срабатывает, но я не уверен, и я не знаю, как я могу в этом убедиться.

Я прочитал документацию здесь: https://docs.microsoft.com/en-us/appcenter/test-cloud/uitest/working-with-backdoors

Проверьте эту тему: https://forums.xamarin.com/discussion/85821/xamarin-uitest-backdoor-on-droid-with-splash-screen-how-do-i-access-my-mainactivity

Проверен этот пример: https://github.com/brminnick/UITestSampleApp/tree/master/Src

Вфайл MainActivity.cs , который я определил BackdoorMethod:

[Preserve, Export(nameof(BypassLoginScreen))]   
public string BypassLoginScreen()
{
  // some additional code here. the code is working, when I called it 
  // directly from OnCreate it was executed without any error
  return "called";
}

Из теста я пытаюсь вызвать его следующим образом:

public constructorMethod(Platform platform) 
{
  this.platform = platform;
  app = AppInitializer.StartApp(platform);
  var result = app.Invoke("BypassLoginScreen"); // result == "<VOID>"
}

IЯ не получаю никакого сообщения об ошибке, метод просто не вызывается или не возвращает ничего.(или я не знаю, что там происходит с ним, потому что точка останова также не работает, так как приложение запускается с устройства)

...