我们正在使用Appium构建测试自动化,我们需要为与之交互的元素添加唯一标识符。我们通过在XAML文件中添加AutomationId属性来实现这一点。
除工具栏项目外,此方法均正常运行。添加的AutomationId作为元素的content-desc不可见。
<core:AppBaseContentPage.ToolbarItems>
<ToolbarItem AutomationId="Button1" BindingContext="{Binding BindingContext, Source={x:Reference this}}" Parent="{x:Reference this}"
Text="{extensions:Translate Button1}"
Command="{Binding Button1Command}" />
这是预期的行为还是我错过了什么?
答案 0 :(得分:0)
ToolbarItems的AutomationId不起作用(至少在Android上如此),但是您可以使用text属性来识别它们。
<NavigationPage.ToolbarItems>
<controls:BindableToolbarItem
AutomationId="ToolbarButtonHelp"
Text="ToolbarButtonHelp"
Icon="help"
Priority="0"
Order="Primary"
IsVisible="{Binding ToolbarService.IsHelpVisible, Mode=TwoWay}"
Command="{Binding ToolbarService.HelpCommand}"/>
<controls:BindableToolbarItem
AutomationId="ToolbarButtonMenu"
Text="ToolbarButtonMenu"
Icon="quick_menu"
Priority="1"
Order="Primary"
IsVisible="{Binding ToolbarService.IsMenuVisible, Mode=TwoWay}"
Command="{Binding ToolbarService.MenuCommand}"/>
</NavigationPage.ToolbarItems>
Xamarin UI测试示例
this.app.WaitForNoElement("ToolbarButtonHelp");