如何获取NavigationService并从后门方法导航?

时间:2018-10-20 07:17:02

标签: xamarin.forms prism xamarin.uitest

我正在尝试从后门导航,以便在运行UITest时可以绕过某个屏幕。

这是我的代码:

AppDelegate.cs

[Export("bypassInitialGuidePage:")]
public NSString BypassInitialGuidePage(NSString noValue)
{
    BackdoorHelpers.BypassInitialGuidePage();
    return new NSString();
}

MainActivity.cs

[Export("BypassInitialGuidePage")]
public void BypassInitialGuidePage() => BackdoorHelpers.BypassInitialGuidePage();

BackdoorHelpers.cs

public static class BackdoorHelpers
{
#if DEBUG
    public static void BypassInitialGuidePage() 
    {
        new SettingsService().InitialGuideDone = true;

        // Add navigation logic here

    }
#endif
}

已成功从测试中调用BypassInitialGuidePage()方法。但是,我在获取NavigationService方面需要帮助,因此可以离开当前页面。

我正在使用Prism.Forms v7.1.0.431,并且已经尝试过https://github.com/PrismLibrary/Prism/issues/1032中的解决方案,但是它们不适用于最新版本。

0 个答案:

没有答案