【发布时间】:2018-11-06 22:21:51
【问题描述】:
我有一个 xaml 页面,由 Grid 元素分割:
<Grid Style="{DynamicResource Key=MainGrid}" BackgroundColor="{DynamicResource Key=White}">
<Grid.RowDefinitions>
<RowDefinition Height="20*"></RowDefinition>
<RowDefinition Height="12*"></RowDefinition>
<RowDefinition Height="69*"></RowDefinition>
</Grid.RowDefinitions>
</Grid>
稍后我用两个标签填充第二个原始数据:
<StackLayout Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Spacing="10" Margin="{DynamicResource Key=ContentMargin}">
<Label Text="Text1" AutomationId="Text1"/>
<Label Text="Text2" AutomationId="Text2"/>
</StackLayout>
在应用程序的页面中显示两个标签,但我的问题是,测试自动机无法读取第二个文本。
如果我使用 Repl 并输入“树”命令,则根本不会读出第二个元素:
[Platform_DefaultRenderer]
[LabelRenderer] label: "Text1_Container"
[FormsTextView] id: "NoResourceEntry-18", label: "Text1", text: "Text1"
[Platform_DefaultRenderer]
如果我将第 2 行的高度增加 2%(并减去第 3 行的 2%),则这两个元素对于 UI 测试都是可见的。
为什么会这样?除了更改行高以读出“Text2”的内容外,我可以更改任何内容吗?
我的应用程序使用的是 android 8.1。
【问题讨论】:
标签: xaml xamarin xamarin.uitest