如何获取Xamarin UITests中listview项的计数

如何获取Xamarin UITests中listview项的计数,listview,xamarin,ui-testing,xamarin.uitest,Listview,Xamarin,Ui Testing,Xamarin.uitest,假设我有Xamarin应用程序和显示特定项列表的页面。 我想写一个UI测试,它将添加一些项,然后尝试计数它们 我有下一个列表视图: <ListView x:Name="ListView" Grid.Row="1" ItemsSource="{Binding Items, Mode=TwoWay}" HorizontalOptions="StartAndExpand" VerticalOptions="StartAndExpand" BackgroundColor

假设我有Xamarin应用程序和显示特定项列表的页面。 我想写一个UI测试,它将添加一些项,然后尝试计数它们

我有下一个列表视图:

<ListView x:Name="ListView" Grid.Row="1" ItemsSource="{Binding Items, Mode=TwoWay}" HorizontalOptions="StartAndExpand" VerticalOptions="StartAndExpand"
              BackgroundColor="Transparent" SeparatorVisibility="None" HasUnevenRows="false" Margin="20, 0">
        <ListView.ItemTemplate>
            <DataTemplate>
                    <ViewCell.View>
                        <Grid AutomationId="ListItem" VerticalOptions="FillAndExpand">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="1" />
                                <RowDefinition Height="*" />
                                <RowDefinition Height="1" />
                            </Grid.RowDefinitions>
                            <StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand" VerticalOptions="Center" HeightRequest="38" Grid.Row="1">
                                <!-- item's description -->
                            </StackLayout>          
                        </Grid>
                    </ViewCell.View>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
我想我必须将automationId添加到listview中,并以某种方式描述此listview中项目计数的检查。。但是我找不到任何关于如何执行的信息。。
先谢谢你

用类似的方法计算屏幕上显示的元素数很容易:

app.Query(x => x.Marked("ListView").Child()).Length
如果要计算所有元素,则应在中使用like

另一种解决方案是滚动以尝试在列表中查找元素(如果您想测试的不仅仅是元素创建,那么这很有用)

app.Query(x => x.Marked("ListView").Child()).Length