【问题标题】:Make Xamarin.Uitest Tap Hamburger Icon in drawerlayout toolbar在drawerlayout工具栏中制作Xamarin.Uitest Tap Hamburger Icon
【发布时间】:2018-10-02 22:49:12
【问题描述】:

我有一个在 Visual Studio 中运行的 xamarin.uitestApp,我想为一个使用抽屉布局进行导航的应用程序编写测试。

如何让 Xamarin.Uitest 点击抽屉布局工具栏中的汉堡图标?

我试过了:

app.WaitForElement(c => c.Marked("toolbar"));
app.Tap(c => c.Marked("toolbar"));

测试成功,但抽屉没有打开。

提前致谢。

【问题讨论】:

    标签: c# android xamarin uitest


    【解决方案1】:

    在 iOS 上,菜单按钮由应用程序绘制,因此您可以在 XAML 中或通过 AutomationId-property 在您的应用程序代码中为其分配一个automationId。

    在您的测试中,您可以使用app.Tap("yourAutomationId") 调用它

    在 Android 上,按钮由操作系统绘制,因此具有固定的自动化 ID,您无法更改。 AFAIK,id 始终是OK,因此您可以使用

    点击按钮
    app.Tap("OK")
    

    【讨论】:

    • 在 android app.Tap("OK") 上很简单。谢谢
    【解决方案2】:

    我最终使用类来打开抽屉

    app.Tap(c => c.Class("OverflowMenuButton"));
    

    【讨论】:

      【解决方案3】:

      尝试运行 repl 检查是否有任何 id 与您的导航抽屉关联。如果没有,您可以使用我提到的以下查询。

      app.Tap(x=>x.Class("NavigationDrawerClassNams"));

      希望对你有所帮助。

      【讨论】:

        【解决方案4】:

        这很简单。将 AutomationId 分配给您的汉堡菜单视图,无论是在 XAML 中还是在代码中。然后您可以使用您使用的相同代码点击它,只需将“工具栏”替换为您提供给 AutomationId 的任何名称。

        【讨论】:

        • 您好,请告诉我如何将 AutomationId 放置在 Burger 菜单视图中,
        • 放置 BurgerMenu 视图的位置相同。无论是在 xaml 还是代码中。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-16
        相关资源
        最近更新 更多